logo Homepage
+  NewbieContest
|-+  Divers» Cracking» probleme d'unpack manuel (upx)
Username:
Password:
Pages: [1] 2
  Imprimer  
Auteur Fil de discussion: probleme d'unpack manuel (upx)  (Lu 15645 fois)
capitaine

Profil challenge

Classement : 8350/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 80


Voir le profil WWW
« le: 06 Janvier 2007 à 22:38:53 »

lut!

voila ayant bloqué sur le crackme 8(Désarmant !), je me suis interressé à l'unpacking manuel.
J'ai donc vu pas mal de tuto la dessus dont ceux pour upx. j'ai donc suivis celui ci, qui est très clair http://deamonftp.free.fr/deamoncrack/Tuts/Kef/UPX/Cours%20upx.htm

j'ai pas utilisé le crackme qu'il propose mais un utilitaire bidon compressé ensuite.
une fois le tuto appliquer je charge le dump dans olly et la quand je fais search for->all referenced text strings ya quedal  http://img176.imageshack.us/img176/5614/videin7.jpg

j'ai cherché vite fait mais pas moyen de trouver. la reconstruction de l'iat a l'air bonne parceque les fonctions sont bien là
Journalisée
capitaine

Profil challenge

Classement : 8350/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 80


Voir le profil WWW
« #1 le: 06 Janvier 2007 à 23:10:36 »

autant pour moi j'avais pas vu l'épreuve appelé unpack.  c'est exactement la même chose en plus.
seulement là j'ai pus voir les chaines de caractères! tant mieux
conclusion: ca vient alors de l'utilitaire que j'ai compressé. il s'agit de Start Menu cleaner choper sur le site de crack de pifoman.
si quelqu'un est motivé pour faire la manip et me dire si chez lui ca marche  .

j'ai oublié de préciser que quand j'ouvrais le dump avec olly j'ai cette avertissement  http://img176.imageshack.us/img176/756/unpackupxrg1.jpg
(idem pour le crackme8 d'**orthographe !**). or avec le crackme unpack (même méthode) ya pas eu de soucis
Journalisée
cristian02

Profil challenge

Classement : 4248/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 54


Voir le profil
« #2 le: 06 Janvier 2007 à 23:29:39 »

pour l'upx le mieux c'est le plugin de peid sinon à la main ça se décompresse en deux seconde tu cherches le pushad en bas tu met un breakpoint memory on access sur le jump et tu dump avec lordpe et imprec pour l iat ni ça te met une minute à le faire

avec ollydump ça marche pas toujours suivant la version de upx et surtout décoche la fonction pour reconstruire directement l iat  et de toutes façons habitues toi a travailler avec lordpe pour le dump et imprec pour l iat
Journalisée
capitaine

Profil challenge

Classement : 8350/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 80


Voir le profil WWW
« #3 le: 06 Janvier 2007 à 23:39:34 »

ouai t'inquiètes j'ai fais exactement comme dans le tuto que j'ai indiqué plus haut. D'**orthographe !** le crackme d'unpack proposé sur le site, je l'ai fait vite fait. Mais je capte pas pourquoi ca marche pas avec le logiciel que j'ai indiqué c'est tout.
testez vous verrez bien si vous arrivez ou non au même message d'avertissement que moi. Je parie que vous n'aurez aucune string reference
Journalisée
cristian02

Profil challenge

Classement : 4248/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 54


Voir le profil
« #4 le: 07 Janvier 2007 à 00:30:00 »

je viens de le décompresser ton upx en une seconde il est en visual basic et donc il faut rentrer dans le champ Visual basic avec le V majuscule

pour ce qui est des strings je te rappelle que dans un crackme on ne va pas te donner le pass écrit en toutes lettres bien souvent il faut faire des opérations avec les valeurs des registres pour trouver un algoritme ou un passe parfois il faut faire du déhashage ne croit pas que c'est aussi simple que de regarder les strings.Et l'upx c'est le packer le plus simple que tu rencontreras

alors je te souhaite bonne chance mais très franchement c'est la bonne méthode que tu es en train de suivre que de lire ces tutoriaux d'autant plus que celui-là est pas mal
Journalisée
capitaine

Profil challenge

Classement : 8350/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 80


Voir le profil WWW
« #5 le: 07 Janvier 2007 à 01:14:35 »

Citation de:  cristian02
je viens de le décompresser ton upx en une seconde il est en visual basic et donc il faut rentrer dans le champ Visual basic avec le V majuscule
tu as du mal me comprendre ou alors je me suis mal expliqué comme d'hab . Je sais pas ce que tu as decompressé mais  c'est pas le même dont je parle. Si tu fais reference au crackme du tuto, de kef et bien je sais pas comment tu l'as eu parceque je l'ai pas trouvé.
c'est donc pour cette raison que j'ai essayé l'unpacking manuel sur un autre programme (startClean), et me demande pas pourquoi j'ai choisis ce prog, j'en sais trop rien.

pour ce qui est des string data et bien je t'explique, quand le prog n'est pas packé je peux les voir mais quand je le compresse avec upx ya plus rien (ok c normal on est d'accord).
a partir de là j'applique le cours de kef mais arrivé au bout ca marche pas tout a fait car je vois pas les string references, or c'est un peu le but de la manoeuvre   ici

voila j'espere que je suis a peu près clair dans mes propos, dites moi sinon ya pas de soucis
Journalisée
cristian02

Profil challenge

Classement : 4248/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 54


Voir le profil
« #6 le: 07 Janvier 2007 à 01:39:13 »

si tu ne vois pas les strings c'est parceque tu l'as mal decompressé:le breakpoint sur le jump met le en memory on access apres tu fais f9
et tu dump

c est pas la peine de reconstruire l iat le seul dump te permet de voir les strings ça devrait marcher
Journalisée
Kowasu

Profil challenge

Classement : 464/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 142


Voir le profil
« #7 le: 07 Janvier 2007 à 01:40:07 »

Bah tant qu'a changé d'EntryPoint pourquoi ne pas changé de BaseOfCode

Rho et puis je me lance sur l'edit, tant que faire se peut :
>ancien post déleté, oui je suis un gentil ! Rappel :
"Je risque le double post. Demain je deleterais, ne vous inquietez pas les modos.
Ton ancien EntryPoint pointait dans la bonne section. Maintenant qu'il a changé, il a également changé de section d'où l'alert. D'où le changement du BaseOfCode.
J'ai pas été explicite c'est vrai."
Journalisée

"Le démiurge est aussi bateleur: son oeuvre est illusion, son ordre est illusoire."
capitaine

Profil challenge

Classement : 8350/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 80


Voir le profil WWW
« #8 le: 07 Janvier 2007 à 01:57:53 »

tiens t'as changé de pseudo?
bon en tout cas merci pour l'info du BaseOfCode, je vais me renseigner la dessus. mais je comprends pas pourquoi elle est modifié? normalement upx ne touche qu'à l'oep d'après ce que j'ai lu.

au fait,  je capte pas le debut de ton post   je sais pas si ca me concerne ou pas
Journalisée
Kowasu

Profil challenge

Classement : 464/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 142


Voir le profil
« #9 le: 07 Janvier 2007 à 02:08:50 »

Citation de: capitaine
tiens t'as changé de pseudo?
bon en tout cas merci pour l'info du BaseOfCode, je vais me renseigner la dessus. mais je comprends pas pourquoi elle est modifié? normalement upx ne touche qu'à l'oep d'après ce que j'ai lu.

au fait,  je capte pas le debut de ton poste   je sais pas si ca me concerne ou pas
Ha pour le changement de pseudo faut demandé à S0S0, il m'a presque obligé par la force! Oui quoi, je dis n'importe quoi?!
Thanks S0S0.
Sinon : http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
Ca pourra t'aider........++

Et de trois !
Journalisée

"Le démiurge est aussi bateleur: son oeuvre est illusion, son ordre est illusoire."
capitaine

Profil challenge

Classement : 8350/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 80


Voir le profil WWW
« #10 le: 07 Janvier 2007 à 02:18:53 »

ok merci pour le liens je vais lire ca demain desormait. je calcul plus rien là et même si je suis pas mauvais en anglais, ca va rentrer par les yeux mais ca va etre mal interpréter par le cerveau...c'est l'appel de l'oreiller
Journalisée
skilLa
Profil challenge

Classement : 27009/55017

Néophyte
*
Hors ligne Hors ligne
Messages: 3


Voir le profil
« #11 le: 07 Janvier 2007 à 11:25:54 »

Pourquoi vouloir toucher au PE. Pour upx tu fais comme ca ete dit avant, ou tu telecherge upx il decrompresse aussi les executables packes avec lui. Si ton dump est fonctionnel et que tu vois pas de str c'est peut etre qu'il y en a pas, ou elles sont encodees, ou bien ton w32dasm ne les detecte pas. Et on ne reverse pas avec les strs, il va falloir penser a changer de methode.
Journalisée
Kowasu

Profil challenge

Classement : 464/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 142


Voir le profil
« #12 le: 07 Janvier 2007 à 15:17:58 »

Citation de: skilLa
Pourquoi vouloir toucher au PE. Pour upx tu fais comme ca ete dit avant, ou tu telecherge upx il decrompresse aussi les executables packes avec lui. Si ton dump est fonctionnel et que tu vois pas de str c'est peut etre qu'il y en a pas, ou elles sont encodees, ou bien ton w32dasm ne les detecte pas. Et on ne reverse pas avec les strs, il va falloir penser a changer de methode.
Bah, à moins que je me trompes, OllyDbg utilise sa fonction : _FindStrings pour trouver des stringsdata.
Bien qu'il utilise l'oep, il se sert du BaseOfCode+ImageBase comme addresse mémoire à lire.
Voici OllyDbg qui debugge OllyDbg :
(http://img214.imageshack.us/img214/3531/chillymeyt1.png)
En rentrant dans la fonction, on voit qu'il fait appel à _Readmemory avec comme paramètre : le BaseOfCode+ImageBase
Disasm :
0047058A  |>  6A 01         PUSH 1                                   ; /Arg4 = 00000001
0047058C  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]             ; |
0047058F  |.  52            PUSH EDX                                 ; |Arg3
00470590  |.  56            PUSH ESI                                 ; |Arg2
00470591  |.  8B4D F0       MOV ECX,DWORD PTR SS:[EBP-10]            ; |
00470594  |.  51            PUSH ECX                                 ; |Arg1
00470595  |.  E8 720DFFFF   CALL Copie_de._Readmemory                ; \_Readmemory
Stack :
00128738   008F8FB0  |Arg1 = 008F8FB0 ASCII "ð­º"...
0012873C   00477000  |Arg2 = 00477000  <<<<<<<<<<<BaseOfCode+ImageBase
00128740   00015000  |Arg3 = 00015000   <<<<<<<<<<<VirtualSize of pseudo-.Code_section
00128744   00000001  \Arg4 = 00000001

On peut donc en conclure que OllyDbg cherche les stringsdata avec le BaseOfData. Or l'entrypoint doit se trouver entre BaseOfCode et BaseOfCode+sa Virtual Size.
Dans le cas d'upx, la section .code qui contient le loader se trouve être UPX1. Lorsque tu dump le fichier et reconstruit l'iat, si tu ne changes pas le BaseOfData qui pointe toujours sur UPX1 en UPX0 (qui contient le code unpacked), OllyDbg ne cherchera les stringsdata qu'à partir de UPX1.
C'est pourquoi d'ailleurs qu'il y a des plugins qui ont été fait qui scannent l'entièreté du binaire.
Donc ce n'est donc pas (ou en tout cas pas seulement) une question d'encryption ou de protection.
En parlant de module, si tu ne changes pas de BaseOfData quand tu rentres dans la fenêtre des modules avec OllyDbg et que tu double clique sur notre binaire, tu verra qu'Ollydbg te redirige sur : ImageBase+BaseOfCode donc sur la mauvaise section.
J'éspère que sur la v2, une option sera rajoutée permettant d'analyser direct la section où se trouve l'entrypoint.
M'enfin si je me trompes dites-le moi c'est possible.
++
Journalisée

"Le démiurge est aussi bateleur: son oeuvre est illusion, son ordre est illusoire."
alph1

Profil challenge

Classement : 57/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 178


Voir le profil
« #13 le: 07 Janvier 2007 à 16:29:16 »

Merci Kowasu pour ce post : une vraie pépite (je l'ai sauvegardé dans mon répertoire tutorial).
J'en profite pour te remercier plubliquement pour tous les crackme que tu nous as concoctés !
Ils sont tous plus délirants les uns que les autres avec une mention spéciale pour les crackme18 et 22.
A quand la suite ?
Journalisée

Physics is like sex. Sure, it may give some practical results, but that's not why we do it. (Richard P. Feynman)
Kowasu

Profil challenge

Classement : 464/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 142


Voir le profil
« #14 le: 07 Janvier 2007 à 16:48:36 »

Haaaan, comment veux-tu que je réponde à ca moi
Pour l'information, il n'y a pas de quoi ^^ mais bon tu peux trouver les infos sur le net en cherchant bien bien.
Puis pour les crackmes, ben ils ne sont pas exeptionnels, loin de là
Pour la suite, bah je suis en train de concocter un S0 Special depuis **No Sms** mois, alors faut être patient.
Vala, ++
Journalisée

"Le démiurge est aussi bateleur: son oeuvre est illusion, son ordre est illusoire."
Pages: [1] 2
  Imprimer  
 
Aller à: