Kann man mit VB kenntnissen einen Crypter erstellen?
Kann man mit VB kenntnissen einen Crypter erstellen?
DK007's Blackmarketprofil
[5|0]
Ja,man kann mit VB Crypter erstellen.
www.opensc.ws/vb-rat-source/1665-vb-packer-source-code.html
@Kolabi danke werd ich mir mal anschauen
DK007's Blackmarketprofil
[5|0]
Hallo BlackBerry, ich hab mich ein bisschen nach deinem Tutorial orientiert, finde aber meinen Fehler nicht, warum es nicht funktioniert...
Ich bin zwar fertig, aber wenn die Datei gecrypted ist, lässt sie sich nicht starten...
Main
http://nopaste.free-hack.com/index.php?id=8ce76fe53e
out_section_details
http://nopaste.free-hack.com/index.php?id=3a4d161851
Ich hab echt keinen Plan mehr was ich falsch mache... bin am verzweifeln![]()
Programmiersprache: C
In Zeile 7 fehlt ein int vor der main() funktion.. also anstatt main(), musst du int main() schreiben!
Ich benutze Dev-CPP, der fügt das automatisch beim kompilieren ein, wenn ich das manuell mache, bekom ich ne fehlermeldung.
Programmiersprache: C
@Deshoax
Ich habe dir doch schon beim letzten Mal gesagt, dass du die Datei in den Arbeitsspeicher laden sollst. ( http://free-hack.com/showpost.php?p=309320&postcount=4 )
Bei dem ganzen fputc's Blickt doch niemand mehr durch.
Und das fehlende bzw. willkürliche Einrücken von Code-Blöcken trägt auch nicht gerade zur Übersichtlichkeit bei.
Folgende Optionen bei Dev-C++ nehmen dir das Einrücken sogar beinahe ab:
Wenn du deinen Code eingerückt hast und auf http://pastebin.com/ "gepastet" hast (da kann man das dann besser kopieren), wäre ich gerne bereit mir das nochmal anzusehen. (obwohl ich dringend zur Benutzung von Strukturen wie IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER, usw. rate, da man dadurch mit der korrekten Positionierung der Werte schonmal keine Probleme mehr hat)
______________________________________
Und jetzt wenigstens noch ein bisschen was produktives...
Ich habe versucht auf test.exe (das kleine "Hello World"-Programm aus dem Tutorial) zu crypten.
Als Option wollte ich, dass eine neue Section hinzugefügt wird.
Hier die Ausgabe von der Konsole:
PEiD sagt nun folgendes:Code:Bitte EXE Datei selektieren: test.exe Magic DOS Signatur erkannt! PE Signatur erkannt! Number of Sections: 3 1. Section: <.text> Virtual Size [HEX]: 26 Virtual Size [DEZ]: 38 Virtual Offset [HEX]: 1000 Virtual Offset [DEZ]: 4096 Raw Size [HEX]: 200 Raw Size [DEZ]: 512 Raw Offset [HEX]: 400 Raw Offset [DEZ]: 1024 Flags [HEX]: 60000020 Flags [DEZ]: 1610612768 2. Section: <.rdata> Virtual Size [HEX]: 92 Virtual Size [DEZ]: 146 Virtual Offset [HEX]: 2000 Virtual Offset [DEZ]: 8192 Raw Size [HEX]: 200 Raw Size [DEZ]: 512 Raw Offset [HEX]: 600 Raw Offset [DEZ]: 1536 Flags [HEX]: 40000040 Flags [DEZ]: 1073741888 3. Section: <.data> Virtual Size [HEX]: 12 Virtual Size [DEZ]: 18 Virtual Offset [HEX]: 3000 Virtual Offset [DEZ]: 12288 Raw Size [HEX]: 200 Raw Size [DEZ]: 512 Raw Offset [HEX]: 800 Raw Offset [DEZ]: 2048 Flags [HEX]: C0000040 Flags [DEZ]: 3221225536 Ausgabe von RO_VS_fuenf= 42B Wollen Sie die Crypter-Stub in einer neuen Section einpflanzen? 1. New Section 2.Vorhandene Section =1 Entrypoint [HEX]: 1000 Entrypoint [DEZ]: 4096 Entrypoint wurde nach 42B verlegt! RAW Offset [HEX]: 400 RAW Offset [DEZ]: 1024 [Zeichen] Datei ist gecrypted! FERTIG!
LordPE sagt das:
----> Wo ist die neue Section?
Ein Blick in OllyDBG verrät:
---> Es wurde nichtmal eine neue Section hinzugefügt!
Der neue EntryPoint liegt außerdem zwischen IMAGE_DOS_HEADER/IMAGE_NT_HEADERS und der ersten Section.
Wenn man sich das so anschaut ist klar, wieso es einen Fehler gibt, wenn man versucht die Datei zu starten:
-----------> Beim EntryPoint ist nichts!
mfG. BlackBerry
PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
please do feed the trolls crew and elk
Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
"Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^
Also:
Flag setzten tut man immer noch am besten mit OR:Code:# printf("\nFlags \t[HEX]: \t%X",VS); # printf("\nFlags \t[DEZ]: \t%u\n",VS); # fseek(stream,e_lfanew+point,SEEK_SET); # VS+=0x80000000;
VS|=0x80000000;
Denn sollte dieses Flag schon zufällig gesetzt sein, bekommst du durch eine Addition einen Überlauf und als Ergebnis sowas wie 0x20 oder 0x40 - was dann natürlich zu "unerklärbaren" Fehlern führt.
Außerdem:das ermittelt ja praktisch den neuen EP. Der wird aber irgendwie auf VirtualSize+5 gesetzt. Ergibt für mich keinen Sinn. Sollte eher (wenn es die letze Section sein soll) so gehen: RO_VS_fuenf=VirtualOffset+VirtualSize (die Werte ließt du ja eher ein, in der großen Schleife. Allerdings komme ich wegen der total komischen Einrückung sowie Benutzung gleicher Variablennamen (VS) für alle möglichen Werte (warum überhaupt? warum nicht aussagekräftige Variablen nutzen? ) nicht zu recht, daher musst du schon selber schauen, wo du den Code am besten platzierst).Code:if(xcount==1) RO_VS_fuenf+=VS;
Jedenfalls, wenn man RO_VS_fuenf=VirtualOffset+VirtualSize macht, wird es korrekterweise nach dem "Sectionloop" die Adresse der letzen Section+Sectionsize (also die Adresse des "letzen" Bytes) beinhalten. Wenn man nun eine Stub dranhängt, zeigt RO_VS_fuenf (und damit der neue EP) korrekterweise auf diese Stub.
Geändert von EBFE (07.06.2009 um 16:29 Uhr)
Schönes TUT! Könntest Du das ganze auch noch mal für C++ schreiben?
Wenn du es jetzt nicht verstehst, wirst du es noch weniger verstehen, wenn ich Klassen zum Einsatz bringen würde.
Zudem lässt sich sagen, dass alle Sourcecodes in diesem Tutorial auch 100% syntaktisch korrekte C++ Sourcecodes darstellen.
Ich verstehe also nicht warum eine Übersetzung nötig sein sollte.
PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
please do feed the trolls crew and elk
Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
"Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^