Decompiler

N

Nicholas Sherlock

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
 
G

Gernot Frisch

Nicholas Sherlock said:
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?
 
P

predator

Nicholas Sherlock said:
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.
 
B

bartek

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
 
T

Thomas Matthews

bartek said:
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
 
T

Thomas Matthews

Nicholas said:
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
 
B

bartek

(...)
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
 
B

Bill Seurer

bartek said:
(...)




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

Nicholas Sherlock

Gernot said:
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
 
N

Nicholas Sherlock

predator said:
Try SoftIce.

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

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

Cheers,
Nicholas Sherlock
 
H

Howard

Nicholas Sherlock said:
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
 
P

puppet_sock

I got lazy with attributions. Sue me.
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
 
B

bartek

(e-mail address removed) wrote in
I got lazy with attributions. Sue me.


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

Gernot Frisch

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:
(e-mail address removed)
________________________________________
Looking for a good game? Do it yourself!
GLBasic - you can do
www.GLBasic.com
 

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,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top