Page 1 of 1

Retranscription en C d'une bibliothèque partagé (.so)

PostPosted: Sun Apr 21, 2013 2:57 pm
by XIRTAM38
Bonjour Bonjour,

J'ai besoin de retranscrire un .so en .c

Mais je ne sais pas trop comment ca marche !
Enfin donc je viens susciter vos idées ou solutions ! En continuant de chercher de mon côté.

Alors des idées les copains ?? :D

PostPosted: Sun Apr 21, 2013 3:59 pm
by TorTukiTu
Reponse courte, tu ne peux pas.

Reponse longue, un so est une librairie de fonctions compilees. en d'autre termes, le c (ou autre) dans lequel la librairie a ete ecrite, a ete compile puis optimise (voir obfusque) afin d'obtenir un fichier binaire qui contient le code assembleur de tes fonctions. Ces operations sont difficilement reversible.
Donc, theoriquement trouver le bout de code c le plus simple correspondant a une de fonction compilee est possible, mais fort fort complexe.

(au pifometre, je dirais que la resolution du probleme a au minimum un cout exponentionnel par rapport a la longueur du code compile)

J'ai bien peur que tu doives te mettre a l'assembleur pour comprendre comment marchent tes fonctions.

En revanche, tu peux facilement retrouver les prototypes de ces fonctions.

Tortue 974.

PostPosted: Sun Apr 21, 2013 4:46 pm
by XIRTAM38
Merci de ta réponse !

J'ai déjà situé les prototypes, et c'est lib est une petite partie des fonctions du programme..

Mais bon si c'est assez dur reverser je vais laisser tomber pour ce coup la.

Mais merci pour les précisions ! :wink: