You are viewing a single comment's thread.

view the rest of the comments →

[–] 26556013? 0 points 3 points (+3|-0) ago 

Don't thank him for the information.
All compilers do is convert higher level languages into Assembly, and Assembly can be read by humans, or coded in.
https://en.wikipedia.org/wiki/Assembly_language
Roller Coaster Tycoon was coded entirely in Assembly, by a grade SSS+ Autist.
http://www.alearned.com/roller-coaster-tycoon-programmed-one-guy-assembly/
The code can be analyzed, as is, without the need of a decompiler.
A decompiler just makes the analysis faster for junior-mid level programmers.
And yes. I am claiming that you are not a high level programmer, unless you can read and write in Assembly.

[–] 26556585? 0 points 3 points (+3|-0) ago 

The code can be analyzed, as is, without the need of a decompiler

while technically true, in practice it is not. it sounds from your post that you're a fanboy of coding, but not an actual assembly coder beyond perhaps a "hello world". even just following JMPs around is such a huge pain in the ass that we have made tools to make our lives easier which includes disassemblers. and if the code is intentionally obfuscated it becomes arbitrarily difficult to read without toolkits. would you really want to follow a thousand references in a row by hand?

or are you going to tell me that all the best crackers in the world are junior-mid level programmers because they use tools instead of wading through printouts of raw assembly?

btw nobody codes in assembly unless they're autistic or have to (which is a tiny number of cases). from a practical standpoint, C is a tool for writing and reading assembly faster and with fewer mistakes. and, given the state of compilers these days, the assembly that C generates is faster than hand-written assembly outside of a handful of toy examples.

A decompiler just makes the analysis faster for junior-mid level programmers. And yes. I am claiming that you are not a high level programmer, unless you can read and write in Assembly.

that's like saying you're not a good construction worker unless you can move a large pile of dirt with a spoon instead of a shovel. and that bulldozers are for noobs.

[–] 26557387? 0 points 1 point (+1|-0) ago 

it sounds from your post that you're a fanboy of coding

Seriously. Fuck off. I've worked on hardware that is in museums now.
Also, I claimed that you didn't need a decompiler to work on code.
Not once did I say that you can only code in Vim with 80 character line limits.
Yes, you can use tools to read, write, and debug Assembly directly.
In fact there are many non PC areas where writing Assembly is flat out required.
Many, but not all, of those instances are where you are going to be working with, or next to someone with a soldering iron.

btw nobody codes in assembly unless they're autistic or have to (which is a tiny number of cases).

Thanks for belittling every person that has written firmware, kernel code, and coded EEPROMs.
Oh, and lets not forget the Compiler Authors in there.
The people that made your ignorant arrogance even possible, by providing you with higher level languages to remove most of the tedium of writing out assembly, and keeping track of which calls you can make for each processor you expect your code to run on.
Sincerely fuck you. You ignorant, arrogant, entitled, holier than thou, piece of shit.

Oh yeah, by the way. If Assembly is just some "fanboy" thing, then why does ever higher level language let you write in Assembly blobs? It couldn't be that sometimes the compiler gets it wrong, could it? NoOoOoOo. The compiler, writen by humans, is perfect in every way. In fact that's why all compilers are version 1.0. Because they got it right the first time.
Fucking idiot.

[–] 26556236? 0 points 1 point (+1|-0) ago 

Hey man, I know nothing about code or how any of this shit works. Was just thanking the dude for posting information that was interesting. Didn't even know what the hell a "compiler" was. Actually I still don't really know, but hey, at least it's got me interested.

[–] 26557633? ago 

[–] 26556893? ago 

The info they posted is phrased poorly and misleading.

[–] 26557659? ago 

Compiled code gets converted into machine language, essentially just a bunch of numbers. The following instruction x86 instruction:

MOV eax, 1

Raw can look like this:

00 15 00 00 00 04 00 00 00 01

These numbers are just random, unless you assign meaning. 00 15 could be the x86 opcode for 'MOV' and then the CPU knows that MOV takes 2 operands, a destination and src and reads a certain number of bits ahead for each operand. This is how compiled code works, it reads a number, this gets converted to a CPU operation, and then each CPU operation has a number of operands that the computer has to read.

This is why you have to compile for each target machine x86 vs ARM vs SPARC or 32 vs 64 bit. And to reverse engineer any compiled program, you need a decompiler because it gives you context to the bits.

[–] 26557498? ago 

True. But tedious as hell.