我需要为以下指令找到无空值的替代品,这样我才能将以下代码放入外壳代码中。
我需要转换为无空值的第一条指令是:
mov ebx, str ; the string containing /dev/zero字符串str是在我的.data部分中定义的。第二个是:
mov eax,0x5a谢谢!
发布于 2011-07-28 13:49:32
你提到了通过xor来清除的常量加载,加上inc和shl来获得你想要的任何一组位。
我能想到的加载未知常量(未知的str)的最不脆弱的方法是加载常量xor,并使用像0xAAAAAAAA这样的值,然后在后续指令中返回xor。例如,加载0x1234
0: 89 1d 9e b8 aa aa mov %ebx,0xaaaab89e
6: 31 1d aa aa aa aa xor %ebx,0xaaaaaaaa你甚至可以选择0xAAAAAAAA作为一些有趣的ascii!
https://stackoverflow.com/questions/6854156
复制相似问题