Zitat von
Zacherl:
Cool Vielen Dank schonmal
@calculon: Das scheint eher eine Stub zu sein, an die die richtige EXE angehangen wird. Sowas ist verhältnissmäßig einfach finde ich, aber mit richtigem Ändern der
PE Datei, etc ist schon komplizierter
Zitat von
Meflin:
*auchinteresseanmeld*
Also poste es bitte hier oder PMs mir auch
Ich mache jetzt nicht tausend PMNs
also brechis Datei sieht deutlich sortierter aus als Meine. Vor allem nutzt er einen ordentlichen Algo zum verschlüsseln. Aber ich wollt ja nur mal testen, ob es generell geht. die Verschlüsselung zu ändern ist ja kein Ding.
Units
U_TestPE - die, die alles organisiert (inkl. Formular)
ReadPEHeader - zum lesen, analysieren und auch gleich verändern der Exe
passwordwindow - Record, der in die Exe geschrieben wird
Viel Spaß und "Nur Mut!"
Edit: Ich wollte noch schreiben, was eigentlich prinzipiell gemacht wird. (so weit ich mich erinnere)
Da ich damals keinen Mut hatte eine neue Section einzufügen, habe ich einfach den code ans Ende der Section gehangt, die im Speicher ganz hinten landet (damit ich genügend Platz habe). Da dies (in meinem TestFall) eine Data Section war, kam noch ein bisschen Code in den ungenutzten Teil der itext-Section. Dieser lädt zu Beginn einfach den Code aus der Data-Section in einen anderen Speicherbereich und führt ihn dort aus.
Verschlüsselt sind die ursprünglichen text und itext-Sections sowie die jmp-Addresse am "Ende" meines injezierten Codes, damit man den EP nicht sieht.
Nachdem das Passwort eingegeben wird, wird es auf zwei Arten verifiziert. zuerst wird an dem so entschlüsselten EP geschaut ob die originalen ersten 4 Bytes auftauchen, erst dann wird versucht den entschlüsselten Code zu starten. Dadurch stürzt das Programm bei einem Tippfehler im Passwort nicht gleich ab und man darf es nochmal versuchen.
PS: Das die
Unit Windows die ganzen records zum Lesen des
PE-Headers schon bereithält ist mir erst hinterher aufgefallen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.