Graf chokolo veröffentlich wie er versprochen hat seinen SELF decrypter.
Bringt dem Ottonormalverbraucher zwar nix aber ist ne gute Neuigkeit.
Hier wie es funzt:
ZitatAlles anzeigenHallo Leute, ich hab euch versprochen meinen SELF Decrypter zu veröffentlichen und ich habe ihn bereits hochgeladen. Aber lasst mich erst erklären wie der funktioniert.
Ich habe ausschließlich HypervisorCalls in meinem Code benutzt weil ich lernen wollte wie man SLEFS ohne das GameOS entschlüsseln kann.
Die Entschlüsselung und das entpacken der SELF wird von einem isolierten Modul appldr vorgenommen, was von der lv1_undocumented_funktion_99 vorbereitet und geladen worden ist. Wenn appldr dann geladen ist sendet dieses eine Nachricht und wartet dann auf deine Anweisungen um Elemente zu ver- oder entschlüsseln.
Wenn die Nachricht/Anweisung dann kommt schneidet appdlr die "vorbeiziehenden" Daten mit in ein shared memory und entschlüsselt diese. Wenn die Entschlüsselung abgeschlossen ist sendet die geladene Payload die Daten via Netzwerk an einen PC und diese werden mit tcpdump auf dem PC gespeichert.
Ich benutze IDA um die entschlüsselten Daten zu analysieren. Zuerst nehme ich dazu die entpackten Stücke von tcpdump und lade diese an die richtige Adresse in IDA. Ich habe auch ein Scrip geschrieben um das entnehmen der Segmente aus dem Dump zu vereinfachen. Die virtuellen Adressen der Segmente findet ihr im .ELF Header.
Das Ziel des ganzen ist anders als bei den anderen Devs die ihr so kennt. Ich will halt eine SELF Entschlüsselung ohne GameOS und euch zeigen wie das geht. Ich werden auch Tools fürs GameOS Coden. Ich habe allerdings vor euch in jeder Hinsicht zu supporten, auch wenn jemand ein Tool hiervon für die GameOS Ebene entwickeln möchte - also wenn jemand Fragen zu meinem Code hat sind diese willkommen.
Mein persönliches Hauptinteresse liegt Hypervisor reversing, ich denke durch mein Tool habt ihr aber erstmal genug Arbeit / genug SELF´s die ihr bestimmt decrypten möchtet.
ZitatAlles anzeigen
graf_chokolo says:
December 3, 2010 at 6:25 am
Guys, i promised to you to make my SELF decrypter public. I just uploaded it Let me first explain how it works.
I used only HV calls in my code because i wanted to learn how to decrypt SELFs without GameOS. The decryption and decompression of SELFs is done by isolated module appldr which is prepared and loaded by lv1_undocumented_function_99. After appldr is loaded it sends a message and waits for your instructions to decrypt some encrypted segments. When the message arrives i pass encrypted segment data to appldr through shared memory and it decrypts the passed data. When the decryption is done the payload sends the decrypted data over network to my PC and i capture it with tcpdump
I’m using IDA to analyze the decrypted code. First i extract the decrypted segments from pcap dump and load them at right addresses into IDA. I created a shell script to make segment extraction from pcap dumps easier. Virtual addresses of decrypted segments you will find in ELF header.
The target group of this release are again advanced programers among you. The goal of this release is not to give you a tool for SELF decryption but to show you how it can be done So, feel free to ask me any questions about my code. I will support everyone who wants to port my code and create more user-friendly GameOS applications for SELF decryption because i do not intend to write any GameOS tools I’m more interested in HV reversing
My SELF decrypter is not able to decrypt games and NPDRMs yet but i’m working on it I think you will have enough SELFs now to reverse