首页
社区
课程
招聘
[讨论]如何用or指令进行有符号运算
发表于: 2006-6-19 07:31 4276

[讨论]如何用or指令进行有符号运算

2006-6-19 07:31
4276
在调试程序时碰到这样一段指令

mov eax,esi                   (esi=3)
or eax,0ffffffff              (这一句指令)
cmp eax,67BD0

尝试将S寄存器标志置1,但是无效,不知该如何修改esi值和标志寄存器
才能使eax值为67BD0呢,望高手指点。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (3)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这是个问题,可以把整个几条语句都改一下的!
2006-6-19 09:13
0
雪    币: 246
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不能改整个语句。因为mov eax,esi指令在一个文件里,后面的or eax,0ffffffff语句是在另外一个文件里。现在只能修改前一个文件,有人修改成功,但是加了穿山甲的壳,无法得知是如何修改的。个人认为此问题带有一定技巧性,值得探讨,望大家集思广益,不吝赐教。
2006-6-19 22:04
0
雪    币: 207
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
没有用的,你怎么弄经过这一指令or eax,0ffffffff 后EAX的值都是FFFFFFFF

另外有一种可能,因为你贴的代码太少,只是猜

在上面或下面有一个跳转可以直接跳转到cmp eax,67BD0这一行,在OD里分析下代码,看下有没有跳转
2006-6-19 23:30
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册