我想编写一个能够修改自身代码段的程序。例如,考虑这个汇编代码:
原始代码:
i1: mov eax,0
i2: mov eax,0X01
我希望在运行时使用相同的代码生成的代码:
i1: mov eax,0
i": // some modifing instructions that when are excuted they change the i2 and/or add or remove some instruction such i3
i2: jmp 0x32
i3: mov ebx,0x67
您在执行指令i2
后看到i"
已更改。 i"
有义务修改其转发代码说明。
现在我的问题是:
感谢我的朋友们。
答案 0 :(得分:0)
在16位实模式和v86模式中,我们可以简单地写入代码段:
i1: inc bx ; 43h = opcode of "INC BX"
mov al,4Bh ; 4Bh = opcode of "DEC BX"
mov cs:[i1],al
德克