AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Weihnachtsraetsel - Code für Programm gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Weihnachtsraetsel - Code für Programm gesucht

Ein Thema von hathor · begonnen am 26. Dez 2014 · letzter Beitrag vom 28. Dez 2014
Antwort Antwort
Seite 2 von 3     12 3      
hathor
(Gast)

n/a Beiträge
 
#11

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 11:45
Hi,

die Warnung kommt wohl möglich von der UPX gepackten Exe.
Sehr wahrscheinlich.

Die Generierung des Sounds ist höchstwahrscheinlich mit Windows.Beep() *
Richtig.
gemacht worden,
was ziemlich unglücklich ist da heutige PC's meist nicht mehr über einen PC-Speaker verfügen und je
nach System die Ausgabe des Sounds das Soundboard übernimmt, wenn es so eingestellt ist und oder unterstütz wird.
Das ist von Mainboard zu Mainboard auch unterschiedlich umgesetzt. (von meiner "Soundkarte*" ein Beispiel im Anhang)

Das Programm von hathor erzeugt die Töne scheinbar mit einer Sinus.- (& Co) - Funktion.
Falsch.

Direkter Port-Zugriff: Falsch.
...
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#12

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 12:32
Ein Musikalisches Gehör habe ich nicht, aber ein paar Tools, die mich dem org. Quelltext sehr nah bringen...

Betagtes UPX und Standard-Delphi sind da ja kein Hindernis:
https://code.google.com/p/fuu/
http://www.oocities.org/r_etarded/ol.../ollydump.html
...

Jetzt noch sowas aus dieser Richtung:
http://kpnc.org/idr32/en/
https://tuts4you.com/download.php?view.2867
...

Da kommt was mit Thread, BEEP und Sleep:
Ich habe es lange nicht mehr probiert, ob "Beep" sofort zurückkommt, oder erst nach der in "Duration" angegebenen Zeit.

BOOL WINAPI Beep(
_In_ DWORD dwFreq,
_In_ DWORD dwDuration
);

Das Erzeugen der Tonfolge kann sich mit "solchen und ähnlichen Tools" jeder selbst anschauen und decodieren.
(Ein Blick in den Task-/Prozessmonitor mit Anzeige der genutzten Handles und Threads schadet bei sowas auch nie.)



Man beachte:
- die genannten sind hier alles noch ganz liebe Tools, welche nicht explizit zum Cracken oder Umgehen von Kopierschutz mit Debug-Sperren usw. gemacht wurden!
- und sorry, im Zeitalter von schnellem INET und großen schnellen Festplatten ist UPX und dergleichen eigentlich unnötig und wer es dennoch einsetzt "verlangt" gerade das Überprüfen von dem was er da tut
- ich halte daher das Wissen um den sinnvollen Einsatz solcher Tools für richtig, und hier findet man wenn man will sogar auf "alternativen Weg" die Lösung des Rätsels
  Mit Zitat antworten Zitat
Horst0815

Registriert seit: 23. Mai 2011
Ort: Görlitz
150 Beiträge
 
Delphi XE Starter
 
#13

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 13:07
http://www.delphipraxis.net/152849-w...ndows-7-a.html

+


Delphi-Quellcode:
  Beep($960, $64);
  Beep($898, $64);
  Beep($7D0, $64);
  Beep($708, $64);
  Beep($640, $64);
  Beep($578, $64);
  Beep($4B0, $64);
  Beep($3E8, $64);
  Beep($320, $64);
  Beep($258, $64);
  Beep($190, $64);
  Beep($C8, $64);
  Beep($64, $64);
  Beep($32, $64);
  Beep($64, $64);
  Beep($C8, $64);
  Beep($190, $64);
  Beep($258, $64);
  Beep($320, $64);
  Beep($3E8, $64);
  Beep($4B0, $64);
  Beep($578, $64);
  Beep($640, $64);
  Beep($708, $64);
  Beep($7D0, $64);
  Beep($898, $64);
  Beep($960, $64);
und
Delphi-Quellcode:
  Beep($32, $64);
  Beep($64, $64);
  Beep($C8, $64);
  Beep($190, $64);
  Beep($258, $64);
  Beep($320, $64);
  Beep($3E8, $64);
  Beep($4B0, $64);
  Beep($578, $64);
  Beep($640, $64);
  Beep($708, $64);
  Beep($7D0, $64);
  Beep($898, $64);
  Beep($960, $64);

Geändert von Horst0815 (27. Dez 2014 um 13:18 Uhr)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#14

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 13:37
Wegen UPX: Die Debug-Exe ist 11250KB gross!

Horst0815 kommt der Sache schon sehr nahe - deshalb hier die Auflösung:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function BeepThread: DWORD; stdcall;
begin
  result := 0;
  Winapi.Windows.Beep(50, 100);
  Winapi.Windows.Beep(100, 100);
  Winapi.Windows.Beep(200, 100);
  Winapi.Windows.Beep(400, 100);
  Winapi.Windows.Beep(600, 100);
  Winapi.Windows.Beep(800, 100);
  Winapi.Windows.Beep(1000, 100);
  Winapi.Windows.Beep(1200, 100);
  Winapi.Windows.Beep(1400, 100);
  Winapi.Windows.Beep(1600, 100);
  Winapi.Windows.Beep(1800, 100);
  Winapi.Windows.Beep(2000, 100);
  Winapi.Windows.Beep(2200, 100);
  Winapi.Windows.Beep(2400, 100);
end;

function BeepThread2: DWORD; stdcall;
begin
  result := 0;
  Winapi.Windows.Beep(2400, 100);
  Winapi.Windows.Beep(2200, 100);
  Winapi.Windows.Beep(2000, 100);
  Winapi.Windows.Beep(1800, 100);
  Winapi.Windows.Beep(1600, 100);
  Winapi.Windows.Beep(1400, 100);
  Winapi.Windows.Beep(1200, 100);
  Winapi.Windows.Beep(1000, 100);
  Winapi.Windows.Beep(800, 100);
  Winapi.Windows.Beep(600, 100);
  Winapi.Windows.Beep(400, 100);
  Winapi.Windows.Beep(200, 100);
  Winapi.Windows.Beep(100, 100);
  Winapi.Windows.Beep(50, 100);
  Winapi.Windows.Beep(100, 100);
  Winapi.Windows.Beep(200, 100);
  Winapi.Windows.Beep(400, 100);
  Winapi.Windows.Beep(600, 100);
  Winapi.Windows.Beep(800, 100);
  Winapi.Windows.Beep(1000, 100);
  Winapi.Windows.Beep(1200, 100);
  Winapi.Windows.Beep(1400, 100);
  Winapi.Windows.Beep(1600, 100);
  Winapi.Windows.Beep(1800, 100);
  Winapi.Windows.Beep(2000, 100);
  Winapi.Windows.Beep(2200, 100);
  Winapi.Windows.Beep(2400, 100);
end;

procedure TForm1.Button1Click(Sender: TObject);
var tID : Cardinal;
begin
CreateThread(nil, 0, @BeepThread2, NIL, 0, tID);
CreateThread(nil, 0, @BeepThread, NIL, 0, tID);
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 13:58
Wegen UPX: Die Debug-Exe ist 11250KB gross!
Wäre dann nicht der erste Schritt keine Debug-Infos mitzuliefern? Oder sollte damit die Lösung einfacher werden?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#16

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 14:09
Die Release-Build, die mit UPX bearbeitet worden ist, war auch noch sehr gross -> 2229KB.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 14:14
Die Release-Build, die mit UPX bearbeitet worden ist, war auch noch sehr gross -> 2229KB.
Und was hat UPX für einen unterschied gebracht das man die Exe eh noch Zipped?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#18

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 14:22
Exe-Files kann man manchmal nicht direkt up-/downloaden.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#19

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 18:24
Die Release-Build, die mit UPX bearbeitet worden ist, war auch noch sehr gross -> 2229KB.
Autsch...

Ich mag mein Delphi6, keine Schnickschnack, kein Komfort aber schnittige kleine Programme.


PS.:
Nein, das Programm enthälet keinen Virus oder Malware. Falls euer Virenscanner darauf anspringen sollte liegt
es vermutlich daran, das einige Scanner mit Heuristik anspringen...
https://www.virustotal.com/de/file/3...c338/analysis/
Angehängte Dateien
Dateityp: zip SoundMe.Exe.And.Source.zip (11,0 KB, 7x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#20

AW: Weihnachtsraetsel - Code für Programm gesucht

  Alt 27. Dez 2014, 19:51
Im CallStack findet man intern im Beep irgendwo auch noch ein Sleep für die Duration, aber der Delphi/WinAPI Code passt.

Debug-Infos hin oder her, UPX hin oder her, solche Sachen sind purer Spaß. Für ein Rätsel OK, aber wenn es drauf ankommt dann greife man doch bitte zu professionellen Sachen.
Mir wäre bei UPX und anderen "PE" Tools das Risiko einer potentiellen Infektionswarung durch irgendeinen Virusschutz bei den Anwendern zu groß.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz