Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Can my VC++ MFC program be decompiled?

Status
Not open for further replies.

nimaata

Programmer
Jan 3, 2005
27
US
is it possible for someone to decompile my VC++ MFC program? i rather people not decompile it and read all the algorithims and codings, but im worried b/c someone already told me they did...i dunno if they are lieing or telling the truth
 
No.

No one can decompile anything.

People can disassemble things, but no one can disassemble anything and extract anything at all meaningful from it unless they devote their next year to figuring out how the heck it works. Even then, they'll have no idea what you did -- only what the compiler made of what you did.
 
I have decompiled MANY programs. The only problem I've had is establishing the variables. Program logic does become apparent.
 
wait so u could see their algorithims and such?
 
eventually....

I decompile programs into Assembler. I can figure out algorithms if given enough time.
 
There is no way to prevent someone from decompiling your code into assembly language. However, there is no way they could get your C++ code back from it, so it would take a ton of work to figure out what it is doing if it is a medium or large sized program.
 
The main thing to be worried about is the strings you use in your program. If anything is password protected with a hard-coded string, or displays a certain message, someone can use a disassembler or dumpbin.exe to find out where the string is referenced, then look for any code that would or would not call the routine that string is in, then change the operation to say 'je' (jump if equal to) to 'jne' (jump if not equal to). If there's a string that you really want to hide, I always thought I might hard-code the string in an array of integers, then loop through the array, converting them to chars, and build the string at runtime. Probably a pretty crappy way to do it, but I've never had any need to worry about anybody disassembling any of the stuff I've done. :)

BlackDice

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top