6 private links
Modern decompilation is built on many techniques from both binary analysis and classic compilation algorithms. Fundamental research in this area focuses on improving base decompilation across all languages.
objdump -d b00t |sed 's#^ .:\t##;s#\t.$##'|grep -Ev '.text|Disassembly|file'|grep -Ev '^$'|tr -d "\n "|xxd -r -p
xxd|sed 's#^.: ##;s# .$##;s# ##g;s#..#& #g'|tr -d '\n'
Asm<int>(
MOV(ecx, 5_d),
MOV(eax, 0_d),
"start"_label,
CMP(ecx, 0_d),
JE("done"_rel8),
ADD(eax, 6_d),
DEC(ecx),
JMP("start"_rel8),
"done"_label,
RET()
);
Understanding cdecl, stdcall, and fastcall is critical to understanding x86 assembly
Each of the CPUs has its own set of registers and modes. Only the memory is shared between them. That means that, in order to put the 8 cores of an i7 into long mode, we have to execute the very same procedure for each of the cores, because each core has its own register set, GDT, LDT etc. Therefore, we are able to start a CPU in real mode and keep it there, while directing another CPU to long mode