Was soll dieser Code?
-
Moin,
ich versuche gerade mein VST-Plugin zu debuggen und hänge deshalb mein Visual C++ an den VST-Host. Da ich vermute, dass mein Plugin bei Fremdplugins interferiert (nicht richtig aufräumt etc.) habe ich ein fremdes Plugin gestartet, welches auch ohne mein Plugin immer dann abstürzt, wenn ich VC++ mit dem Host verbinde. Das Interessante daran ist die Disassemblierung, die mir VC++ anzeigt. Der fragliche Teil sieht so aus:
0CF9CBFC xor eax,eax 0CF9CBFE mov dword ptr [eax],ecx
Das ist doch programmiert, um eine Access-Violation auszulösen, oder?
Ist das eine Art Schutz vor neugierigen Augen, die mit Hilfe von VC++ oder ähnlicher Software in die Funktionsweise des Codes schauen wollen?
Wenn das fremde Plugin solche Zeilen beinhaltet, kann es dann auch die Funktion meines Plugins beeinflussen?Vielen Dank
Sören
-
soerenP schrieb:
Moin,
ich versuche gerade mein VST-Plugin zu debuggen und hänge deshalb mein Visual C++ an den VST-Host. Da ich vermute, dass mein Plugin bei Fremdplugins interferiert (nicht richtig aufräumt etc.) habe ich ein fremdes Plugin gestartet, welches auch ohne mein Plugin immer dann abstürzt, wenn ich VC++ mit dem Host verbinde. Das Interessante daran ist die Disassemblierung, die mir VC++ anzeigt. Der fragliche Teil sieht so aus:
0CF9CBFC xor eax,eax 0CF9CBFE mov dword ptr [eax],ecx
Das ist doch programmiert, um eine Access-Violation auszulösen, oder?
Ist das eine Art Schutz vor neugierigen Augen, die mit Hilfe von VC++ oder ähnlicher Software in die Funktionsweise des Codes schauen wollen?
Wenn das fremde Plugin solche Zeilen beinhaltet, kann es dann auch die Funktion meines Plugins beeinflussen?Vielen Dank
SörenJa, das ist dort eingebaut um sich vor neugierigen Blicken zu schützen. Du könntest es mit einem anderen Debugger versuchen wie OllyDbg, oder WinDbg, eventuell hast du Glück und es ist keine Routine eingebaut die diese aufspürt.
Ansonsten kannst du auch schon weiter vorne im Code anfangen zu debuggen und schauen wo er verzweigt und ggf. dann den ISP von Hand auf die richtige Adresse setzen.