Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 22:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



RuntimeCrypter

Discussion on RuntimeCrypter within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2012
Posts: 26
Received Thanks: 3
Question RuntimeCrypter

Hi, ich will einen Laufzeitverschlüssler schreiben. Folgendes Problem: Ich habe eine EXE verschlüsselt in einem String gespeichert,anschließend wird sie entschlüsselt. Jetzt muss sie aber irgendwie in den Arbeitsspeicher geladen und ausgeführt werden. Wie geht das?
ehauser is offline  
Old 06/22/2012, 20:17   #2
 
2n0w's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 115
Received Thanks: 18
Kenn mich hier selbst nicht aus, aber folgendes weiß ich zumindest das funktioniert.
Kann ich aber nur in ASM.
Du speicherst deine Instructions in .data davor machst du ein Label hin.
Dann entschlüsselst du die Instructions in deinem Code und jmp'st zum Label.
Hab jetzt aber leider keine Ahnung wie man das mit einer ganzen Exe macht.
2n0w is offline  
Old 06/23/2012, 00:04   #3


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Das geht nicht so einfach, wenn du das Modul vollständig nur im Memory haben willst und nicht temporär ein File erstellen willst, musst du das komplette Modul manuell mappen, heißt du musst all das tun, was Windows normalerweise tut, wenn du CreateProcess aufrufst.
Du allozierst speicher fürs Image, liest die Header ein, liest die IAT ein und lädst die Module nach, du füllst die IAT mit Adressen, etc.
Am Ende rufst du dann die main() deines eigentlichen Programms auf.
MrSm!th is offline  
Old 06/23/2012, 15:45   #4
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by MrSm!th View Post
Das geht nicht so einfach, wenn du das Modul vollständig nur im Memory haben willst und nicht temporär ein File erstellen willst, musst du das komplette Modul manuell mappen, heißt du musst all das tun, was Windows normalerweise tut, wenn du CreateProcess aufrufst.
Du allozierst speicher fürs Image, liest die Header ein, liest die IAT ein und lädst die Module nach, du füllst die IAT mit Adressen, etc.
Am Ende rufst du dann die main() deines eigentlichen Programms auf.
da widerspreche ich mal, normal reicht es aus, wenn man code an das image anhängt und das AddressOfEntryPoint field auf den begin des eigenen codes setzt. damit fällt das nachladen der iat und auch der header weg. (es sei denn man will die iat entfernen)
Tyrar is offline  
Old 06/23/2012, 16:19   #5


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Quote:
Originally Posted by HeavyHacker View Post
da widerspreche ich mal, normal reicht es aus, wenn man code an das image anhängt und das AddressOfEntryPoint field auf den begin des eigenen codes setzt. damit fällt das nachladen der iat und auch der header weg. (es sei denn man will die iat entfernen)
So rum gehts natürlich auch. Ich dachte, er will das Image in sein Programm integrieren.
Dann darfst du aber in deinem Code wiederum keine großartigen APIs nutzen, die nicht in der IAT des eigentlichen Programms stehen.

Und btw. eigentlich ist das Zerstören der IAT bei nem Crypter wohl Standard.
MrSm!th is offline  
Old 06/23/2012, 16:23   #6
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by MrSm!th View Post
So rum gehts natürlich auch. Ich dachte, er will das Image in sein Programm integrieren.
Dann darfst du aber in deinem Code wiederum keine großartigen APIs nutzen, die nicht in der IAT des eigentlichen Programms stehen.

Und btw. eigentlich ist das Zerstören der IAT bei nem Crypter wohl Standard.
sicher ist das zerstören der iat standard, aber nicht zwingend notwendig. darüber lässt sich also streiten

wenn man das image allerdings in den eigenen prozess mappen will hast du natürlich recht.
Tyrar is offline  
Reply




All times are GMT +1. The time now is 22:58.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.