Answer the question
In order to leave comments, you need to log in
How do reverse engineering programs work?
how do programs that do reverse engineering work? And why do they turn them into different assemblers, what does the transformation into one or another assembler depend on? If you know an article on how programs work that turn code into assembler from ordinary code, then send a link to them. Thanks
Answer the question
In order to leave comments, you need to log in
ordinary code turn the code into assembler
On the example of Ghidra: first, a search for machine code patterns is performed (key values like opcodes must match, for this an instruction mask is compiled, then the required target value obtained by bitwise AND with a mask), then the appropriate pattern is converted into two lines. The first one is the header, fed into the disassembler, contains mnemonics and operands, Ghidra uses specifications in the Sleigh language. But this is so, for a warm-up, since disasm is unrealistic to read, this is where an intermediate idea was invented. The bottom line is that each instruction is a microfunction containing code (for example, in the Pcode language, as in Ghidra). It is then sent to the decompiler and elevated to the final C code.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question