Break sur PROCESS CHILD

Vous avez un problème pour cracker ou vous souhaitez parler de reversing en général...

Break sur PROCESS CHILD

Messagepar masterjul » 27 Janvier 2018, 13:29

Hello tous. J'utilise ici w32dbg
Mon problème
Je debug un soft qui ouvre un autre soft (.exe).
Le deuxième ne peut évidemment pas être ouvert sans le premier.
La partie intéressante se trouve dans le deuxième mais je ne sais pas breaker dans cette partie.

J'avais déjà eu le même problème avec un autre soft et j'avais installé le plugin DBGCHILD et là j'arrivais à breaker à l'entrée du deuxième.

Mais là niet ...

Une idée ?

Ps : j'utilise x32dbg car je le trouve plus "sympa" que ollydbg mais vous avez des tuyaux avec ollydbg je suis preneur.

Merci
Dernière édition par masterjul le 29 Janvier 2018, 11:56, édité 1 fois.
masterjul
Visiteur
Visiteur
 
Messages: 16
Inscription: 01 Septembre 2010, 20:59

Re: Break

Messagepar tutork » 27 Janvier 2018, 16:29

Hello,

Une proposition avec ollydbg : lancer le programme sans debuger et ensuite s'attacher au deuxième exécutable qui t’intéresse (menu File, attach)

a+
tutork
Visiteur
Visiteur
 
Messages: 22
Inscription: 12 Novembre 2017, 22:01

Re: Break

Messagepar masterjul » 27 Janvier 2018, 16:52

Merci pour cette suggestion.
En fait , ce n est pas possible car le deuxième programme se ferme aussi vite qu il s ouvre car je ne suis pas enregistré
masterjul
Visiteur
Visiteur
 
Messages: 16
Inscription: 01 Septembre 2010, 20:59

Re: Break

Messagepar Hao » 27 Janvier 2018, 19:55

Si le 2ème exécutable peut être modifié, alors patcher avec un EBFE à proximité de son OEP ?
Puis s'attacher quand il arrive sur l'instruction ?
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24

Re: Break

Messagepar masterjul » 28 Janvier 2018, 10:04

Ok donc si j'ai bien compris le but est de faire tourner en boucle (sur la première instruction) le deuxième process pour pouvoir l'attacher.

Alors avec PEID j'ai analysé le process 2 pour trouver l'EP :
Entrypoint : 00AB4224
File Offset : 00AB2824

Donc j'ouvre avec un edit hex je vais à 00AB4224 pour remplacer BC1B par EBFE.

Je sauve et relance le process 1

el là, rien ... queud ... comme si j'avais rien fait le programme tourne normalement et le process 2 n'est pas visible dans "attach process"


J'ai essayé de mettre EBFE à l'adresse de File Offset et là pareil .. rien

Si j'ouvre process 2 (sans modification) avec W32DBG sans le lancer il arrive sur 00EB4224 55 push ebp EntryPoint

Je sèche
masterjul
Visiteur
Visiteur
 
Messages: 16
Inscription: 01 Septembre 2010, 20:59

Re: Break

Messagepar Hao » 28 Janvier 2018, 11:53

Process 1 vérifie peut être process 2 par une somme de contrôle. Si process 2 a été modifié, alors process 1 ne le lance pas.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24

Re: Break

Messagepar masterjul » 28 Janvier 2018, 15:19

Non il se lance bien. Le soft tourne de manière normale avec le message qui dit que je ne suis pas enregistré.

J'ai même verifié avec procmon, je le vois bien au moment où je clic sur l'option qui lance le process 2 et le process 2 apparait dans procmon.

Je pense plutôt que je n'ai pas mis EBFE au bon endroit.

Pour info : la première fois lorsque j'ai passé le process2 à PEID, il était indiqué qu'il était packé avec UPX. Ayant peu de connaissance sur le manuel unpacking, je me suis tourné vers l'automatic ... J'ai chargé UPX et avec la commande DOS : upx -d process 2 je l'ai dépacké.
Donc depuis, je fonctionne avec le process 2 dépacké qui fonctionne de la même manière avec le soft, tout ok. Donc je ne pense pas qu'il y ait des contrôles avancés sur la validité du fichier. De plus, concernant l'éditeur du soft, ce n'est pas trop le genre de la maison de faire des protections compliquées ...
masterjul
Visiteur
Visiteur
 
Messages: 16
Inscription: 01 Septembre 2010, 20:59

Re: Break sur PROCESS CHILD

Messagepar Hao » 29 Janvier 2018, 15:18

Dans Olly 2 il existe une option pour debug les processus fils dans options->debugging->events.

Sinon il faut aller voir au moment de la création du process fils (CreateProcess) et patcher pour que le processus soit créé en mode suspended. Ce qui va permettre de t'attacher avec un debugger.
Code: Tout sélectionner
https://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24

Re: Break sur PROCESS CHILD

Messagepar masterjul » 29 Janvier 2018, 17:37

arfff, j'arrive pas à breaker au moment où le process 1 appelle le 2.
J'ai mis des BP sur tous les createprocess du process1 et rien ne se passe.

Existe-t-il d'autres API pour lancer un process ?

Je connais le nom du fichier qui est lancé peut-on le trouver dans des string ref ou autres ?
masterjul
Visiteur
Visiteur
 
Messages: 16
Inscription: 01 Septembre 2010, 20:59

Re: Break sur PROCESS CHILD

Messagepar Hao » 29 Janvier 2018, 17:43

Tu peux également regarder de ce côté là niveau tool :
Code: Tout sélectionner
https://github.com/David-Reguera-Garcia-Dreg/DbgChild/blob/master/README.md


Il y a quelques autres fonctions qui existent CreateProcessAsUser, CreateProcessW (pour la version unicode).
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24


Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités