[QUOTE=aldiboronti]
OK, I just know this is a dumb question, but I need some ignorance dispelled here.
I recall instances where some proprietary part of Windows has been leaked on to the net, allowing hackers to attack vulnerabilities, etc.
My question (and here comes the dumb bit): how is anything in Windows a secret when the code is all there on any computer that uses it, and can presumably be disassembled and examined at leisure.
What am I missing?
[/QUOTE]
Just to add this… ‘disassembly’ of source code is a very basic transform of the machine code instructions into marginally human-readable commands… taking the form of a huge mass of instructions like ‘load from memory address 55323 into register 17. Add registers 12 and 19 into register 3. If register 7 is anything but zero, branch ahead 234 lines. Store from register 22 into memory address 28341. Now jump to line 48124.’
This will tell you, kind of, the stuff that a program is actually doing and how it is doing it, but in such a disorganized way that it’s hard to track the significance of anything that’s going on… you can see plenty of trees, but can’t get the lay of the forest.
Some programming languages have had decompilers worked out, which can go one step further that disassembly, and make a guess at expression statements, if-then and looping structures, functions and subprocedures. However, certain elements from the source code are never compiled, such as programmer comments, variable names, function and subprocedure names. Thus, decompilers can’t even see the comments, and they make up their own variable names etcetera. This means that it can still be enormously difficult to figure out what the decompiled source code was trying to do.
(Heck, sometimes it’s even hard to tell that with the original source code, depending on how good the author was as far as writing self-documenting code - choosing variable names that mean something, etcetera.)
Hope that helps.