Unpack un binaire packé avec UPX
|
08-09-2012, 15h18
Message : #7
|
|
supersnail
![]() Éleveur d'ornithorynques ![]() ![]() ![]() ![]() ![]() ![]() ![]() Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: Unpack un binaire packé avec UPX
Bah généralement les packers font des pushad/popad pour préserver les valeurs des registres sur la pile (étant donné que la plupart de ces registres seront modifiés par les opération de décompression/remplissage de l'IAT (si elle a été aussi packée).
Donc à la sortie du popad, on peut s'attendre à ce qu'on trouve un saut vers l'OEP ![]() Après t'as d'autres packers qui jouent avec les SEH ou d'autres trucs tricky pour essayer de paumer les débuggers, mais y'aura dans 99% des cas un popad suivi d'un saut vers l'OEP. Après vient le cas des "crypters" RunPE, qui fonctionnent différement: ces crypters créent un processus en "suspended", avant de le défoncer pour remplacer son code par celui de l'exécutable chiffré par le crypter, et laisser le loader win32 faire le reste (remplissage d'IAT, etc). Bref, ça reste traçable (j'ai d'ailleurs codé un p'tit tool nommé Stalker qui permet justement de tracer les écritures dans un autre processus).
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Débuter en reverse engineering avec 0$ | 0x41 | 9 | 803 |
14-09-2012, 19h55 Dernier message: LR-6 |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)