Reverse engineering tools

Discussion in 'C Programming' started by Martin, Jun 10, 2004.

  1. Martin

    Martin Guest

    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
     
    Martin, Jun 10, 2004
    #1
    1. Advertising

  2. Martin

    Dan Pop Guest

    In <8z1yc.445$3X3.54@newsfe1-win> Martin <> writes:

    > 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
    --
    Dan Pop
    DESY Zeuthen, RZ group
    Email:
     
    Dan Pop, Jun 10, 2004
    #2
    1. Advertising

  3. Martin

    Martin Guest

    Dan Pop wrote:
    > In <8z1yc.445$3X3.54@newsfe1-win> Martin <> writes:
    >
    >
    >> 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


    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
     
    Martin, Jun 10, 2004
    #3
  4. "Martin" <> wrote in message
    news:8z1yc.445$3X3.54@newsfe1-win...
    > 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?

    > 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
     
    Kieran Simkin, Jun 10, 2004
    #4
  5. Martin

    Mike Wahler Guest

    "Martin" <> wrote in message
    news:0i4yc.849$...
    > Dan Pop wrote:
    > > In <8z1yc.445$3X3.54@newsfe1-win> Martin <>

    writes:
    > >
    > >
    > >> 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

    >
    > 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
     
    Mike Wahler, Jun 10, 2004
    #5
  6. Martin

    B. Gandhi Guest

    (Dan Pop) wrote in message news:<caa587$4pf$>...
    > In <8z1yc.445$3X3.54@newsfe1-win> Martin <> writes:
    >
    > > 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.

    >


    I know of two such tools (I've not used them however), one is
    Imagix 4D from Imagix Corp (http://www.imagix.com/products/products.html)
    and Understand for C++ from Scientific Toolworks inc. (www.scitools.com).
    You may like to have a look over 'em.

    -BG
     
    B. Gandhi, Jun 11, 2004
    #6
  7. Martin

    Martin Guest

    Kieran Simkin wrote:
    > "Martin" <> wrote in message
    > news:8z1yc.445$3X3.54@newsfe1-win...
    >
    >>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?
    >


    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.


    >
    >>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

    >
    >
    >
     
    Martin, Jun 18, 2004
    #7
  8. Martin

    Andy Green Guest

    Martin <> wrote in message news:<N3BAc.68$>...
    > Kieran Simkin wrote:
    > > "Martin" <> wrote in message
    > > news:8z1yc.445$3X3.54@newsfe1-win...
    > >
    > >>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?
    > >

    >
    > 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.
    >
    >
    > >
    > >>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

    > >
    > >
    > >


    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.. :)
     
    Andy Green, Jun 19, 2004
    #8
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Rastislav Struharik

    Reverse engineering an EDIF file?

    Rastislav Struharik, Nov 10, 2003, in forum: VHDL
    Replies:
    8
    Views:
    7,988
    Joonas Timo Taavetti Kekoni
    Jan 2, 2004
  2. =?Utf-8?B?ZHdvcnRoZW0=?=

    Reverse Engineering-Page Navigation Diagram

    =?Utf-8?B?ZHdvcnRoZW0=?=, Sep 25, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    595
    =?Utf-8?B?ZHdvcnRoZW0=?=
    Sep 25, 2004
  3. VisionSet
    Replies:
    0
    Views:
    403
    VisionSet
    Nov 5, 2004
  4. Replies:
    0
    Views:
    869
  5. Replies:
    0
    Views:
    628
Loading...

Share This Page