At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
a little piece of information the machine only understands the language of 0s and 1s , the high level languages are only for human readability as it would be extremely difficult to write and interpret code in binary language so whenever a language is formed a compiler is also made for that language which is the link between the human readable language and binary language so it is the compiler which knows what is the equivalent of the high level language in binary and does the conversion
The machine knows more than 1's and 0's, it knows Assembly, which is the machine language. That then it translated into binary, which is on and off, 1 and 0. However you DON'T turn machine language into high level, you do the opposite. You take high level code, compile it into machine code, and then run it.
If you want to convert machine code to a higher level language, a disassembler is the program to use. There's not much call for these complex programs so they're uncommon.
I want to know how can we convert machine code into high level language or any other human readable code but not "Assembly" language..... thanks rsmith6559.....for the disassembler
There may exist some tools that do that, but translating assembly/machine code back into a higher level language is a very difficult procedure, so there are not that many good tools. If you want to use such a tool for reverse engineering, beware that most programs prohibit reverse engineering in their EULA.
KonradRuse, Not sure what you mean by the "the machine knows Assembly." Only binary can be directly executed by the cpu. Assembly has a 1 to 1 correspondence with binary, but in a human readable format, yet the computer can't process it directly. It still has to be compiled to the raw 0s and 1s.
slotema, Not sure what you want this for...rsmith is correct about the disassembler, and if you don't want it in "Assembly" you can probably get it in very low-level, ugly C, which will be almost functionally equivalent to Assembly. No way it's going to have nicely named variables, loops that make easy sense to humans, certainly no comments...it's going to be something that only an extremely experienced programmer with a lot of available time is going to be able to figure out.
@RCMorea That's exactly what I meant by "very diffucult process". Only you manage to say it more clearly. Thanks for that!
Thanks Friends for giving your valuable time