Descompilar programa em C (gcc)

6 respostas
Luca

Olá

Tenho antigo servidorzinho em C do Linux. Preciso ver algumas coisas nos fontes porque não tenho mais as documentações. Há algum programinha que descompile C?

[]s
Luca

6 Respostas

louds

O máximo que um programa vai fazer é gerar uma listagem muito boa do código em asm, traduzindo constantes, syscalls, chamas para as .so linkadas e entry/exit point de funções.

Mais que isso acho improvavel conseguir. Se lembro bem o bastard (procura na sf.net) faz isso tudo. Talvez, com sorte, você ache algum outro programa que demarque os basic blocks das funções.

Vale lembrar que descompilar código de máquina é um do problemas mais dificeis da computação e dependendo daquilo que você quer, é computacionalmente impossivel. Se o código foi vítima de um otimizador, fica pior ainda.

fzampa

Infelizmente, acho que RTFB seria uma solução pra vc

louds

fzampa:
Infelizmente, acho que RTFB seria uma solução pra vc

Maldade isso. :lol:

T

Você pode tentar examinar o comportamento do programa rodando. Eu sei que em Solaris você pode efetuar o trace das system calls com truss ou dtrace, mas em Linux, como de costume, não sei qual é o comando que faz isso.

louds

strace

fmeyer

gdb ? :twisted:

Criado 25 de abril de 2005
Ultima resposta 25 de abr. de 2005
Respostas 6
Participantes 5