Strings im Quellcode verschleiern oder ähnliches
-
https://de.wikipedia.org/wiki/Selbstmodifizierender_Code wäre ein Ansatz.
Das musst du dann mit inline assembler machen (falls es nicht sogar nur in einem reinen asm Programm machbar ist).
Hab die genaue Vorgehensweise nach 30 Jahren leider vergessen.
-
Oha, da habe ich das falsch geschrieben. Ich meinte natürlich in der Binary und nicht im Quellcode, Entschuldigung. @icarus2
-
Wenn du es so machst wie ich es beschrieben habe, sollten die Strings auch "verschlüsselt" im binary landen.
Jedoch natürlich sehr leicht zu reversen..
-
@icarus2: Habe gerade UPX getestet. DANKE! Das ist genau das was ich gebraucht habe.
-
Dir ist aber schon bewusst, dass man UPX-Verpackung einfach wieder entfernen kann?
-
.. und dass manche AntiViren das gar nicht mögen.
-
eXc schrieb:
@icarus2: Habe gerade UPX getestet. DANKE! Das ist genau das was ich gebraucht habe.
Wohl kaum. Mal davon abgesehen, dass man das mit UPX selbst auch wieder entpacken kann, liegt das Binary zur Laufzeit sowieso entpackt im Speicher und ich kann mich da nach Belieben umsehen.
Wenn ich so etwas mache, dann setze ich einen obfuscated String zeichenweise zusammen und rechne ihn ebenso zurück (volatile benutzen wenn der Compiler zu gut optimiert). Vorteil: es landet nichts, auch kein verräterischer obfuscated String im Data-Segment. Damit beschäftigt man die Leute dann durchaus etwas länger.
Trotzdem sollte dir klar sein, dass das noch von einem Zehnjährigen geknackt werden kann. Egal wie clever du dich anstellst: gerade wenn du den String an irgendeine externe Systemfunktion übergeben musst, geht kein Weg daran vorbei, dass der String irgendwann zusammenhängend und unverschlüsselt im Speicher steht. Dahin setzt der Zehnjährige den Breakpoint und du hast verloren.
-
Da braucht's dann halt nen dickeren Protector.
-
Hi schrieb:
Da braucht's dann halt nen dickeren Protector.
Auch Themida wurde schon vor Jahren reversed. Da musst du dich nur in den einschlägigen reversing-Foren umsehen.
-
EOP schrieb:
Auch Themida wurde schon vor Jahren reversed. Da musst du dich nur in den einschlägigen reversing-Foren umsehen.
Updates machen in der Regel die aktuellen bypasses zunichte.
Ist natürlich ein ewiger Kampf Trotzdem finde ich es einer der besten Protektoren. Im Endeffekt kann jeder Schutz umgangen werden, denn die .exe muss ja schließlich am eigenen Computer laufen, und das im "Klartext" (mehr oder weniger, zumindest nicht zugleich).