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.

1
  • "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
    Commented Jul 23, 2020 at 15:08

1 Answer 1

0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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