Demo-Rauschen "entfernen/umgehen"

Hallo,

ich interessiere mich für Programmierung, Analyse und Co.
Ab und an bin ich schon einmal auf kuriose Sachen gestoßen und habe hier und da schon ein paar Probleme gelöst. Dennoch bin ich ein Anfänger und wollte gleich einmal ein paar Fragen in den Raum werfen:

Ihr kennt ja sicherlich Software und/oder PlugIns, welche im Demo-Mode alle paar Sekunden oder jede Minute (Intervall hängt von der Software ab) ein "Rauschen/Noise" von sich geben und/oder den Audioausgang vom PlugIn für ein paar Sekunden "stumm" schalten. Da gibt es ja unzählige Varianten und v.a. Möglichkeiten. Vorab interessiert mich erst einmal dieses "Rauschen".

Mit OllyDBG, Sice, WDASM, IDAPro und Co. hatte ich ja schon einmal zu tun und habe mir andere Programme angeschaut. Allerdings andere Programme und andere "Probleme". Dieses "Rauschen" und v.a. wo/wie dies abgefragt wird, ist mir eben fraglich.

Dazu habe ich mir einmal die Demoversion von "Adventus" (Softplug) geladen. Bei dieser Art "VSTi-PlugIn" (.dll) erscheint konstant nach ca. 8 Sekunden ein kurzes Rauschen. Daher ist mein Denkansatz folgender:
Der Intervall ist also festgelegt. Demnach muss doch irgendwo im Code ein fester Intervall geschrieben stehen. Nur wo? Zum anderen muss dies ja auch stets überprüft werden. Nur wo?

Ich habe mir nun einmal den Code in OllyDbg betrachtet, aber so nichts auffälliges oder Hinweise gesehen. Gut, ein geschultes Auge wird hier sicherlich mehr "erkennen". Da ich eben erst einmal "selbst" lernen und schauen möchte, wollte ich eben vorab einen kleinen Tipp erhalten, wonach ich denn suchen muss. Hatte bei "Timer" und "GetTickCount" schon geschaut, aber auch hier bin ich nach und während diesen "8 Sekunden" nicht fündig geworden. Demnach habe ich entweder "falsch" geschaut oder dies wird anders abgefragt.

Vor x Monaten hatte ich einmal ein "anderes" Programm und dort ging es bzw. hatte ich dies gefunden. Aber fragt mich jetzt nicht nach Name und Größe. Ich kann mich nicht mehr daran erinnern. Jetzt wollte ich dies einmal mit oben genannter Software versuchen.

Ja, wer hat hier eine Idee bzw. kann Hilfestellung geben.
Sicher ist, dass während des Intervalls ja die Abfrage umgangen und/oder gesprungen/nicht gesprungen wird. Wenn dann Zeitabfolge x eintritt, dann tritt eben auch Ereignis x ein und das "Rauschen" kommt.

Tja, würde jetzt auch gerne einmal alle JNZ, JMP, JE usw. als "Breakpoint" markieren, um genau dann zu prüfen. Allerdings ist dies per Hand ein DING der UNMÖGLICHKEIT.


Danke
 
Ich habe mir nun einmal den Code in OllyDbg betrachtet, aber so nichts auffälliges oder Hinweise gesehen. Gut, ein geschultes Auge wird hier sicherlich mehr "erkennen". Da ich eben erst einmal "selbst" lernen und schauen möchte, wollte ich eben vorab einen kleinen Tipp erhalten, wonach ich denn suchen muss. Hatte bei "Timer" und "GetTickCount" schon geschaut, aber auch hier bin ich nach und während diesen "8 Sekunden" nicht fündig geworden. Demnach habe ich entweder "falsch" geschaut oder dies wird anders abgefragt.

Vielleicht wird die Funktionalität (wie z.B. auch im WinRar-Popup) über die SetTimer-Funktion aus der user32.dll realisiert, die folgende Signatur besitzt:

Code:
UINT_PTR WINAPI SetTimer(
  __in_opt  HWND hWnd,
  __in      UINT_PTR nIDEvent,
  __in      UINT uElapse,
  __in_opt  TIMERPROC lpTimerFunc
);

Interessant ist dabei uElapse, dessen Wert hierbei ungefähr den 8 sekunden bzw. dem vermuteten Intervall entsprechen müsste. Der letzte parameter enthält die Funktion, die nach dem Ablaufen der Zeit aufgerufen wird.

Vielleicht hilfts ja...
 
Hallo Born2Pwn,

Danke für den "Ansatz". Daran hatte ich so gar nicht mehr gedacht.
Muss ich gleich einmal abchecken. Danke.
 
Hallo Born2Pwn,

ich habe es bis jetzt "versucht" und komme leider nicht weiter.
Mit der user32.dll hat es vermutlich nichts zu tun.
Zumindest konnte ich da nicht ansetzen.

Ja, nun benötige ich Hilfe, um dieses Rauschen zu entfernen.
Zumindest interessiert mich das "wie wurde dies gemacht?".

Danke
 
Zurück
Oben