Versteh ich nicht oO. Könntest du das mal genauer erklären?
Sry wegen dem Collectors Account! Vielleicht ist ja jemand so nett und stellt mir n Premium Acc zur Verfügung, da meiner gestern abgelaufen ist. Aber keinen gestealten Shit, wenns geht!
Druckbare Version
Ich hab ihn mal auf meinem geuppt Dizzy ;)
ähm wie wäres mit collectors acc erstellen? hochladen kann man damit auch.
zu der trashcode sache:ne Messagebox brauch ja 4 parameter(hwnd,text,titel,knopftyp). wenn man sie jetzt mit nur 3 parametern aufruft (ka wie das in ASM geht. ich hab mit c++ angefangen damit ich nie nie nie so sachen wie MOV eax,666 machen muss) gibbet einen fehler. evt exception handling in ASM und dat passt. der emulator wird wahrscheinlich als sinnvolle aktionen schlucken.
War nur so ne idee für etwas fortgeschrittenen junkcode
Ein fehlerhafter Junkcode also?
Denke mal nicht, dass soetwas klappt.
Denn der Emulator müsste sofern misstrauisch werden wenn ein Code innerhalb des Emulators abbricht ;)
deswegen exception.
Wenn du nur 3 Parameter statt 4 auf den Stack legst, muss es nicht unbedingt zu einer Exception kommen. Um eine Exception auszulösen, gibt es weit bessere und einfachere wege.
Bsp:
Da es die Adresse 00000000 nicht gibt, kommt es zu einer Exception.Code:xor eax,eax
mov dword ptr[eax],eax
Allerdings interessiert das den Emulator nicht. ;)
Wenn der Exception Handling nicht unterstützen würde, würden ja sehr viele Apps garnicht emuliert werden können.
Was man eventuell versuchen könnte, wäre der Int2d Trick. Ich weiß nicht ob BitDefender das schon Implementiert hat. (Aber EBFE weiß das bestimmt ;))
Naja, ich würde eher sagen, dass int 2d und andere "Erkennugsmethoden" verdächtig wären ;). Afaik werden auch zu viele simple "Sinnlosbefehle" am Stück (NOPs, XCHG, MOV REGX,REGX, PUSH+POP) heuristisch angezweifelt. Allerdings sind das wiederum Infos aus zweiter Hand.
Interrupt 0x2d ist schon etwas länger bekannt, mich würde es ziemlich wundern, wären die Emulatoren da nicht up-to-date. Bezogen auf EBFE's Post: Letzteres habe ich auch schon erlebt.
Denkbar wäre auch, dass eine Entropy zum Einsatz kommt, bei Junkcode, der viele Junkbytes enthält. Wenn man diese als Daten wertet, kommt man für ein Codestück auf einen erheblich ungewöhnlichen Entropy-Wert. Ebenso denkbar für die Erkennung von Junkcode wäre die Ablaufverfolgung. So kann man sehr schön Schleifen erkennen und - im Falle von Junkcode mit vielen Basic Blocks - auch eben diesen.
Eine Frage noch,
wo kriegt man diesen Commandoscanner her?
Finde nix oÔ'
Jop hab das Tutorial erst heute entdeckt und ist ein wirklich einfacher Trick, welcher auch logisch nachzuvollziehen ist, erklärt hast du es gut. Das mit der Emulationszeit wusste ich noch gar nicht...