关于XOR的变通
逻辑异或操作指令XOR指令的格式:XOR Reg/Mem, Reg/Mem/Imm
受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑"异或操作",操作结果存入目标操作数中。
mov....--->00402536
call...
....
....
xor eax,eax--->返回为0//or eax,eax
retn
我这里有这样一个程序,下面是代码的一部分(做免杀修改特征码用到的):
.............
004052E2:54 PUSH ESP
004052E3:8BD0 MOV EDX,EAX
004052E5:58 POP EAX
004052E6:8BE2 MOV ESP,EDX
004052E8:5A POP EDX
004052E9:81F2 827C84FF XOR EDX,FF847C82
004052EF:52 PUSH EDX
004052F0:5A POP EDX
.............
我想把004052E9这里的XOR EDX,FF847C82给它变通一下
我变成了MOV EDX,84778200
改完以后程序就跑不起来/:002
看来是小鸟改错了/:002
望大侠指点一下,这里该怎么变通
先谢谢了 MOV指令不影响标志位
/:017 原帖由 yingfeng 于 2008-9-24 15:23 发表 https://www.chinapyg.com/images/common/back.gif
MOV指令不影响标志位
/:017
XOR EDX,FF847C82,我用计算器算了异或完后EDX的值为84778200,所以我想直接把84778200直接赋予EDX,小鸟现在好迷茫
不过还是先谢谢版主 原帖由 yingfeng 于 2008-9-24 15:23 发表 https://www.chinapyg.com/images/common/back.gif
MOV指令不影响标志位
/:017
那是不是找一些可以影响标志位的指令就可以了?? 哦
或许小鸟想到了
把XOR EDX,FF847C82变成OREDX,FF847C82
还是被杀列
继续去学习~~~~~~~~~~~
[ 本帖最后由 lansemumuyu 于 2008-9-24 15:40 编辑 ] /:001 /:001 /:001
看看这个EDX里的值从哪来的???????
[ 本帖最后由 hflywolf 于 2008-9-24 16:21 编辑 ] 我继续潜水看贴。。。。。。。。。。
页:
[1]