
如图,这些个字节应该是后面汇编语句的16进制代码吧?我白菜
第一行的8b 1d 2c 49 42 00 假如我想将8b改为9d,C++中我用api函数WriteProcessMemory往41FEC5这个地址写入了1个字节9d,为什么这条字节数据变成了9d 1d 2c 49 42 00 00 00多出了好多字节,该如何正确修改呢?
------解决思路----------------------
你得知道你为什么要将 8B 修改我 9D 吧。每行前面“字节”列是后面“指令”的机器码。8b 1d 2c 49 42 00 是个完整的指令;9d 一个字节就是个指令了,popfd;你这样该了,后面的 1d 2c49 42 00 就会 形成一个错误的不需要的指令了,如果不是这些内容,可能涉及的数据会变化或形成更多的指令;如果确实只需要将它们修改我 9d 这样一个 popfd 指令,后面的 5 个多余的字节要用 90 这样的 nop 指令进行填充。