![]() |
Weihnachtsraetsel - Code für Programm gesucht
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ist ein Mini-Programm, das nichts anderes macht ausser Töne.
Die Aufgabe ist nun, herauszufinden, welcher DELPHI-Code dahinter steckt. Ihr habt 72 Stunden Zeit - ab jetzt: 26.12.2014 17.30 Uhr. Nachtrag: XE7, WIN8.1 : Bei mir geht's! Bei einem Netbook (< 1GHz im Akku-Betrieb), wIN8.0 hört man was, aber das Timing stimmt nicht: es hört sich grässlich an! |
AW: Weihnachtsraetsel - Code für Programm gesucht
Moin,
Zitat:
Gruß HEiko |
AW: Weihnachtsraetsel - Code für Programm gesucht
XE7, WIN8.1 : Bei mir geht's!
|
AW: Weihnachtsraetsel - Code für Programm gesucht
bei mir meldet sich beim Ausführen gleich Windows mit dem Hinweis:
Zitat:
|
AW: Weihnachtsraetsel - Code für Programm gesucht
in anderen Foren nennt man sowas "HackMe"...
na gut, wenn ich ganz viel Zeit habe und morgen Vormittag nix anderes groß auf dem Schreibtisch ist, lasse ich mal in ein paar passende Tools darauf los. Erstmal sehen ob da wirklich nur Töne produziert werden. (Nur nebenbei zum Spaß ist mir der Aufwand dann bei EXE Packer und RAM DLL's etwas zu hoch.) |
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
Man soll einfach mit DELPHI-Code die Töne nachbilden. Irgend jemand mit musikalischem Gehör wird sicher das Rätsel lösen. Es werden NUR WINDOWS-Routinen verwendet. Es gibt KEINE eingebettete Resource mit Tönen. Es gibt KEINE Timer. Die Smartscreen-Warnung lässt das Starten trotzdem zu. Was ist Smartscreen? Smartscreen überprüft jede Anwendung, die Sie aus dem Internet laden. Sobald Sie ein Programm aus dem Internet oder dessen Installationsroutine starten, sammelt Smartscreen einen Satz an Informationen über das Programm. Diese Daten sendet Smartscreen an einen Server von Microsoft. Der Server sendet als Rückmeldung, ob eine Anwendung sicher ist oder nicht. Wenn eine Anwendung als unsicher eingestuft ist, dann erhalten Sie in Windows 8 vor dem Ausführen der Software einen Warnhinweis . Die Umsetzung des Warnhinweises ist jedoch etwas unglücklich: So bietet er scheinbar keine Möglichkeit, eine als unsicher eingestufte Software dennoch zu starten. Erst ein Klick auf „Weitere Informationen“ blendet die Schaltfläche „Trotzdem starten“ ein. |
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
Ich hatte bisher nur einmal damit zu tun als ich einen Installer (aus bekannter Quelle) starten wollte. Hier hat SmartScreen den Start der Exe verhindert da die Exe korrupt war (Signierte Exe mit defekter Signatur). Nachdem der Hersteller die Exe neu bereit gestellt hat klappte es. Damit wäre aber auch bei signierter Exe ein Infektion währen des Downloads erkannt worden. |
AW: Weihnachtsraetsel - Code für Programm gesucht
Danke für den Hinweis.
Auf dem eigenen Notebook erscheint diese Smartscreen-Warnung natürlich nicht. Ich habe oben einen Hinweis hinzugefügt. |
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
![]() |
AW: Weihnachtsraetsel - Code für Programm gesucht
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
die Warnung kommt wohl möglich von der UPX gepackten Exe. Die Generierung des Sounds ist höchstwahrscheinlich mit
Delphi-Quellcode:
* gemacht worden,
Windows.Beep()
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. *Soundkarte - bei mir Audiosystem des Mainboards *
Delphi-Quellcode:
- geht auch über direktes ansprechen der Ports etc.
Windows.Beep()
|
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
|
AW: Weihnachtsraetsel - Code für Programm gesucht
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: ![]() ![]() ... Jetzt noch sowas aus dieser Richtung: ![]() ![]() ... 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:) |
AW: Weihnachtsraetsel - Code für Programm gesucht
![]() +
Delphi-Quellcode:
und
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);
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); |
AW: Weihnachtsraetsel - Code für Programm gesucht
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. |
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
|
AW: Weihnachtsraetsel - Code für Programm gesucht
Die Release-Build, die mit UPX bearbeitet worden ist, war auch noch sehr gross -> 2229KB.
|
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
|
AW: Weihnachtsraetsel - Code für Programm gesucht
Exe-Files kann man manchmal nicht direkt up-/downloaden.
|
AW: Weihnachtsraetsel - Code für Programm gesucht
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ich mag mein Delphi6, keine Schnickschnack, kein Komfort aber schnittige kleine Programme. :stupid: 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... ![]() |
AW: Weihnachtsraetsel - Code für Programm gesucht
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ß. |
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
Aber um wieviel kleiner ist die Zip-Datei wenn du sie erst mit UPX packst? Ob nun die Exe auf der Festplatte 2 oder 3 MB einnimmt ist egal |
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
Und mit 2 Optinen/Compilerschalter bekommt man die Exe noch kleiner. |
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
unt Speicherplatz kostett nun wirtlich nicth mehr fiel. scheiss kleine Programe. Das kurbeld nicht die Wirtschaf an!! es nacht der festplatte überhautnichts aus, wenn eine Depug-Exe 20 MB oder meer hat. STRG+F9,STRG+F9,STRG+F9,STRG+F9,STRG+F9,STRG+F9,ST RG+F9,STRG+F9,STRG+F9,
Code:
;D
|
AW: Weihnachtsraetsel - Code für Programm gesucht
Zitat:
Erwähnte hier kürzlich jemand das Wort "Orthographie"? :mrgreen: Ernsthaft, ich habe keine Ahnung, was uns dieser Beitrag sagen möchte. |
AW: Weihnachtsraetsel - Code für Programm gesucht
Das ist die Erläuterung der
Zitat:
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz