Would it be possible to decompile a proprietary os such as Windows or Mac os and inspect it's source code to make sure...

Would it be possible to decompile a proprietary os such as Windows or Mac os and inspect it's source code to make sure whether it has any backdoors?

Other urls found in this thread:

boomerang.sourceforge.net/
hex-rays.com/products/decompiler/index.shtml
twitter.com/NSFWRedditGif

If you know how to read a fuckton of assembly

Isn't windows also written in C and C++?

I don't think you understand how the decompiling process works.

Not really, I'm kind of a newfag

Imagine a cake, completely baked and everything. Now imagine trying to get your eggs and milk back out of the baked cake. That's what reverse-engineering is like. To reverse engineer an entire operating system would be a gigantic undertaking. The first thing you would need to do is disassemble to binary, which gives you the assembly code. That's easy since machine code and assembly map 1:1, but you have no idea why any of the code is where it is, you don't have any comments, macros or labels. It's like having a listing of all the molecules in the cake. Getting from assembly to the C code the assembly was copiled from is the hard part. And even then you would still be missing all the comments and macros.

Yes.
No. The "source" you get from reversing binaries is way worse than the original source code, however horrible it may be. Unless you can isolate what you're interested in you're fucked. Linux, with the source, takes many, many, many days to understand a small part of. It isn't like there's some great secret there either, if what you want is some functions you can reverse only them instead of the whole mess.

Yes, but you'd need either a neural net and tons of horsepower (maybe, people have only really somewhat experimented with the idea of decompilation via AI) or a massive crack team of expert C, C++ and Assembly coders with intimate knowledge of MSVCC and Windows internals obtained from leaks, experimentation and documentation and reverse engineering. Decompilers do exist but they will only get you so far and they will make mistakes.

What if we had a machine that could translate assembly to a human-readable language?

Wouldn't that make every piece of software essentially Open Source?

What you're referring to as Cake, is in fact, Batter/Cake, or as I've recently taken to calling it, Batter plus Cake. Cake is not a baked good unto itself, but rather another festive foodstuff of a fully functioning Batter portion made useful by the Batter, eggs and milk comprising a full baked good as defined by CROCKER.

Compiling is not a reversible process, even theoretically. At the very least you lose all the comments, and depending on how thorough the compiler is you're likely to lose names given to variables and functions and so on and to have different pieces of code compile to the same instructions because they have identical results, even though one of the forms might be much harder to understand. Both of these programs compile to the exact same binary:
#include /* Print the numbers 0 through 9 */void main(void) { for (int counter = 0; counter < 10; counter++) { printf("%d\n", counter); }}
#include void main(void) { int i = 0; while (i < 10) { printf("%d\n", i); i++; }}

Not to mention that having the source code doesn't give you the right to do things with it. Open source (and free software) requires the legal right to study and modify and distribute the source code, not just access to the source code.

you have a better chance of building AI with organic neurons affixed to a computer chip

You can make a dissasembly of the software and then write equivalent code based on the dissasembly. This is what reverse-engineering is. It's illegal to disassemble proprietary software. This is what stops people like the ReactOS and Wine developers from doing just that.

That's actually wrong. Compilers know assembly better than humans do. The code just wont be as human-readable (ie. Lack proper comments)


You're retarded

Source code is meant to be
- understandable by computers
- understandable by humans
Both the original and the decompiled source code are understandable by computers, and when compiled they result in the same binary, so their quality is equal in that respect. One of them fails badly in the second category, though. Can you guess which one?

Don't listen to these dropouts and hobbyists. What you're looking for is a decompiler. Here are two decent ones:

Decent:
boomerang.sourceforge.net/

Best, but not free software (free as in free beer):
hex-rays.com/products/decompiler/index.shtml


A decompiler takes as input an executable file, and attempts to create a high level, compilable, possibly even maintainable source file that does the same thing. It is therefore the opposite of a compiler, which takes a source file and makes an executable. However, a general decompiler does not attempt to reverse every action of the decompiler, rather it transforms the input program repeatedly until the result is high level source code. It therefore won't recreate the original source file; probably nothing like it. It does not matter if the executable file has symbols or not, or was compiled from any particular language.

That is wrong.

Decompiled code is not source code. The idea of OP is that we are to read the decompiled Windows code in order to study it for backdoors. Decompiled code will not improve the practicality of studying the code.

Decompilation produces human-readable code in the source language which is functionally equivalent to the original program. Any backdoor in the original source will be readily visible in the reconstructed source, perhaps even moreso due to the inherent deobfuscation. Are you embarrassed to be this stupid?

I'm a retard who can reverse engineer code from binaries

The decompiled code has to match the binary or the decompiler isn't doing its job properly, and the original source code has to match the binary because that's where the binary came from in the first place. Optimization can make the two "sources" look very different, but they would result in practically the same binary.

The source code to Windows NT was leaked years ago


I dont think you understand the difference between disassembling something and decompiling it


I dont think you know what the word illegal means


Which is why people bother to hand tune assembly?

...

you just described Holla Forums in 10 words

Disassembly and decompiling are synonyms.

There's links to it here on 8ch if you know where to look.


The code you get from looking at the assembly is often very hard to read, it often jump around a lot making it difficult to understand the flow of an application. It can be done, but it would take a ton of time. How do you think Worms spread back in the early 2000s? People disassembled various parts of Windows and looks for holes.

I guarantee you somewhere out there, people are selling backdoors they find for money. Chinese hackers have allegedly been doing it for years.

what if you don't?

No they're not you goddamn retard. Go and look up the different parts of compilation and then you'll realise what a fucking moron you are.

Oh how I wish it worked that way. Reverse engineering is extremely hard and takes a really long time. You won't be able to see any of the useful stuff like comments that make the code easy to understand. At best, you could figure out how certain things work and then rewrite those programs yourself to recreate the functionality of the original.

You're wrong. Disassembly is a form of compilation. Compilation is simply the translation of one language to a different language.

this
see the curious case of one ReactOS

lethal intensity groaner

Post-humorous EnglishMan

HI GUYS I'M A LONELY GURL FROM MOLDOVA :)

IF YOU ARE RICH, SENT ME 100 BIT-COINS TO:

SO WE CAN MEET AND HAVE SOME FUN xxx

is this a new maymay i don't understand.