Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Simpler PE-Crypter (https://www.delphipraxis.net/129498-simpler-pe-crypter.html)

himitsu 29. Jun 2011 00:20

AW: Simpler PE-Crypter
 
Zitat:

Zitat von Xen (Beitrag 1108746)
Zum Rückwärtscode:
Kann man das denn überhaupt so schreiben???

Aber sicher doch. :angle:

Schau dir einfach mal den erzeugten Maschienencode an :zwinker:

Die ASM-Befehle verstehen hierbei einige verschiedene Offsets, aber meistens nur in kleineren Bereichen und in Schritten von Zweierpotenzen
und ist auch nicht bei allen Registern gleich. (wenn was nicht geht, dann wird es der Debugger schon bemängeln)

PS: Der Delphi-InlineASM-Code muß ja auch irgendwie in ein Format gebracht werden, welches Intel, AMD und Co. verstehen. Da kann Delphi auch nicht sein eigenes Süppchen kochen, sondern muß sich an die Regeln halten. (ein ASM-Befehl im Code wird in einen ASM-Befehl für die CPU umgewandelt ... da wird nix zusammengeschustert)


Zitat:

Codestelle markieren (Breakpoint setzen) und dann in den CPU - Modus/Ansicht wechseln (STRG+SHIFT+C) und per F7 Stück für Stück durchsteppen!
Ollydbg. wäre natürlich noch angenehmer, aber da muss man zuerst einmal die Stelle finden, was für Anfänger nicht so einfach ist.
Wobei es in Delphi garnicht so einfach ist, einen Bootloader zu debuggen. (sowas war ja auch nie vorgesehn)
Drum ja der Tipp das erstmal als Funktion zu testen, wo man den Haltepunkt direkt im Quellcode setzen kann.
Dort könnte man sogar in Quellcode debuggen und muß nicht unbedingt in die CPU-Ansicht.
Überwachte Ausdrücke lassen sich auch auf Register setzen oder zum Anzeigen von Speicherbereichen nutzen. :freak:

:snowball:

Aphton 29. Jun 2011 12:34

AW: Simpler PE-Crypter
 
Du hast vollkommen Recht, Himitsu.

@Xen: Mach zuerst mal das, was er vorgeschlagen hat!
Packe deine Ver- und Entschlüsselungsroutine in Proceduren und wende sie an einen Datenblock an. Wenn gilt:
Entschlüsseln(Verschlüsseln(Datenblock)) = Datenblock
dann ist alles in Ordnung!

Edit: Anschließend, falls es nicht daran lag und die Exe immernoch nicht funktioniert, könntest du mal die Exe hier hochladen und ich schaus mir genauer an...
Ansonsten müsstest du halt noch an deinem "Stub" rumpfeilen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr.
Seite 3 von 3     123   

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