Distribution Dear new programmers, THERE IS NO SUCH THING AS A DECOMPILER.

Status
Not open for further replies.
There is a misconception that every new generation of programmers , in the students that I help learn how to program. Its a phenomenon, that I have talked to all the professors about, changing in their pedagogic planning. For some reason, the new students think or believe, that if there is a compiler that takes source code and compiles it into an executable, then there must be a decompiler that takes that executable and turns it back into the original source code you wrote. Someone asked me if there is a decompiler for game maker studio because some of our students are using game maker studio at our college on their laptops. The answer is NO!

To believe in the idea that there is a decompiler , is to believe that there is a machine that will turn ground beef back into the meat shank that was put into the meat grinder. If you have been led to believe in the concept or have been drawn to the conclusion that a thing , a decompiler exists - its only in your dreams.

The only thing that might come close, is if you *CAN*, take an executable's machine language coding and turn it into assembly language ( which still has no use to a beginning programmer ) . I dont know why this happens, but I had to share this because its a misconception that I correct in every new generation of students in the first year of computer science. IT BUGS ME... that this isn't pointed out to new programmers at our college, from the professors or instructors.

There is no such thing as a decompiler for game maker studio, gcc, g++, or whatever compiler made by Microsoft. And if its true for compilers made for Windows, MAC OS, Linux, its also true for Oracle's Solaris that have compilers. Yes, they asked me that too ( question : Does a decompiler exist for Oracle's Solaris if it does not for Linux? ).

Arrrggghhhh!


Late Edit : I am referring to the same langauges used by compilers on Windows, not just any compiler.
 
Last edited:
There is if you aren't compiling to machine code. GMS1 was an especially popular target because of Undertale. You used to be able to "turn ground beef into a shank" with older versions of GM. No idea about current versions. Compiling using YYC is the best protection.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
There is no such thing as a decompiler for game maker studio
Tell that to Toby Fox... :p https://www.bleepingcomputer.com/ne...undertale-rpg-source-code-released-on-github/

Silliness aside (this was an exception and the decompiler was custom made ONLY for Undertale), and in all seriousness, in relation to GameMaker games it's pretty hard to fully decompile a project and nigh-on impossible if that project was built using the YYC (and I can think of no reason why a final executable shouldn't be built with the YYC). @YellowAfterlife wrote a great article on the subject which you can check out here... https://yal.cc/on-gamemaker-studio-game-decompilation/
 

Toque

Member
I’m not a student or have been. I thought there was java, python, lua decompilers so I could see me asking a question like that.
My apologies.

To be precise I have the programming skills equivalent to a dolphin on Ativan.
 
Last edited:
S

Sybok

Guest
Of course you can decompile code.

Its not the decompilers job to decompile the application exactly as it was originally written by the author. It’s job is to decompile it in a way that it can be recompiled. The resultant source code will likely be different, but when recompiled, will behave exactly as was initially intended.
 

TheouAegis

Member
GM8.1 kept its GML (or some of it) inside the executables. So that could possibly be decompiled. But that's an ancient program now. lol
 
S

Sybok

Guest
LOL, if I remember rightly, it just appended all of the GML to the end of the executable.

Everyone knows that if you want free shaders, just open up anything created in GMS 1 or 2 in Notepad. No decompilation even needed.
 
S

Sybok

Guest
That is absolutely not true at all. There's an open source decompiler developed by an antivirus making company, which turns MACHINE CODE into C. It reconstructs whole functions and even C++ class hierarchies. So yeah...
Agreed. @Lord KJWilliams tends to take what his professor tells him as ‘gospel’ sometimes. Where much of the time it’s just rubbish and mindset of someone who is out of touch.
 
LOL, if I remember rightly, it just appended all of the GML to the end of the executable.
Not only that, the internal resource file structure was intact. I don't remember if resources kept their names, though. You could literally plug in a .exe and get out a .gm81 that was nearly identical to the original. I remember there being quite a few games that were appropriated using it, and at least one person had to be threatened with legal action before they took their stolen version of a game down.

Thankfully, nothing to that extent exists for GMS1/2 to my knowledge. Even if it did, using YYC would prevent that kind of basic "decompiler" (actually more of a "reconstructor") program from working.
 

TheouAegis

Member
I remember seeing GM8.1 had a console command to open the debugger. I tried it on an executable, the GM8.1 debugger opened. I then opened the list of all objects in the room and their variables, saw all the names intact, and laughed. I was like, "Oh, that's not good." First thing I did when I got GMS1 was try to open the debugger from an executable. lol
 

Nidoking

Member
I've worked with a Java decompiler before. We had to fix some stuff in a Java package that we didn't have source code for, so we had to decompile it, fix the errors (because it had been compiled so long ago that Java itself had changed around it, apparently), and recompile it, just so we could start working on the actual problems. The results tend to be very messy to work with because you don't get comments, variables that aren't externally visible get random garbage for names, etc. but you can absolutely decompile anything that runs into some semblance of its original language. You're not going to get a Game Maker project out of it, though.
 
Agreed. @Lord KJWilliams tends to take what his professor tells him as ‘gospel’ sometimes. Where much of the time it’s just rubbish and mindset of someone who is out of touch.
Acutally the problem is that many of the professors in the CS department have to adhere to one pedagogic line of thinking , one group think structure of how students are taught . Which means many other points of views which may be valued , that outside guests present to us - either have to fit in with the line of thinking or be considered second place. Its really crappy, when you teach Computer Science you dont want to teach a limited point of view to only one way of how to get things done. When ever I write my programs and submit them to the department to be considered exercises for students, I have to write portable C that adheres to ISO C11, I cant use anything that is OS specific, or anything that is not considered for portability.

Our classes are geared to aim students to in how to develop software embedded hardware, if they want, aside from software development for specific operating systems. Once a student enters whatever OS they want, we only offer Linux ( Fedora or Ubuntu ) , and Windows 10. We tossed Apple iOS out the door. Instead, we want to add Oracles Solaris systems because we want to explore the idea of importing inventions from Linux to Solaris to see if the benchmark speed can be improved on computers using the same i9 CPUs. The head of the Computer Science department says the speed differences between the i9 and the previous i7 CPUs, have a marginal speed improvement. We avoid AMD products or anything that is not Intel, because we have a special agreement with Intel to test their hardware.
 

kburkhart84

Firehammer Games
Sorry, as others have mentioned, decompilers exist. Depending on how good they are, you won't likely end up with the exact same thing the compiler had to start with, but you can still get pretty close. For example, one for GMS might not spit out actual project files...but the code is there(even if it isn't exactly gml, although it could be converted), and the audio and graphics are also there. The graphics may be just the texture pages and not the actual sprite resources....but trust me when I see its all there. The same applies to any other language, if someone has taken the time to make them. The other catch is that for a decompiler to work, you have to know ahead of time what language the code was written in(if you intend on getting the same thing back anyway), you can't just throw a decompiler for C++ at a GMS created game and expect it to know anything about GMS's texture pages, etc...

And yes, I DID consider other assets besides code as part of the compile/decompile process. IMO, the word "compile" isn't literally just for code, rather more an in general preparation of assets from one form to another, so IMO it applies for example to the process sprites go to going from images to texture pages to whatever they are stored as for final access in a running game. Therefore, assuming you agree with me about this definition of "compile" by extension you would agree with my definition of "decompile" and therefore my above paragraph about things besides code makes sense. If you don't agree, then its just semantics and my point about decompilers existing still stands.
 

GMWolf

aka fel666
Actually I wonder how easy it would be to reverse machine code to GML.
Considering that GML variables are dynamic I think access patterns would be hard to optimize and you may end up with patterns that are easily reveresed.
For instance a variable access would be a address load, a jump table lookup, and a jump where another variae right next to the previous is used.
Local variables might be trickier...
 

Yal

🐧 *penguin noises*
GMC Elder
The decompilers not only existed, but got really notorious at the end of the GM8 lifespan. Basically everyone was aware of the anti-decompiler obfuscator (and also the official thing that made GM6 games run properly on Vista-and-later-windowses), and there were several incidents where people released slightly changed decompiled games (just decompiling games and changing the creator names in a lot of cases). I remember a particular case where some script kiddie would decompile tons of games and putting the sources up for download on their site "for educational purposes" and then aggressively post about it on the GMC.
 

Fanatrick

Member
The decompilers not only existed, but got really notorious at the end of the GM8 lifespan. Basically everyone was aware of the anti-decompiler obfuscator (and also the official thing that made GM6 games run properly on Vista-and-later-windowses), and there were several incidents where people released slightly changed decompiled games (just decompiling games and changing the creator names in a lot of cases). I remember a particular case where some script kiddie would decompile tons of games and putting the sources up for download on their site "for educational purposes" and then aggressively post about it on the GMC.
Excuse me for derailing the topic but I had to share these diamonds in the roughest rough of nostalgia to support the claim.
https://gmnews.wordpress.com/2006/06/19/gm6-exe-decompiler/
http://gamemakerblog.com/2009/05/02/first-person-caught-using-game-maker-decompiler/
 
D

Deleted member 45063

Guest
Decompilers exists and I have used/use them extensively (in the JVM world). The thing is I don't expect a decompiler to give me the exact thing that was compiled, just something that I can work with (as in, get an understanding of a potential version of the source code - even if in a different programming language than the original one). For a decompiler to give the exact same thing that was compiled then either the decompiler needs to be extremely specific for that project or it needs to have extra knowledge about the original source code (e.g. an extra "map" file, debug symbols, GM 8's utter disaster of including all code, etc). So I disagree that students should be told that decompilers "don't exist" but instead they should be taught what to expect from a decompiler.
 
Last edited by a moderator:

Evanski

Raccoon Lord
Forum Staff
Moderator
I love this subject!
I agree with the argument that no decompiler that can " turn ground beef back into the meat shank " but I know for a fact (will not get into my "testing" of game maker in my past) there are Decompilers that can turn your "ground beef" back into a packaged sewed together "meat shank", without the mask what I mean is, As far as I know from my personal use on my own allowed decompilatons, the decompiler can turn the compiled exe and data.win and change it into broken txt files, a texture page .png and the sounds are just exported because they litterly are just thrown into the data.win import the .win into audacity as raw data and you can hear all the sounds point being is, its just a waste of time, the source code you can manage to get is unusable, game maker doesnt allow any built in code editing unless the game is programmed to do so, "you can use Hex editing" yes but thats not the same as decompilers mmkay? Decompiling is a waste of time because it jsut throws up the garbage from the exe that the game already shows you when running the exe.

for this instance a specific decompiler was made for undertale and how it is compiled and coded, this isnt a swiz army knife of decompilation


PS:
Repository unavailable due to DMCA takedown.

decompiling of a game that is not yours nor have the permission to do so, is illegal. :p
 
Last edited:

Roldy

Member
Why is this in the "Programming" section? Shouldn't this be in "Off Topic"?
Would be better if there was a section called 'misinformation,' but the trick is to get people to post in the correct section anyway. This OP makes me want a 'cringe' reaction.
 
Last edited:
It's certainly possible, or at least near possible. Before I started using YYC to compile my games (I didn't eve know what it was for a long time) someone used UndertaleModTool to mod a demo of my game and play as a character you're not supposed to play as. They could see all my assets, all my code, all my rooms. Luckily, I learned about YYC, and now the code is safe.

The thing that scares me is that UndertaleModTool's github page has a section on "YYC research." While it is barren right now.... who knows what the future holds.

Moral of the story, decompiling isn't quite the myth you might think. But for now, use YYC and you should be good.
 
There have been arguments in the past , that I have read on the newsgroup : alt.comp.lang.learn.c-c++ , where people have argued that a decompiler in the context of that forums language does not exist. At that time , was not aware of YoYo Games - Game Maker Studio inventions. It has been an argument that has been talked over and over again at that newsgroup.

See link :

These are all from alt.comp.lang.learn.c-c++

Decompiler
Decompiler 2
Decompiler3


Just so that all of you get the message that I am not the first argue this, that decompilers do not exist in way I was told when I was learning programming in C aside from college grade text books long ago. I was learning long ago my foot steps in programming C, as my professors did way before GMS existed. So I back up my claim not my professors , but to learning most of my information from this newsgroup , which is supported by my professors.

You can find this arugment in many other posts on that newsgroup - for C and C++. For other languages, I cant make that claim . So my information is based on what I have learned from that newsgroup long ago
 
Last edited:
S

Sybok

Guest
Why though? Every second post here is full of people who have done it. You can decompile programs. Compilers do exist.
 
Why though? Every second post here is full of people who have done it. You can decompile programs. Compilers do exist.
only if its not compiled by the YYC.
Decompilers exists and I have used/use them extensively (in the JVM world).
As far as I have seen with Oracles Java, or when it was Sun Microsystems, the Java Compiler does not create stand alone executables like a C or C++ compiler does, it produces a .jar file which requires the JVM. I have read arguments that byte code ( which is not a executable ), can be reverted back into the original code, and reversed engineered. If the Java Compiler could create a stand alone executable like a C or C++ compiler, it was never demonstrated. It was the one language that I had hope to learn, to escape the insane portability requirement in C or C++ when exporting programs between Windows and Linux. The point is, a Java compiler , at least the ones in the past I have used, did not create stand alone executables. Therefore, it cant be regarded as a compiler like djgpp ( a MSDOS port of gcc and g++ by DJ Delorie ), gcc, or g++ , in which a stand alone binary is created, which can run without needing a second program.
 
D

Deleted member 45063

Guest
As far as I have seen with Oracles Java, or when it was Sun Microsystems, the Java Compiler does not create stand alone executables like a C or C++ compiler does, it produces a .jar file which requires the JVM. I have read arguments that byte code ( which is not a executable ), can be reverted back into the original code, and reversed engineered. If the Java Compiler could create a stand alone executable like a C or C++ compiler, it was never demonstrated. It was the one language that I had hope to learn, to escape the insane portability requirement in C or C++ when exporting programs between Windows and Linux. The point is, a Java compiler , at least the ones in the past I have used, did not create stand alone executables. Therefore, it cant be regarded as a compiler like djgpp ( a MSDOS port of gcc and g++ by DJ Delorie ), gcc, or g++ , in which a stand alone binary is created, which can run without needing a second program.
Java's compiler compiles to bytecode which then gets executed in the Java virtual machine. It is not native machine code, but it is machine code for an abstract, cross platform, machine. CPUs have well defined instruction sets, so machine code needs to follow a well-defined structure. With that, you can decompile any code to a source form. Note though that I say a source form, not necessarily the original source form. This is the distinction that I mentioned in my previous post that I think needs to be made to students - you can get source code from a decompiler and an executable, but in most cases it won't be the original source code used to compile the program.

I specifically mentioned the JVM world because that is my most concrete personal use case. I had to work on a closed source JVM system that I needed to heavily probe into in order to make it work the way that was necessary, since it lacked documentation and had poor support. In fact, decompiling JVM-based code is so common that one of the most used IDEs for Java (IntelliJ IDEA) ships with a decompiler that gets used automatically when you Ctrl + click into the body of a compiled class file (after a proper legal disclaimer, obviously). However, in my current work I have seen decompilers being used (albeit not by me directly) in order to patch executables that we did not have the source code for but that had some security vulnerability or such other problems. Do note that I generally include disassemblers in the decompiler category, which you might disagree, but then again someone else already mentioned that you could even recreate C constructs with some decompilers, so even if you ignore disassemblers there are basic decompilers out there. And well, you can always embed asm in C source files, so even then disassemblers could theoretically be used for a sort of higher level source file :p
 
Last edited by a moderator:

Nidoking

Member
This is like saying that you can't decompile a book into the ideas that went into writing it. You have a program. It performs operations. The operations are strictly sequenced, and there's nothing secret about them - if there were, your processor wouldn't be able to run it. Given that information, it's possible to write a program in any language that performs that same sequence of instructions given the same inputs, as long as the language supports those instructions, and if it's the language that was used to write the program, then it must logically support them. While the resulting program is not guaranteed to make much sense or to be readable by a programmer, it is decompiled into source code and can be manipulated and/or recompiled.
 
No dude...

If it exists, it can be decompiled...
Or you can do what my professor did with a game on GMS that I wrote, based on Shawn Spaulding's asteroid game. My professor took the the executable, turned it into assembly code, was able to modify the code and compile it with the assembler back into a new executable which did something I did not program it to do. He made it run faster because the code was optimized for intel specific CPUs.

Then he turned to me and said, " I know assembly x86 inside and out since intel 386 came out. I can take your executable, which is your game, and reverse engineer the code to do anything I want it to. In this case I made your game run faster , but I also made your game incompatible with any other intel CPU other than my i9. You can not convince me that there is a superior programming language other than assembly, because I can take any executable and reverse engineer it by turning into assembly, modify it , and assemble it back into machine code that runs. You cant do that with C or C++, or any other programming language - because those are higher level languages. Unfortunately, assembly langauge is very unforgiving if you make a mistake by one iota. Crashing the computer is the least of your concerns, crashing the hard drive on the platter is an expensive hardware gone toast. I smoked 12 western digital hard drives in 1 week trying to tweak with the drivers written for them"
 
Then he turned to me and said, " I know assembly x86 inside and out since intel 386 came out. I can take your executable, which is your game, and reverse engineer the code to do anything I want it to. In this case I made your game run faster , but I also made your game incompatible with any other intel CPU other than my i9. You can not convince me that there is a superior programming language other than assembly, because I can take any executable and reverse engineer it by turning into assembly, modify it , and assemble it back into machine code that runs. You cant do that with C or C++, or any other programming language - because those are higher level languages. Unfortunately, assembly langauge is very unforgiving if you make a mistake by one iota. Crashing the computer is the least of your concerns, crashing the hard drive on the platter is an expensive hardware gone toast. I smoked 12 western digital hard drives in 1 week trying to tweak with the drivers written for them"
Yes, assembly language is the ultimate god-mode language.
 

FoxyOfJungle

Kazan Games
Just to confirm that I was here before the topic was closed lol 😅

I've already used decompilers to get projects that I lost because in the past I put them on a flash drive and once it broke, the luck that I had his executable, I could recover something. I've used a decompiler made for GMS 2 just to test and it works...

But in the end, in addition to being illegal, it is disrespectful to decompile a project in which it was not done to see the source code, the developer gave his hard work to produce it...

If you want to find out how it was done, the best way is to learn on your own.
 
S

Sybok

Guest
Yeah, I don’t know how such a misleading topic was pulled from Off Topic to Programming and allow to continue this far.

The initial post is BS. There are decompilers. There are lots of them.

THERE IS SUCH THING AS A DECOMPILER.

I have it in caps now, so it must be true.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Just to confirm that I was here before the topic was closed lol 😅
Not quite there yet... We get a LOT of new users and inexperienced users (not necessarily new, but inexperienced in the world of programming maybe), who ask about this and have an (imho) unreasonable fear of decompilers, and as such, discussion of the topic has it's merit and it's place on the forum. That said, it does as long as the discussion is civil, informed and doesn't link to - or explain in any depth - any methods of decompiling. So, please, let's not get into swearing, insulting or name calling, and simply discuss the issue at hand?

Yeah, I don’t know how such a misleading topic was pulled from Off Topic to Programming and allow to continue this far.
It was never IN off topic to begin with. It was made in this forum, although I am going to move into the Game Design and Development forum as it does fit there better, for now.
 

Evanski

Raccoon Lord
Forum Staff
Moderator
You can not convince me that there is a superior programming language other than assembly, because I can take any executable and reverse engineer it by turning into assembly
Superior?
Powerful? Yes. Extremely. You're talking to the computer in its second native language, I dont think there is a binary programming language, but that would be the native language of a Computer.
So of course you could just edit the assembly and tell the computer to do something else and be amazed at "wow! editing code makes the code different!"
 
Because I brought this subject up, last night I wrote to Dr. Bjarne Stroustrup, and asked about the concept of a decompiler in the context of the C++ programming language, and he responded to my message this morning. This is what I wrote , this what he responded with :
email_to_BS1.PNG

So yes, a decompiler can exist - But not for compiled languages, like C++ ( or C ). I was correct in the context of what I know about C++, in the first place, and if the YYC Compiler is based on a C++ compiler then it is also true. A decompiler can not exist to work in this context. I still stand correct in my original statement that I posted. I never mentioned anything about interpreted languages in my original post.
 
Last edited:
But not for compiled languages, like C++ ( or C ). I was correct in the context of what I know about C++, in the first place, and if the YYC Compiler is based on a C++ compiler then it is also true. A decompiler can not exist to work in this context. I still stand correct in my original statement that I posted.
Um, no. Did you actually read what he wrote?
You can decompile, but you can't decompile C++ very well....
He has not said you can't decompile C++. He said you can't decompile it very well - which still means you can decompile it.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
OMG! Your professor is Bjarne Stroustrup! I honestly don't think I'd argue with him about ANYTHING related to C++... :p

(must be a privilege to have such a distinguished teacher!).

That said, he didn't exactly say that C++ code can't be decompiled... just that it can't be "very well" decompiled... so this suggests it CAN be decompiled, but the results will be pretty poor or at best vary greatly.
 
D

Deleted member 45063

Guest
Basically what he told you was what was told here over and over again: you can always get some sort of source code form from it, but you'll hardly get the original one.
 
S

Sybok

Guest
Assembly is what gets assembled into machine code.
Assembly has labels, jumps to labels (instead of absolute/relative jumps), comments, etc
No. Not necessarily at all.

Ever coded using ‘debug.exe’ in the DOS days? The correlation between assembly and machine code was 1:1.

You can code in pure hex, no problem at, if you know the hex codes for the operands.

You are confusing assembly with, higher level assembly. The ones where you can use labels, have to compile, and link.

With low level assembly, you can just open a hex editor and start typing. I‘ve done it many a time.
 

GMWolf

aka fel666
No. Not necessarily at all.

Ever coded using ‘debug.exe’ in the DOS days? The correlation between assembly and machine code was 1:1.

You can code in pure hex, no problem at, if you know the hex codes for the operands.

You are confusing assembly with, higher level assembly. The ones where you can use labels, have to compile, and link.

With low level assembly, you can just open a hex editor and start typing. I‘ve done it many a time.
Mnemonics and extended mnemonics have pretty much alwasy been part of assemblers. Labels and comments are also pretty much always used.

Higher level assembly, at least in my mind, designates the flavours of assebly with IF and LOOP directives, entire standard libraries and even things like structs.

yes you can change the machine code directly using a hex editor but you are not changing the assembly: You dont have to pass that through an Assembler to produce the machine code. Its already machine code.

Machine Code = the bytes the CPU reads
Assembly: Text that can be fed through an assembler to produce machine code.

Because I brought this subject up, last night I wrote to Dr. Bjarne Stroustrup, and asked about the concept of a decompiler in the context of the C++ programming language, and he responded to my message this morning. This is what I wrote , this what he responded with :
View attachment 34331

So yes, a decompiler can exist - But not for compiled languages, like C++ ( or C ). I was correct in the context of what I know about C++, in the first place, and if the YYC Compiler is based on a C++ compiler then it is also true. A decompiler can not exist to work in this context. I still stand correct in my original statement that I posted. I never mentioned anything about interpreted languages in my original post.
I think you may have miss understood.
The way I understand it is that you will be able to dissasemble it, even get C code from it, but it wont be the same C++ code ou fed in.

One of the reasons i think C decompiles much better than C++ is that c++ does not have a fixed ABI. in fact C++ calls can get quite contrived, nothing like the fairly clean calls you get in C.
This means when decompiling you will often fing jumps/gotos rather than the original function call, especially if you have the optimizer turned on.
That being said with my very limited decompiling experience, non inlined functions are usually identified.

EDIT: LINK REMOVED
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
That said, it does as long as the discussion is civil, informed and doesn't link to - or explain in any depth - any methods of decompiling. So, please, let's not get into swearing, insulting or name calling, and simply discuss the issue at hand?
It seems some people missed this message previously as I've had to remove two links now. So I've made it a bit more prominent and hope that you will all get the message... ;)
 
S

Sybok

Guest
Machine Code = the bytes the CPU reads
Assembly: Text that can be fed through an assembler to produce machine code.
Machine Code = the bytes the CPU reads
Assembly: Text that can be fed through an assembler to produce machine code. The human friendly version of those same bytes.
 
OMG! Your professor is Bjarne Stroustrup! I honestly don't think I'd argue with him about ANYTHING related to C++... :p

(must be a privilege to have such a distinguished teacher!).

That said, he didn't exactly say that C++ code can't be decompiled... just that it can't be "very well" decompiled... so this suggests it CAN be decompiled, but the results will be pretty poor or at best vary greatly.
I have emailed Dr.Stroustrup before, long ago about something . Hes the person who created C++ and so I had to ask - I mean, he knows more about how a C++ compiler works since he had to design it or the langauge wouldn't work. I did not argue with him, I asked a honest question - which was related to the discussion here. When I read the the words "you can't decompile C++ very well" , it means that no matter the result, the end process leaves out essential information with what ever it can produce. Is it worth the trouble? Unless you like doing guess work, the answer is NO. At that point , if you have truely lost your source code, your going to have to reinvent it again.

I remember something like that happening to me long ago , where I lost the source code. So I had to go through my notes and rough draft hard prints and type it all back in.
 

rIKmAN

Member
When I read the the words "you can't decompile C++ very well"
What about the first 3 words where he said "You can decompile" - your original statement was that it could not be done.
You keep moving the goalposts to fit your argument.

It's okay to be wrong - it's how we learn.
However until you're sure of what you are talking about I wouldn't advise giving PSA's in all caps to new programmers that are full of misinformation.
 
Status
Not open for further replies.
Top