Decompiler

Discussion in 'C++' started by Nicholas Sherlock, Apr 20, 2004.

  1. Hi guys,

    I've got a game someone has written here - it's a Windows .EXE file, and
    from the contents it is obviously written in some variant of C++. Can anyome
    reccomend a decompiler? I'm just interested in a single routine from the
    exe - a checksum generation routine. I already know that the .exe has enough
    debug info to name the checksum generation routine for me. I'm not looking
    for compilable C++, or even pure C... Half C and half assembler is fine with
    me. I'm just looking for something more readable than assembler (because I
    don't know assembler very well).

    Cheers,
    Nicholas Sherlock
     
    Nicholas Sherlock, Apr 20, 2004
    #1
    1. Advertising

  2. "Nicholas Sherlock" <> schrieb im Newsbeitrag
    news:c62ed1$o7s$...
    > Hi guys,
    >
    > I've got a game someone has written here - it's a Windows .EXE file,

    and
    > from the contents it is obviously written in some variant of C++.

    Can anyome
    > reccomend a decompiler? I'm just interested in a single routine from

    the
    > exe - a checksum generation routine. I already know that the .exe

    has enough
    > debug info to name the checksum generation routine for me. I'm not

    looking
    > for compilable C++, or even pure C... Half C and half assembler is

    fine with
    > me. I'm just looking for something more readable than assembler

    (because I
    > don't know assembler very well).
    >
    > Cheers,
    > Nicholas Sherlock
    >
    >

    What good would that be, other than cracking the software protection?
    Write you're own game instead of wasting your time with illegal stuff.
    Reverse engineering and decompiling is usually not allowed - otherwise
    the program would be open source, wouldn't it?
     
    Gernot Frisch, Apr 20, 2004
    #2
    1. Advertising

  3. Nicholas Sherlock

    predator Guest

    "Nicholas Sherlock" <> wrote in message
    news:c62ed1$o7s$...
    > Hi guys,
    >
    > I've got a game someone has written here - it's a Windows .EXE file, and
    > from the contents it is obviously written in some variant of C++. Can

    anyome
    > reccomend a decompiler? I'm just interested in a single routine from the
    > exe - a checksum generation routine. I already know that the .exe has

    enough
    > debug info to name the checksum generation routine for me. I'm not looking
    > for compilable C++, or even pure C... Half C and half assembler is fine

    with
    > me. I'm just looking for something more readable than assembler (because I
    > don't know assembler very well).
    >
    > Cheers,
    > Nicholas Sherlock
    >
    >


    Try SoftIce.

    And learn assembly. You can't do reverse engineering without it.
     
    predator, Apr 20, 2004
    #3
  4. Nicholas Sherlock

    bartek Guest

    [OT] Re: Decompiler

    "Nicholas Sherlock" <> wrote in
    news:c62ed1$o7s$:

    > I've got a game someone has written here - it's a Windows .EXE file,
    > and from the contents it is obviously written in some variant of C++.
    > Can anyome reccomend a decompiler? I'm just interested in a single
    > routine from the exe - a checksum generation routine. I already know
    > that the .exe has enough debug info to name the checksum generation
    > routine for me. I'm not looking for compilable C++, or even pure C...
    > Half C and half assembler is fine with me. I'm just looking for
    > something more readable than assembler (because I don't know assembler
    > very well).


    How about turning a hamburger back into a cow?

    <love that phrase! lol>

    cheers!
    b
     
    bartek, Apr 20, 2004
    #4
  5. Re: [OT] Re: Decompiler

    bartek wrote:
    > "Nicholas Sherlock" <> wrote in
    > news:c62ed1$o7s$:
    >
    >
    >>I've got a game someone has written here - it's a Windows .EXE file,
    >>and from the contents it is obviously written in some variant of C++.
    >>Can anyome reccomend a decompiler? I'm just interested in a single
    >>routine from the exe - a checksum generation routine. I already know
    >>that the .exe has enough debug info to name the checksum generation
    >>routine for me. I'm not looking for compilable C++, or even pure C...
    >>Half C and half assembler is fine with me. I'm just looking for
    >>something more readable than assembler (because I don't know assembler
    >>very well).

    >
    >
    > How about turning a hamburger back into a cow?
    >
    > <love that phrase! lol>
    >
    > cheers!
    > b


    Yes, but that is not describing the situation.
    A binary executable program _can_ be turned into source
    but the probability of it looking like the original is
    very low.


    --
    Thomas Matthews

    C++ newsgroup welcome message:
    http://www.slack.net/~shiva/welcome.txt
    C++ Faq: http://www.parashift.com/c -faq-lite
    C Faq: http://www.eskimo.com/~scs/c-faq/top.html
    alt.comp.lang.learn.c-c++ faq:
    http://www.raos.demon.uk/acllc-c /faq.html
    Other sites:
    http://www.josuttis.com -- C++ STL Library book
     
    Thomas Matthews, Apr 20, 2004
    #5
  6. Nicholas Sherlock wrote:

    > Hi guys,
    >
    > I've got a game someone has written here - it's a Windows .EXE file, and
    > from the contents it is obviously written in some variant of C++. Can anyome
    > reccomend a decompiler? I'm just interested in a single routine from the
    > exe - a checksum generation routine. I already know that the .exe has enough
    > debug info to name the checksum generation routine for me. I'm not looking
    > for compilable C++, or even pure C... Half C and half assembler is fine with
    > me. I'm just looking for something more readable than assembler (because I
    > don't know assembler very well).
    >
    > Cheers,
    > Nicholas Sherlock
    >
    >

    Search the newsgroup for the terms "decompiler" and
    "reverse engineering". I've answered this issue
    too many times.


    --
    Thomas Matthews

    C++ newsgroup welcome message:
    http://www.slack.net/~shiva/welcome.txt
    C++ Faq: http://www.parashift.com/c -faq-lite
    C Faq: http://www.eskimo.com/~scs/c-faq/top.html
    alt.comp.lang.learn.c-c++ faq:
    http://www.raos.demon.uk/acllc-c /faq.html
    Other sites:
    http://www.josuttis.com -- C++ STL Library book
     
    Thomas Matthews, Apr 20, 2004
    #6
  7. Nicholas Sherlock

    bartek Guest

    Re: [OT] Re: Decompiler

    Thomas Matthews <> wrote in
    news:Opbhc.789$:

    (...)

    >>
    >> How about turning a hamburger back into a cow?
    >>
    >> <love that phrase! lol>
    >>

    >
    > Yes, but that is not describing the situation.
    > A binary executable program _can_ be turned into source
    > but the probability of it looking like the original is
    > very low.


    Same for the cow. Except, maybe the probability is a little bit lower.
    Though, if you've had the time... and appropriate tools...

    cheers!
    b
     
    bartek, Apr 20, 2004
    #7
  8. Nicholas Sherlock

    Bill Seurer Guest

    Re: [OT] Re: Decompiler

    bartek wrote:

    > Thomas Matthews <> wrote in
    > news:Opbhc.789$:
    >
    > (...)
    >
    >
    >>>How about turning a hamburger back into a cow?
    >>>
    >>><love that phrase! lol>
    >>>

    >>Yes, but that is not describing the situation.
    >>A binary executable program _can_ be turned into source
    >>but the probability of it looking like the original is
    >>very low.

    >
    >
    > Same for the cow. Except, maybe the probability is a little bit lower.
    > Though, if you've had the time... and appropriate tools...


    Given cloning your chances of getting something back from the hamburger
    that looks like the original cow is perhaps better than decompiling!
     
    Bill Seurer, Apr 20, 2004
    #8
  9. Gernot Frisch wrote:
    > "Nicholas Sherlock" <> schrieb im Newsbeitrag
    > news:c62ed1$o7s$...
    >> Hi guys,
    >>
    >> I've got a game someone has written here - it's a Windows .EXE file,
    >> and from the contents it is obviously written in some variant of
    >> C++. Can anyome reccomend a decompiler? I'm just interested in a
    >> single routine from the exe - a checksum generation routine. I
    >> already know that the .exe has enough debug info to name the
    >> checksum generation routine for me. I'm not looking for compilable
    >> C++, or even pure C... Half C and half assembler is fine with me.
    >> I'm just looking for something more readable than assembler (because
    >> I don't know assembler very well).
    >>
    >> Cheers,
    >> Nicholas Sherlock
    >>
    >>

    > What good would that be, other than cracking the software protection?


    How would a checksum be involved in software protection? This game does not
    have any copy protection. I'm trying to generate files to be used by the
    game (In this case, allowing the user to generate "dog" characters to insert
    into their game).

    Cheers,
    Nicholas Sherlock
     
    Nicholas Sherlock, Apr 20, 2004
    #9
  10. predator wrote:
    > "Nicholas Sherlock" <> wrote in message
    > news:c62ed1$o7s$...
    >> Hi guys,
    >>
    >> I've got a game someone has written here - it's a Windows .EXE file,
    >> and from the contents it is obviously written in some variant of
    >> C++. Can anyome reccomend a decompiler? I'm just interested in a
    >> single routine from the exe - a checksum generation routine. I
    >> already know that the .exe has enough debug info to name the
    >> checksum generation routine for me. I'm not looking for compilable
    >> C++, or even pure C... Half C and half assembler is fine with me.
    >> I'm just looking for something more readable than assembler (because
    >> I don't know assembler very well).
    >>
    >> Cheers,
    >> Nicholas Sherlock
    >>
    >>

    >
    > Try SoftIce.
    >
    > And learn assembly. You can't do reverse engineering without it.


    Thanks, looks like I'll be learning assembler.. :)

    Cheers,
    Nicholas Sherlock
     
    Nicholas Sherlock, Apr 20, 2004
    #10
  11. Nicholas Sherlock

    Howard Guest

    "Nicholas Sherlock" <> wrote in message
    news:c63t5a$rak$...
    > Gernot Frisch wrote:
    > > "Nicholas Sherlock" <> schrieb im Newsbeitrag
    > > news:c62ed1$o7s$...
    > >> Hi guys,
    > >>
    > >>

    > > What good would that be, other than cracking the software protection?

    >
    > How would a checksum be involved in software protection? This game does

    not
    > have any copy protection. I'm trying to generate files to be used by the
    > game (In this case, allowing the user to generate "dog" characters to

    insert
    > into their game).
    >


    It was a likely guess. I think that most people who want to reverse
    engineer something are not trying to fiddle with their personal copies of
    games, but rather trying to steal. You should see the number of posts in
    the hacker newsgroups! And a checksum is a common method used internally by
    copy protectin software to tell if the program's been hacked.

    -Howard
     
    Howard, Apr 20, 2004
    #11
  12. Nicholas Sherlock

    Guest

    Re: [OT] Re: Decompiler

    I got lazy with attributions. Sue me.

    > >>>How about turning a hamburger back into a cow?
    > >>>
    > >>><love that phrase! lol>
    > >>>
    > >>Yes, but that is not describing the situation.
    > >>A binary executable program _can_ be turned into source
    > >>but the probability of it looking like the original is
    > >>very low.

    > >
    > >
    > > Same for the cow. Except, maybe the probability is a little bit lower.
    > > Though, if you've had the time... and appropriate tools...

    >
    > Given cloning your chances of getting something back from the hamburger
    > that looks like the original cow is perhaps better than decompiling!


    It's probably closer to turning *cooked* hamburger back into cow.
    See, an optimizer is free to do a ton of things. Combine things,
    move things around (such as outside loops), recognize a "multiply
    by 2" can be implemented as a bit shift, etc. etc. This is in addition
    to stripping out things like names, macro defintions, templates
    being turned into code then compiled, etc. Just picture the case
    where an inheritance chain exists, and some nodes on the chain are
    never actually instantiated. Getting anything even remotely like
    the original source code would be a grubby painful process, if it
    was possible at all.
    Socks
     
    , Apr 20, 2004
    #12
  13. Nicholas Sherlock

    bartek Guest

    Re: [OT] Re: Decompiler

    wrote in
    news::

    > I got lazy with attributions. Sue me.
    >
    >> >>>How about turning a hamburger back into a cow?
    >> >>>
    >> >>><love that phrase! lol>
    >> >>>
    >> >>Yes, but that is not describing the situation.
    >> >>A binary executable program _can_ be turned into source
    >> >>but the probability of it looking like the original is
    >> >>very low.
    >> >
    >> >
    >> > Same for the cow. Except, maybe the probability is a little bit
    >> > lower. Though, if you've had the time... and appropriate tools...

    >>
    >> Given cloning your chances of getting something back from the
    >> hamburger that looks like the original cow is perhaps better than
    >> decompiling!

    >
    > It's probably closer to turning *cooked* hamburger back into cow.
    > See, an optimizer is free to do a ton of things. Combine things,
    > move things around (such as outside loops), recognize a "multiply
    > by 2" can be implemented as a bit shift, etc. etc. This is in addition
    > to stripping out things like names, macro defintions, templates
    > being turned into code then compiled, etc. Just picture the case
    > where an inheritance chain exists, and some nodes on the chain are
    > never actually instantiated. Getting anything even remotely like
    > the original source code would be a grubby painful process, if it
    > was possible at all.


    That would be a cooked and already digested hamburger w/ fries and
    ketchup.
     
    bartek, Apr 20, 2004
    #13

  14. > I'm trying to generate files to be used by the
    > game (In this case, allowing the user to generate "dog" characters

    to insert
    > into their game).


    Well, if you want to write a mod for the game, the original coders
    will be interested, since mods always lead to higher sale rates of the
    original game (if it's required for the mod).
    Send him/her an email and you will get an answwer. I did this a few
    times and always got satisfied.


    --
    -Gernot

    Post here, don't email. If you feel you have to mail, revert my
    forename from:

    ________________________________________
    Looking for a good game? Do it yourself!
    GLBasic - you can do
    www.GLBasic.com
     
    Gernot Frisch, Apr 21, 2004
    #14
    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. azcycle
    Replies:
    3
    Views:
    6,314
    brettbear
    Nov 26, 2011
  2. Al Ponomarev
    Replies:
    3
    Views:
    466
    Ken Cox [Microsoft MVP]
    May 3, 2004
  3. Pietro

    Decompiler .Net - how to avoid?

    Pietro, Feb 11, 2005, in forum: ASP .Net
    Replies:
    8
    Views:
    581
    Matt Berther
    Feb 17, 2005
  4. Schultz

    VB.NET DLL Decompiler

    Schultz, Feb 21, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    12,324
    Ken Cox [Microsoft MVP]
    Feb 21, 2005
  5. gmcdanie

    Java Decompiler

    gmcdanie, Feb 13, 2004, in forum: Java
    Replies:
    30
    Views:
    1,262
Loading...

Share This Page