首页
社区
课程
招聘
[求助]问一下很弱的问题
发表于: 2007-11-9 02:23 4523

[求助]问一下很弱的问题

2007-11-9 02:23
4523
004060FF  |>  D1EA          |/SHR EDX,1                                 ;EDX=EDX>>1
00406101  |.  72 06         ||JB SHORT GameCM02.00406109                ;if (EDX<EDX)
00406103  |.  81F2 20292D3A ||XOR EDX,3A2D2920                          ;EDX^3A2D2920
00406109  |>  0FBAE2 08     ||BT EDX,8                                  ;测试EDX第8位是否为1
0040610D  |.  73 03         ||JNB SHORT GameCM02.00406112               
0040610F  |.  80E6 FE       ||AND DH,0FE                                ;DH & FE
00406112  |>  FEC8          ||DEC AL                                    ;AL--
00406114  |.^ 75 E9         |\JNZ SHORT GameCM02.004060FF               ;if (AL!=0)

主要是看不懂SHR EDX,1
                  JB xxxxxxxxxxxx
              和BT EDX,8
用C语言应该怎么样写?
请指导一下好吗?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 721
活跃值: (350)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
2
你看看是不是这个(很怪异的编译器):
edx>>1;
if (edx >= 0)
{
    edx ^= 0x3A202920;
}
if (!(edx ^ 0x80) )
{
    edx &= 0xFFFFFEFF;
}
...
2007-11-9 07:14
0
雪    币: 108
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
感谢happytown!
2007-11-9 09:16
0
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
00406109  |>  0FBAE2 08     ||BT EDX,8                              
0040610D  |.  73 03         ||JNB SHORT GameCM02.00406112
2007-11-9 09:19
0
雪    币: 108
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
结果跟原来的一样,还是不对!应该是这句判断
edx>>=1;
if (edx >= 0)
................

我测试了一下
第一次:edx=0x28;
第二次:edx=0x1d169404;
第三次:edx=0x139dde12;
第四次:edx=0x14d87b19;
第五次:edx=0x177aa91c,这一次没edx ^= 0x3A202920;
2007-11-9 10:01
0
游客
登录 | 注册 方可回帖
返回
//