mentre reversavo un programma, di cui non importa il nome perchè non è quello lo scopo della discussione, mi sono trovato di fronte a diversi file protetti con Asprotect SKE 2.1x (o almeno così dice Peid)....
Ho usato Stripper per i file exe, con ottimo successo, ma per una dll, indispensabile per finire il lavoro, scritta in Delphi, la cosa non è funzionale al 100%. Infatti riesco a trovare una dll unpackata di ottima qualità, perfetta per capire dove agire per il cracking, ma purtroppo mancano alcune API, secondo me emulate (non sono esperto di Asprotect ne di unpacking)
esempio (originale)
purtroppo non so come fare per aggiustare le chiamate e il fatto che sia una dll, per di più in delphi, non aiuta....
ora quello che chiedo principalmente, ma non necessariamente, è come fare per ricostruire queste chiamate, ma non solo....
Un'altra idea che mi è venuta in mente era l'inline patch, ma la cosa non è semplice in quanto non so come funziona e non so nemmeno come vengono controllati eventuali crc....
L'idea che mi sembra più fattibile invece è quella di creare una dll che funga da "Loader", cioè il programma chiama la dll CREATA DA ME, questa carica la dll originale, la cracka e poi la esegue (o qualcos'altro di simile)... il fatto è che non so bene se si può fare.... tra l'altro questa dll viene usata come controllo COM in un progetto .NET, quindi dovrei ricreare anche un COM simile, a meno di non trovare un metodo che permetta di, dopo aver crackato la dll in runtime, di passare questa al processo chiamante (ma anche questo non so se si può e come fare)....
Ho usato Stripper per i file exe, con ottimo successo, ma per una dll, indispensabile per finire il lavoro, scritta in Delphi, la cosa non è funzionale al 100%. Infatti riesco a trovare una dll unpackata di ottima qualità, perfetta per capire dove agire per il cracking, ma purtroppo mancano alcune API, secondo me emulate (non sono esperto di Asprotect ne di unpacking)
esempio (originale)
Codice:
/$ E8 3FEE3E01 CALL 01770004
\. C2 8BC0 RETN 0C08B
purtroppo non so come fare per aggiustare le chiamate e il fatto che sia una dll, per di più in delphi, non aiuta....
ora quello che chiedo principalmente, ma non necessariamente, è come fare per ricostruire queste chiamate, ma non solo....
Un'altra idea che mi è venuta in mente era l'inline patch, ma la cosa non è semplice in quanto non so come funziona e non so nemmeno come vengono controllati eventuali crc....
L'idea che mi sembra più fattibile invece è quella di creare una dll che funga da "Loader", cioè il programma chiama la dll CREATA DA ME, questa carica la dll originale, la cracka e poi la esegue (o qualcos'altro di simile)... il fatto è che non so bene se si può fare.... tra l'altro questa dll viene usata come controllo COM in un progetto .NET, quindi dovrei ricreare anche un COM simile, a meno di non trovare un metodo che permetta di, dopo aver crackato la dll in runtime, di passare questa al processo chiamante (ma anche questo non so se si può e come fare)....