J'utilise la technique de bypass les exceptions et de m’arrêter à la dernière.
Je n'aime pas ne pas savoir ce que je fais mais je n'ai jamais vraiment pris le temps de trouver comment fonctionnait PcGuard.
J'ai simplement essayé de trouver le caller de Kernel32.ExitProcess avec un hwbp mais pas moyen de remonter, le code se modifie tout seul, je comprends rien

J'arrive à unpack des logiciels que j'ai pack avec UPX assez facilement mais pas celui-ci

Donc mon premier problème est que lorsque j'ai passé les exceptions et qu'il faut mettre un breakpoint sur la section .code.
Là je ne sais pas si c'est PcGuard qui y accède ou UPX pour décrypter?
Le problème se trouve que je ne sais pas quelle est la section correcte oú mettre mon BP car si je vais dans la memory map, il m'indique une section "code" mais si je réanalyse le code, la section code ne correspond plus à la même section.
J'ai réussi à trouver un break qui m'amène à un endroit ensuite je dois ensuite scroll (assez loin quand même) pour y trouver une routine qui semble vraiment être le POPAD de UPX

Je me dis donc que j'ai trouvé, je mets donc un bp au JMP, je break et je suis le jump, ce qui m'amene à ça :

Je fais donc Dump process avec OllyDumpEx mais le problème c'est qu'il m'indique vraiment beaucoup de sections avec des noms corrompus et m'indique en bas CorruptSection et lorsque je dump, il me dit "Invalid Virtual Offset Detected", si je continue, je me retrouve avec un exe de 150Mo non Win32

Voilà merci de votre aide
