lansemumuyu 发表于 2008-9-24 15:19:31

关于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
望大侠指点一下,这里该怎么变通
先谢谢了

yingfeng 发表于 2008-9-24 15:23:12

MOV指令不影响标志位
/:017

lansemumuyu 发表于 2008-9-24 15:26:42

原帖由 yingfeng 于 2008-9-24 15:23 发表 https://www.chinapyg.com/images/common/back.gif
MOV指令不影响标志位
/:017
XOR EDX,FF847C82,我用计算器算了异或完后EDX的值为84778200,所以我想直接把84778200直接赋予EDX,小鸟现在好迷茫

不过还是先谢谢版主

lansemumuyu 发表于 2008-9-24 15:32:50

原帖由 yingfeng 于 2008-9-24 15:23 发表 https://www.chinapyg.com/images/common/back.gif
MOV指令不影响标志位
/:017
那是不是找一些可以影响标志位的指令就可以了??

lansemumuyu 发表于 2008-9-24 15:35:43


或许小鸟想到了
把XOR EDX,FF847C82变成OREDX,FF847C82
还是被杀列
继续去学习~~~~~~~~~~~

[ 本帖最后由 lansemumuyu 于 2008-9-24 15:40 编辑 ]

hflywolf 发表于 2008-9-24 15:36:07

/:001 /:001 /:001

看看这个EDX里的值从哪来的???????

[ 本帖最后由 hflywolf 于 2008-9-24 16:21 编辑 ]

秋风四起 发表于 2008-9-24 17:55:13

我继续潜水看贴。。。。。。。。。。
页: [1]
查看完整版本: 关于XOR的变通