Jui*_*icy 2 x86 assembly exploit opcode
我需要为一个漏洞利用演示制作一个跳转操作码.
我需要在跳转指令后跳转到大约200个字节.这太过分了jmp short.
如果我使用常规跳转生成操作码,jmp $200我会得到:
e9 fb 01 00 00
Run Code Online (Sandbox Code Playgroud)
这里的问题是操作码包含00,当将字符串传递给程序时,它被解释为字符串的结尾(因此我不能将完整的shellcode传递给它).
我认为我的方法被搞砸了,但后来我检查了手册,在第二行显然有一个"近似跳跃"需要2个字节(还有另一个需要4个字节,我上面显示的那个).这两个跳转都以相同的字节开头e9.
我如何通过e9 fb 01只接受两个字节参数的近跳转?如何阻止操作系统查找后的四个字节e9,即:e9 fb 01 90 90?
你不能.
当处理器在32位模式下运行时,0xE9操作码使用32位偏移,而当处理器处于16位模式时,0xE9操作码使用16位偏移.