0

I am currently reversing RUST binaries, and I often come across this block of instruction :

.text:000055F4BFB943F2 db      2Eh
.text:000055F4BFB943F2 nop     word ptr [rax+rax+00000000h]
.text:000055F4BFB943FC nop     dword ptr [rax+00h]

Which probably does nothing. I can see the rogue byte at the beginning, but pressing C on IDA to disassemble from there gives no result. Thus, I am wondering why rust compiler create those instructions as they appear to be useless.

  • "Block of instructions": are you sure this appears inside an executable flow? It looks like inter-function padding, nothing more. Padding is not "useless", although the instructions themself are. (And that "rogue byte" is just a segment override.) – Jongware Jul 23 at 15:08
0

These are instructions used for alignment. You can see that the last instruction ends on a 16-byte boundary (000055F4BFB94400).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.