主题:慎用花指令-与置入代码冲突
易友:东灿
如题。
单句置入代码不存在问题
但在多句置入代码的格式下时会出现问题
如
置入代码( #cmp_eax_eax )
置入代码( #je_b + {1} )
置入代码( #nop )
置入代码( #nop )
插入花指令时每行置入代码的中间被插入一堆花指令,导致je跳转到的地址在花指令中间,并且是被跳到非法指令的地方去了。如本例子所演示的被跳到一个mms指令里。程序非法关闭了。
所以平时写工程学,写模块,写sdk的大哥们注意了,你们的内联汇编代码可能在插花的情况下无法使用。
如题。
单句置入代码不存在问题
但在多句置入代码的格式下时会出现问题
如
置入代码( #cmp_eax_eax )
置入代码( #je_b + {1} )
置入代码( #nop )
置入代码( #nop )
插入花指令时每行置入代码的中间被插入一堆花指令,导致je跳转到的地址在花指令中间,并且是被跳到非法指令的地方去了。如本例子所演示的被跳到一个mms指令里。程序非法关闭了。
所以平时写工程学,写模块,写sdk的大哥们注意了,你们的内联汇编代码可能在插花的情况下无法使用。