使用两个字节(intel)使eax = 1

Spy*_*ros -1 assembly

这个问题可能听起来很奇怪,但是需要将代码注入二进制文件.

你能想到一种方法来使eax等于1,而不依赖于携带标志或其他内容,其他寄存器等内容吗?

但仅限2个字节.3很容易,它可以通过多种方式完成,但可以用2完成吗?

500*_*ror 5

我怀疑你的意思是2个字节,而不是2个操作码.如果你真的是指2个操作码,那么可以想到以下3字节的替代方案:

  xor eax, eax
  inc eax

  sub eax, eax
  inc eax
Run Code Online (Sandbox Code Playgroud)

我不能立即想到一个两字节的序列会做同等的事情 - 我怀疑没有.