PHP Forum - Coding Board
Juni 19, 2018, 09:04:37 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News:
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: 1 ... 3 4 [5]
  Drucken  
Autor Thema: Codesoft PW Stealer 0.50 zum cracken  (Gelesen 3709 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
EBFE
Full Member
***
Beiträge: 109


Profil anzeigen E-Mail
« Antworten #60 am: März 05, 2009, 06:01:02 »

@f0gx: ich hab mich doch zum Schämen schon in die Ecke gestellt Smiley
Also eigenltich war OEP und normale Imports finden kein Problem Smiley. Waren wohl auch nur rudimentäre Protectionoptions aktiviert. Hab einmal einen MemBP auf Code gesetzt und nach dem ersten Break nach einem ASPro-Redirection Call gesucht (die werden zuletzt korrigiert). Darauf ein MemBP - der nächste Break ist in einer anderen ASPro Schleife. Das Ding mit "till return" fertig werden lassen und allgemeinen MemBP auf CODE Section setzen - der dritte Break landet auf dem OEP.

Allerdings gab es ca 50 dieser "redirection calls" (gehen immer auf dieselbe Adresse, sowas wie 'CALL 100f0000' und werden durch eine Tabelle von ASPro aufgelöst). Da war korrigieren per Hand nicht mehr möglich Traurig. Hab dann ein wenig rumexperementiert und ein "quasiplugin" für Imprec gemacht:
(DLL Skeleton von teloc beispiel im ImpRec SRC Ordner, da stand leider kein Name des Coders) genommen und nur sowas hinzugefügt:
Code:
   push offset nachdemjmp
    mov eax,dwToTrace
    jmp ebx ;die redirection soll uns die Adresse selber zurückgeben
    nachdemjmp:
    mov ecx, dwPtrOutput;    
    mov [ecx], eax
    end_ok:
    mov dwErrorCode, 200    
Das macht nichts anderes als den CALL aufrufen und die Rückgabe als Ergebnis zu präsentieren. Damit das auch funktioniert muss man die ASPro Auflösungsroutine etwas durchttracen (in Olly meine ich) und die Stelle finden, an der sowas wie "push REG" RET kommt und im Register die "saubere" API Adresse zu sehen ist. Die musste man etwas umschreiben, damit der Stackframe wiederhergestellt wird und direkt zum Aufrufer zurückgekehrt wird. Wahr ehrlich gesagt eine Qual im VirtualPC (da Olly darin bei mir ziemlich lahm läuft).
Das ganze dann mit ImpRec nach "CALL X" absuchen lassen und mit dieser umständlichen "Automatisierung" die meisten APIs aufgelöst.
Zum fixen der eigentlichen Calls (Anwendung verwendet CALL DWORD PTR (6Bytes)und ASPro hat daraus CALL ADRESSE gemacht (5Bytes)) hab ich ein "Script" "geschrieben" :
Code:
var searchanfang
var searchende
var calldest
var calladdress

mov searchanfang, //Adresse
mov searchende, //Adresse

loop2:
find searchanfang,#E8#
cmp $RESULT,searchende
ja out2
cmp $RESULT,0
je out2

//prüfe, ob auch korrekter call
mov calladdress,$RESULT

inc $RESULT
mov calldest,[$RESULT]
add calldest,calladdress
add calldest,5
add calladdress,5
mov searchanfang,calladdress

//nicht, dann weitersuchen
cmp calldest //jeweils "aktuelle" Calldestination
jne loop2

add $RESULT,4
mov [$RESULT],90
jmp loop2
out2:
Msg "Fertig"
« Letzte Änderung: März 05, 2009, 06:08:39 von EBFE » Gespeichert

PM an mich? Bitte vorher lesen: EBFEs PM FAQ
f0Gx
Jr. Member
**
Beiträge: 60



Profil anzeigen WWW E-Mail
« Antworten #61 am: März 05, 2009, 06:48:07 »

War ja auch gar nicht negativ gemeint. Zwinkernd Diese "redirection calls" sind so recht nett zu fixen (siehe auch etwaige Tutorials), bei Protectoren kommt man ohne Autmatisierung nur noch selten weiter.

Du könntest auch die call high-mem von ASPro durch call dword ptr [Import] ersetzen (also gleich eine neue IAT erzeugen), aber es geht ja auch so. Zwinkernd
Gespeichert

» xor byte ptr [edi+78], al
projectns
Newbie
*
Beiträge: 7


Profil anzeigen E-Mail
« Antworten #62 am: März 05, 2009, 07:11:14 »

Gespeichert
realo
Newbie
*
Beiträge: 0


Profil anzeigen E-Mail
« Antworten #63 am: März 06, 2009, 08:30:37 »

muchissmas gracias
Gespeichert
armetal
Newbie
*
Beiträge: 0


Profil anzeigen E-Mail
« Antworten #64 am: März 10, 2009, 04:19:50 »

Nice man ! Smiley
Gespeichert
Seiten: 1 ... 3 4 [5]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | New Look by Nolt Prüfe XHTML 1.0 Prüfe CSS