Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

Coding Forum


You are currently viewing our Coding Forum as a guest. Please register to participate.
Login



Reply
Old 07-12-2008, 01:38 AM Dissesting a .EXE
Lashtal's Avatar
wherenomanhasgonebefore

Posts: 679
Name: Lashtal
Trades: 0
Is there a way to dissect the content of a .EXE pre-installation, for the sake of viewing it's code?
__________________
Currently Reading:
Please login or register to view this content. Registration is FREE
Lashtal is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 07-12-2008, 02:24 AM Re: Dissesting a .EXE
Lashtal's Avatar
wherenomanhasgonebefore

Posts: 679
Name: Lashtal
Trades: 0
dissecting* a .EXE
__________________
Currently Reading:
Please login or register to view this content. Registration is FREE
Lashtal is offline
Reply With Quote
View Public Profile
 
Old 07-12-2008, 08:55 AM Re: Dissesting a .EXE
chrishirst's Avatar
Missing! presumed drunk.

Posts: 41,517
Name: Chris Hirst
Location: Blackpool. UK
Trades: 0
There are disassemblers/decompilers around BUT depending on what the program was built in you probably won't get what you expect.

For instance:
A Visual Basic coded exe file is NOT a monolithic stand alone program. The exe files are in what is known as "p-code", and mainly consist of external calls to the VB runtime library.
.NET compiled executable are the same (if not moreso). The .exe file is more of an extension of the framework than a separate entity. Though I must admit I have never attempted to decompile a third party .net exe, but I would guess it's not something you could work out howit does what it does exactly.

Even if the executable is a fully fledged, standalone, fully compiled machine code package created in C, C++, Pascal, Delphi etc. Unless you have the symbol files from the compile process all you will get is lines and lines of x86 machine code and the assembler mnemonics to go with that code.
Also included in that code will be calls to external functions, calls to windows API functions etc etc.

Now unless you are a super geek and have intimate working knowledge of the Windows OS at machine code level the chances of working out exactly what something does is pretty slim.

What you can get however, which is where I suspect your interest may lie , is you can find the internal values and strings and the code that examines these strings and internal values to look for serial codes, registration info etc. Which can then be changed using a hex editor if you know what you are doing
__________________
Chris. ->> Links are advertising NOT optimising!! <<-
A foolish consistency is the hobgoblin of little minds
Thought for today:- I SEO the only industry where all the cowboys are Indians?
chrishirst is offline
Reply With Quote
View Public Profile Visit chrishirst's homepage!
 
Old 07-12-2008, 07:23 PM Re: Dissesting a .EXE
Lashtal's Avatar
wherenomanhasgonebefore

Posts: 679
Name: Lashtal
Trades: 0
lol, that last paragraph basically sums it up exactly

Info on hex editors? never heard of 'em.
__________________
Currently Reading:
Please login or register to view this content. Registration is FREE
Lashtal is offline
Reply With Quote
View Public Profile
 
Old 07-12-2008, 07:29 PM Re: Dissesting a .EXE
Lashtal's Avatar
wherenomanhasgonebefore

Posts: 679
Name: Lashtal
Trades: 0
oOoOoOo: http://www.softcircuits.com/cygnus/

"Now unless you are a super geek and have intimate working knowledge of the Windows OS at machine code level the chances of working out exactly what something does is pretty slim."

i'm also a ways interested in this aspect too. Where do you suggest would be the best place to start? (i'm barely learning PHP!, lol)
__________________
Currently Reading:
Please login or register to view this content. Registration is FREE
Lashtal is offline
Reply With Quote
View Public Profile
 
Old 07-13-2008, 06:06 AM Re: Dissesting a .EXE
chrishirst's Avatar
Missing! presumed drunk.

Posts: 41,517
Name: Chris Hirst
Location: Blackpool. UK
Trades: 0
Quote:
i'm also a ways interested in this aspect too. Where do you suggest would be the best place to start? (i'm barely learning PHP!, lol)
Depends how serious you want to be, or rather how much do you want to spend

Learning C/C++ is pretty much essential, having a thorough working knowledge of x86 assembler is invaluable, and a MSDN subscription for access to the dark recesses of Windows is very useful but not 100% essential ($10k for the top level down to $1200 for the lowest) the level a new developer should be at is $2500
And then lots and lots of time experimenting and reading to get to grips with it all. Not forgetting several hundred thousand reboots because whatever you just did locked up the machine!
__________________
Chris. ->> Links are advertising NOT optimising!! <<-
A foolish consistency is the hobgoblin of little minds
Thought for today:- I SEO the only industry where all the cowboys are Indians?
chrishirst is offline
Reply With Quote
View Public Profile Visit chrishirst's homepage!
 
Old 07-13-2008, 06:08 AM Re: Dissesting a .EXE
Skilled Talker

Posts: 55
Name: Tobias Eichner
Location: Germany
Trades: 0
You mean to disassemble a program ? Look at the EULA (end user license agreement) of the concerned product whether or not this is allowed.

Spoken generally (as chrishirst did already), it is possible but surely not a task for an average computer user (not meant offending, but since you can't deal with the term "hex editor" it shows to me that you aren't a professional programmer, are you ?)

And even for an experienced programmer this is a challenge, because all descriptive elements like comments are missing (they are simply not compiled into the .exe - therefore they cannot be recovered). Also the produced source code may differ significantly from what the original programmer wrote.

I guess you would have more success by writing the software developer and asking for the source code directly ;-)
__________________
Business consulting services:
Please login or register to view this content. Registration is FREE

CGI Perl scripts and software development:
Please login or register to view this content. Registration is FREE
tobias is offline
Reply With Quote
View Public Profile Visit tobias's homepage!
 
Old 07-14-2008, 08:56 PM Re: Dissesting a .EXE
Learning Newbie's Avatar
Defies a Status

Latest Blog Post:
Astounding Republican Paranoia
Posts: 5,662
Name: John Alexander
Trades: 0
Quote:
Originally Posted by chrishirst View Post
.NET compiled executable are the same (if not moreso). The .exe file is more of an extension of the framework than a separate entity. Though I must admit I have never attempted to decompile a third party .net exe, but I would guess it's not something you could work out howit does what it does exactly.
Actually, I need to humbly suggest a visit to the 21st Century (a refresher course in .NET). In fact, there's a 1:1 mapping between MSIL (the "byte code" .NET source is compiled to, for the JIT compiler) and source code.

Using a freeware like the Lutz Roeder .NET Reflector, you can decompile the full source code of an EXE or DLL file. With variable names, if it was compiled in debug mode. Even dotfuscation won't make this impossible.

From here, it's very easy to read and comprehend the code. Perhaps not ethical, but very easy.
__________________

Please login or register to view this content. Registration is FREE


Please login or register to view this content. Registration is FREE
Learning Newbie is offline
Reply With Quote
View Public Profile
 
Old 07-14-2008, 09:03 PM Re: Dissesting a .EXE
Lashtal's Avatar
wherenomanhasgonebefore

Posts: 679
Name: Lashtal
Trades: 0
"...you aren't a professional programmer, are you ?"- tobias

Nope, but i'm willing to learn at a comfortable pace

"Using a freeware like the Lutz Roeder .NET Reflector, you can decompile the full source code of an EXE or DLL file. With variable names, if it was compiled in debug mode. Even dotfuscation won't make this impossible."- Learning Newbie

your username is misleading, lol

This sounds very nice, I will have to look in to this.
__________________
Currently Reading:
Please login or register to view this content. Registration is FREE
Lashtal is offline
Reply With Quote
View Public Profile
 
Old 07-15-2008, 03:19 PM Re: Dissesting a .EXE
Learning Newbie's Avatar
Defies a Status

Latest Blog Post:
Astounding Republican Paranoia
Posts: 5,662
Name: John Alexander
Trades: 0
Lol, thanks. I know a fair amount about databases and .NET code. And politics! In other subjects I'm way behind, but even the stuff I'm good at, there's still plenty to learn.

Here's more info on Reflector.

MSDN's 10 Top Dev Downloads
Using Reflector To Build Custom Add Ins
Wikipedia Article
Add Ins for Reflector
The Lutz Blog - With Download
__________________

Please login or register to view this content. Registration is FREE


Please login or register to view this content. Registration is FREE
Learning Newbie is offline
Reply With Quote
View Public Profile
 
Old 07-15-2008, 10:10 PM Re: Dissesting a .EXE
Lashtal's Avatar
wherenomanhasgonebefore

Posts: 679
Name: Lashtal
Trades: 0
oh wow... This looks like hours, days, and YEARS of fun
__________________
Currently Reading:
Please login or register to view this content. Registration is FREE
Lashtal is offline
Reply With Quote
View Public Profile
 
Reply     « Reply to Dissesting a .EXE
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.32704 seconds with 12 queries