Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26
  1. #11
    Transpinguin Avatar von IRET
    Registriert seit
    02.09.2008
    Beiträge
    1.295

    Standard

    Hier bin ich durch unsere SuFu auf einen Thread gekommen in dem BlackBerry ein Tutorial über Crypter in C rausgebracht hat.
    http://free-hack.com/ansi-c-c-c/3850...schreiben.html
    Allerdings würde ich da an deiner Stelle auf C/C++ zurückgreifen ,da PHP nicht in nativen Code übersetzt wird und somit immer den PHP-Interpreter mit braucht.
    Außerdem ist es für sowas nicht gemacht.

    //Edit:
    Offtopic: OpCodez ,du hast immer leicht strange Avatare XD.

  2. #12
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    "da PHP nicht in nativen Code übersetzt wird und somit immer den PHP-Interpreter mit braucht."

    ich hab ja nicht vor es auf windows oder so laufen zu lassen, ich hab vor die jeweilige datei die gecryptet werden soll per php auf den server hochzuladen,und dann mit php aufm webspace das zu crypten,danach kann man die datei dann wieder runterladen

    Naja jedenfalls vielen dank an alle für die Links, werde mich mal genauer einlesen und dann dementsprechend schauen was sich machen lässt.
    Dateien Patchen kann ich nämlich schon(zb minesweeper timefreeze patch)

    lg

  3. #13
    Transpinguin Avatar von IRET
    Registriert seit
    02.09.2008
    Beiträge
    1.295

    Standard

    Zitat Zitat von Surflam Beitrag anzeigen
    ich hab ja nicht vor es auf windows oder so laufen zu lassen, ich hab vor die jeweilige datei die gecryptet werden soll per php auf den server hochzuladen,und dann mit php aufm webspace das zu crypten,danach kann man die datei dann wieder runterladen
    Die Exe kann ich auch ohne Webservice schrotten.
    Irgendwas muss sie ja wieder decrypten.
    Und das ist nunmal die Stub die entweder hinten dran gehängt wird oder sonst wie mitgegeben wird.
    Crypter-Prinzip:
    Sections usw werden verschlüsselt
    Zusätzliche Section mit der Stub wird angehängt (Stub decryptet alles)
    PE-Header werden gefixt.
    Evntl. noch die Importtables, Ressourcen usw fixen

  4. #14
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    nunja die Stub würde ich dann dementsprechend mit Assembler machen,und mit Php einfügen. Crypter die ich bisher gesehen hab hatten auch die Stub als externe Datei, und nicht direkt im Sourcecode vorliegen also sollte das kein Problem darstellen.

    Hab mir jetzt mal die ganze Sache mit dm Pe-Format, und dem Verschlüsseln usw angeschaut, ist ja ganz Plausibel ich frag mich nur wie ich das in Php machen soll, allein die Header Definitionen ,und wo die einzelnen Sections sind..das geht glaube nicht so einfach mit Php, wenn überhaupt..Ich glaube ich werd mich noch etwas einlesen und Experimentieren damit
    Hab ich das Prinzip eines Crypter richtig verstanden?Hier mal ein Pseudo Code wie ich das versteh :
    Code:
    int main(){
    Alle_Sections_des_Programmes_verschlüsseln(); <-- Damit Antivirenprogramme den Programmcode nicht mehr Indentifizieren können
    Zusätzliche_Section_einfügen(stub);<-- Zum entschlüsseln des Codes sobald das Programm startet,und folgend Ausführung des Decrypteten
    Entrypoint_Anpassen();<-- Damit an der Section im Programmcode gestartet wird, die unser Programm decryptet
    }
    lg
    Geändert von Surflam (04.09.2010 um 10:02 Uhr)

  5. #15
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zitat Zitat von Eneth Beitrag anzeigen
    N Crypter in PHP? Sorry,davon hab ich noch nie gehört...Wenn es dir was bringt kann ich dir Source Codes in C++ und VB anbieten?
    Also erstmal um das klar zu stellen: einen Builder bekommt man in jeder Sprache hin, die mit Binärdateien arbeiten kann (also Möglichkeiten bereitstellt, um BYTE's, WORD's, DWORD's usw. aus-, wie einzulesen).

    Das geht auch in PHP (man betrachte sich mal die Funktionen pack() und unpack(), welche sich die PHP-Entwickler wohl bei Perl abgeschaut haben).
    Dabei würde ich jedoch empfehlen sich von Anfang an eine Wrapper-Klasse zu schreiben, damit man abstraktionsmäßig möglichst weit von pack() und unpack() wegkommt, da diese den Code nicht wirklich übersichtlicher machen (Stichwort: bamcompile... ein einziges Durcheinander...).

    Wenn es also keine Crypter (damit beziehe ich mich auf den Builder-Teil) in PHP gibt, dann weil die meißten Leute einfach nicht genug können, um sowas umzusetzen (und meißt sowieso von Tuten und Blasen keine Ahnung haben und nur Code zusammenpasten).

    Also zurück zum konstruktiven Teil: ich verweise gleich auch mal auf OpCodez' Post (http://free-hack.com/482895-post5.html), in der Hoffnung, dass er dadurch von jedem hier Anwesenden mindestens einmal gelesen worden ist.

    "Scantime" Crypter lassen wir mal außen vor, da sowas sogar ein gehirnamputierter Schimpanse schreiben könnte (wobei ich sogar vermute, dass solche "Crypter" ausschließlich von gehirnamputierten Schimpansen geschrieben werden).

    Ich gehe jetzt also mal auf RunTime Crypter ein. Nach traditioneller Copy&Paste Manier, kennen die meißten Leute zumindest eine Art davon. Diese erfordert es einen neuen Prozess zu starten und den Code des gestarteten Programms durch den von der gecrypteten Datei zu ersetzen.
    Das Problem bei der Sache ist, dass man dafür die WinAPI braucht und das in PHP wohl auf Probleme stößt (ich meine sogar in PECL mal eine Extension für die WinAPI gesehen zu haben, aber ich beziehe mich da eher auf das PHP->EXE Problem, das bisher nur von bamcompile in Angriff genommen wurde, aber an sich im Grunde nichts anderes als ein Dropper mit einer "portable" PHP Version ist).
    Selbstverständlich könnte man an dieser Stelle auch eine Stub in ASM schreiben, die das umsetzt, aber ich denke mal, dass wenn man ASM kann, sich mit etwas interessanteren Methoden (um auf die Wortwahl von OpCodez zurückzukommen) befassen möchte.

    Das bringt mich auf die Methode, die ich empfehlen würde: Codeinjection. Vom Konzept könnte man meinen wir würden einen Packer (beispielsweise UPX) schreiben, wobei wir nicht Packen (obwohl das natürlich auch funktionieren würde, aber mit wesentlich mehr Aufwand verbunden ist), sondern nur verschlüsseln.
    Dazu empfehle ich mal mein Paper/Tutorial:
    http://free-hack.com/ansi-c-c-c/3850...schreiben.html
    Dabei habe ich mich bemüht den theoretischen Teil stark vom praktischen Teil zu trennen. Sollte es dir jedoch keine praktische Hilfe sein (was ich nicht glaube, da man als PHP-Programmierer zumindest erahnen kann, was ein C Source da evtl. macht - zumal die Schritte im praktischen Teil kommentiert sind!), so würde ich es dennoch als eine gute Einführung in das PE-Format betrachten, wobei ich hoffe, alle für Crypter relevante Member der im PE-Format auftauchende Header erklärt zu haben (mal abgesehen von extra Sachen, wie Import bzw Export bezogene Header usw.).

    EDIT:

    Zitat Zitat von Surflam Beitrag anzeigen
    nunja die Stub würde ich dann dementsprechend mit Assembler machen,und mit Php einfügen.
    Richtig

    Zitat Zitat von Surflam Beitrag anzeigen
    Crypter die ich bisher gesehen hab hatten auch die Stub als externe Datei, und nicht direkt im Sourcecode vorliegen also sollte das kein Problem darstellen.
    Vergiss Crypter, die du bisher gesehen hast. Du hast scheinbar bisher auch keinen tauglichen Crypter in PHP gesehen. Also!
    Crypter mit externer Stub sind entweder Scantime Crypter, oder RunTime Crypter mit Methode #1 (Stub, die das Programm entschlusselt und den Code in einen anderen Prozess injeziert).
    Sowas in PHP zu machen wird scheitern, da du keinen vernünftigen Weg hast, um aus einer PHP Datei eine EXE Datei zu machen. Auf bamcompile bin ich ja oben schon eingegangen und ich bin überzeugt, dass es damit nicht funktionieren wird (selbst wenn du die ca. 2 MB in Kauf nimmst, die bamcompile aus deinen Skripten macht), da bamcompile im Grunde das Skript, sowie eine portable PHP Version auf die Festplatte droppt und dort aufruft und du wohl somit wenig Chancen haben wirst an die angehängten Daten (dein verschlüsseltes Programm) wieder ran zu kommen.

    Zitat Zitat von Surflam Beitrag anzeigen
    [...] ich frag mich nur wie ich das in Php machen soll, allein die Header Definitionen ,und wo die einzelnen Sections sind..das geht glaube nicht so einfach mit Php
    Habe nie das Gegenteil behauptet
    Ich habe lediglich gesagt, DASS es geht. Darum, wie gesagt, auch meine Empfehlung, sich von Anfang an eine geeignete Abstraktionsschicht zu bauen. Dazu bräuchtest du dann eigentlich:
    Klassen zum Ein- und Auslesen von Daten aus Binärdateien (wichtig ist dabei vor allem die Größe von dem, was man einliest - also bytes, words, dwords, usw.).
    Darauf aufbauend könntest du dann halt Klassen erstellen, die Strukturen wie IMAGE_DOS_HEADER, IMAGE_NT_HEADERS und IMAGE_SECTION_HEADER emulieren - d.h. du gibst dem Objekt dann im Konstruktor den Bytestream, den du mit deinen Wrappern parsen kannst und speicherst dann entsprechend die Attribute. Wenn du es dann richtig schön machen willst, dann kannst du es via der magischen __set()-Methode auch so implementieren, dass beim Verändern der Attribute auch der Wert im Bytestream entsprechend geändert wird.

    Zitat Zitat von Surflam Beitrag anzeigen
    Hab ich das Prinzip eines Crypter richtig verstanden?Hier mal ein Pseudo Code wie ich
    Als Grundgerüst erscheint mir das nicht schlecht. Du musst dann jedoch auch Assembler lernen, damit du diesen Verschlüsselungsprozess dann auch wieder umkehren kannst, wenn das Programm gestartet wird (das ist jetzt natürlich einfacher gesagt als getan... sollte klar sein).
    Geändert von blackberry (04.09.2010 um 10:25 Uhr)

    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 ^.^

  6. #16
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    Hab mir dein Tutorial/Paper schon runtergeladen angeschaut, und muss zugeben das mich das PE-Format noch etwas irritiert, überall neue Begriffe die ich noch nicht kannte. Bisher hatte ich nur direkt mit Hexcode veränderung und etwas Assembler zu tun gehabt, denke ich werde mich da langsam einarbeiten müssen und erstmal genau durchlesen was jeder begriff bedeutet bis ich das begreife Aber die Erklärungen und Links die bisher gepostet wurden finde ich doch schon mal sehr interessant und wert gelesen zu werden, werde das mal die nächsten Tage durcharbeiten und dann mal schauen ob ich einen Crypter in Php hinbekomme, denke aber schon.
    Nochmals vielen dank

    p.s:Blackberry , bamcompile ist doch ein Php2Exe Converter bzw Compiler...und das hat ja relativ wenig mit dem zu tun, was ich eigendlich vor habe..und zwar den Crypter später als Php-Script auf einem webspace mit Apache laufen zu lassen. Also kein Php-Script das dann unter Windows als exe laufen soll oder sonstiges zeug..

    lg
    Geändert von Surflam (04.09.2010 um 10:19 Uhr)

  7. #17
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Ich hatte eigentlich gehofft, dass du es nach fuckinghot19's Post mittlerweile verstanden hättest.
    KLAR! Auf dem Webspace cryptest du die Datei usw.
    Aber hast du vielleicht schonmal dran gedacht, dass das nicht alles ist? Was verschlüsselt wird, muss auch wieder entschlüsselt werden - das sollte doch wenigstens klar sein, oder?
    Und wer ENTSCHLÜSSELT deinem Konzept nach alles wieder? Das Skript auf dem Webspace? Wohl kaum!
    Du brauchst also ein Programm (die Stub), das _VOR_ dem eigentlichen Programm ausgeführt wird und den Code wieder entschlüsselt.
    Ob das Programm nun selbst eine EXE ist (die EXE, die du bei Cryptern wohl immer als Stub siehst), oder halt reicher Maschienencode, den du nach der von mir in meinem Tutorial vorgestellten Methode in das verschlüsselte Programm integrierst und durch das Anpassen des EntryPoints noch vor dem eigentlichen Code des verschlüsselten Programms laufen lässt ist egal.
    Klar sollte sein: weder Windows, noch die CPU, können mit verschlüsseltem Code irgendetwas sinnvolles anfangen -- und darum muss der Code vor seiner Ausführung wiederhergestellt sein!

    Bamcompile habe ich in dem Kontext nur erwähnt und diskutieren, weil ich klarstellen wollte, dass es zwar SCHEINBAR ein Schritt in die richtige Richtung ist (nämlich die Stub auch in PHP schreiben zu können), dem jedoch nicht so ist, weil es wie oben erwähnt, nur als Binder fungiert.
    Geändert von blackberry (04.09.2010 um 10:34 Uhr)

    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 ^.^

  8. #18
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    Klar sollte sein: weder Windows, noch die CPU, können mit verschlüsseltem Code irgendetwas sinnvolles anfangen -- und darum muss der Code vor seiner Ausführung wiederhergestellt sein!
    Das ist ja klar, aber ich gehe ja davon aus das man als erstes die sections verschlüsselt,dann eine eigene unverschlüsselte section einfügt(die dann die sction decryptet/entschlüsselt wenn man es startet), und dann den entrypoint verändert,so das er auf die eigene section zeigt die di restlichen sections dann eben entschlüsselt und widerherstellt..?Und nungut..das mit den ganzen Klassen usw ist alles aus aufwändig, ich glaub es wäre vllt ne ganz gute idee wenn ich erstmal einen crypter in c++ code um das prinzip zu verstehen wie man mit den ganzen header etc arbeitet, sonst wird das ganz denke nur reiner müll

    lg

  9. #19
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zitat Zitat von Surflam Beitrag anzeigen
    Das ist ja klar, aber ich gehe ja davon aus das man als erstes die sections verschlüsselt,dann eine eigene unverschlüsselte section einfügt(die dann die sction decryptet/entschlüsselt wenn man es startet), und dann den entrypoint verändert,so das er auf die eigene section zeigt die di restlichen sections dann eben entschlüsselt und widerherstellt..?
    Es ehrt dich, wenn du nur die komplexeste Variante im Kopf hast, aber ich sprach nunmal davon, dass man PHP nicht als Stub für Methode #1, oder Methode #2 einsetzen kann, weil bamcompile da nicht mitspielen wird.

    Zitat Zitat von Surflam Beitrag anzeigen
    Und nungut..das mit den ganzen Klassen usw ist alles aus aufwändig
    Eigentlich war das mit den Klassen als Vorschlag gedacht, um den Code weniger aufwändig zu gestalten.
    Stell dir mal vor du willst ein Feld in einem Header auslesen und musst da erst 7 (Zahl aus der Luft gegriffen) Zeilen lang mit unpack() rumjonglieren. Ich kann dir versprechen, dass du dann noch bevor du etwas verschlüsselt hast nicht mehr wissen wirst, was in Zeile X gemacht wird.
    Übersichtlicher wäre ja ohne Zweifel, wenn man irgendwann halt (braucht selbstverständlich mehr Vorarbeit) ein zusammenhängendes Objekt für eine EXE Hat und dann z.B. sowas machen kann:
    $meinExeObjekt->ImageBase = $ibNeu;
    Dann weiß man später auch, was wo passiert und der Code ist viel einfacher ausbaubar.

    Zitat Zitat von Surflam Beitrag anzeigen
    ich glaub es wäre vllt ne ganz gute idee wenn ich erstmal einen crypter in c++ code um das prinzip zu verstehen wie man mit den ganzen header etc arbeitet, sonst wird das ganz denke nur reiner müll
    Wenn du C++ wirklich kannst, dann ist das sich nicht verkehrt, zumal du da bereits im Header winnt.h (es reicht windows.h zu inkludieren) alle notwendigen Strukturen definiert hast und dich dann zumindest damit nicht rumärgern musst.
    (VB Programmierer müssen sich diese Strukturen selber definieren *hihi* [obwohl die meißten sowieso nur RunPE kopieren und sich somit gar nichts selber definieren müssen...])

    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 ^.^

  10. #20
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard

    nunja ich würde nicht behaupten das ich c++ beheersche, den das wäre gelogen. Jedoch code ich in c++ öfters Gamehacks,bypasses und ähnliche Dinge und komme damit eigendlich ganz gut zurecht, wäre auch sicher einfacher als einstieg in Crypter annstelle von php wo ich es mir selbst definieren müsste.

    lg

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •