Reverse engineering tools

M

Martin

Hi,
I am trying to reverse engineer some software in C. Ideally I would
like to use a free program that would scan for function calls and map
the route of function calls in programs in a tree structure.

ie.

main() defined in a.c
|
----------------> init_comms() defined in b.c
| |
| -------> write_to_port() defined in b.c
|
----------------> start_state_machine() defined in f.c

... etc...

Example code

void main()
{
init_comms();
start_state_machine();
}

Does anyone know of any existing programs that can do this?

I have come across dOxygen, but I need a automatic diagramming tool to
aid visual clarity of the software flow, does any exist or will I have
to write one? I have called this Function tracing but im sure there is
a proper technical name for this process.

Thanks in advance,
Martin
 
D

Dan Pop

In said:
I am trying to reverse engineer some software in C. Ideally I would
like to use a free program that would scan for function calls and map
the route of function calls in programs in a tree structure.

What was your C language question?

Dan
 
M

Martin

Dan said:
What was your C language question?

Dan

Sorry Dan, you are right, it is off topic, not a C language question -
but this does have a lot of people on this newsgroup and I thought
people might not mind. Can you suggest an alternative newsgroup?

Sorry to offend,
Kind regards,
Martin
 
K

Kieran Simkin

Martin said:
Hi,
I am trying to reverse engineer some software in C. Ideally I would
like to use a free program that would scan for function calls and map
the route of function calls in programs in a tree structure.

ie.

main() defined in a.c
|
----------------> init_comms() defined in b.c
| |
| -------> write_to_port() defined in b.c
|
----------------> start_state_machine() defined in f.c

... etc...

Example code

void main()
{
init_comms();
start_state_machine();
}

This is *not* reverse engineering as I understand the term. If you have the
source, what are you trying to engineer out of it?
 
M

Mike Wahler

Martin said:
Sorry Dan, you are right, it is off topic, not a C language question -
but this does have a lot of people on this newsgroup

The number of participants here is irrelevant.
The topic is the C language.
and I thought
people might not mind.

Some might, others might not. Typically those in the former
category will be more 'vocal' about it.
Can you suggest an alternative newsgroup?

A few seconds with Google found
comp.software-eng

-Mike
 
M

Martin

Kieran said:
This is *not* reverse engineering as I understand the term. If you have the
source, what are you trying to engineer out of it?

We have the source and are tracking the procedure calls through it, to
find out what section of code calls what and how it works - thus we are
reverse engineering it, then we will re-engineer it improve the quality
of the code. It is poorly documented, thus a tool for procedure
tracking would have been useful. Job is now done, and references from
above replies have been helpful.
 
A

Andy Green

Martin said:
We have the source and are tracking the procedure calls through it, to
find out what section of code calls what and how it works - thus we are
reverse engineering it, then we will re-engineer it improve the quality
of the code. It is poorly documented, thus a tool for procedure
tracking would have been useful. Job is now done, and references from
above replies have been helpful.

Next time you have a question like this one use a name like Nicole,
Brianne, or tiffany, you getthe idea. You won't get any complaints
about posting to the wrong group.. :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top