首页
社区
课程
招聘
[旧帖] [求助]我刚学汇编,大牛们帮我解释一下这几句话什么意思。谢谢! 0.00雪花
发表于: 2009-7-1 20:56 3936

[旧帖] [求助]我刚学汇编,大牛们帮我解释一下这几句话什么意思。谢谢! 0.00雪花

2009-7-1 20:56
3936
004BE5CF   .  80E0 3C       and al,3C
004BE5D2   .  FF3407        push dword ptr ds:[edi+eax]
004BE7B5   >  8A16          mov dl,byte ptr ds:[esi]
004BE7B7   . |28DA          sub dl,bl
004BE7B9   . |80F2 47       xor dl,47
004BE7BC   . |C0C2 06       rol dl,6
004BE7BF   . |F6DA          neg dl
004BE7C1   . |F6D2          not dl
004BE7C3   . |83C6 01       add esi,1
004BE7C6   . |28D3          sub bl,dl
004BE7C8   . |0FB6C2        movzx eax,dl
004BE7CB   . |8D0C85 9CEA4B>lea ecx,dword ptr ds:[eax*4+4BEA9C]

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 264
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不如用O汇编反编一下就知道什么意思了。
所有指令全中文化。
00401000    81EC90000000                  栈址32 -= 00000090
00401006    53                            压栈 基数32
00401007    55                            压栈 基址32
00401008    56                            压栈 源址32
00401009    8BB424A0000000                源址32 = [双字|栈址32+栈址32+000000A0]
00401010    57                            压栈 的址32
00401011    56                            压栈 源址32
00401012    FF1520704000                  调用 [双字|00407020]  //GDI32.dll->SaveDC
00401018    6A02                          压栈 02
0040101A    56                            压栈 源址32
0040101B    FF1524704000                  调用 [双字|00407024]  //GDI32.dll->SetGraphicsMode
00401021    33DB                          基数32 ^= 基数32
00401023    6A01                          压栈 01
00401025    53                            压栈 基数32
00401026    56                            压栈 源址32
00401027    FF1528704000                  调用 [双字|00407028]  //GDI32.dll->ModifyWorldTransform
0040102D    53                            压栈 基数32
0040102E    53                            压栈 基数32
0040102F    53                            压栈 基数32
00401030    56                            压栈 源址32
00401031    FF152C704000                  调用 [双字|0040702C]  //GDI32.dll->SetViewportOrgEx
00401037    53                            压栈 基数32
00401038    53                            压栈 基数32
00401039    53                            压栈 基数32
2009-7-1 21:00
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你在说这个功能我也不知道是干什么呢,可能是不全吧.
004BE5CF   .  80E0 3C       and al,3C                                  ;al与3C做与操作
004BE5D2   .  FF3407        push dword ptr ds:[edi+eax]    ;将ds:[edi+eax] 以双字类型压入堆栈
004BE7B5   >  8A16          mov dl,byte ptr ds:[esi]             ;将ds:[esi] 以字节类型传送到dl
004BE7B7   . |28DA          sub dl,bl                                      ;dl=dl-bl
004BE7B9   . |80F2 47       xor dl,47                                    ;dl与47做异或操作
004BE7BC   . |C0C2 06       rol dl,6                                      ;dl循环左移6位
004BE7BF   . |F6DA          neg dl                                          ;dl=-(dl)
004BE7C1   . |F6D2          not dl                                          ;dl 做罗辑非操作 (原0变1,1变0)
004BE7C3   . |83C6 01       add esi,1            ;将esi+1
004BE7C6   . |28D3          sub bl,dl                                      ;bl=bl-dl
004BE7C8   . |0FB6C2        movzx eax,dl                             ;把dl变为32位的再传送到eax
004BE7CB   . |8D0C85 9CEA4B>lea ecx,dword ptr ds:[eax*4+4BEA9C]      ;将这个双字类型的地址传送到ecx
2009-7-2 09:16
0
雪    币: 59
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习中,谢谢。
2009-7-2 21:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看一个汇编就知道这个代码是做什么用的,怎么才能做到啊。
2009-7-7 13:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习中,支持一下.....
2009-7-8 01:16
0
雪    币: 157
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
- -汇编本来就是可读的啊 and就是与操作 把后面两个操作数与起来。没学过汇编语言的话可以下一个汇编指令查询器。。。。。。
2009-7-8 16:32
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习学习。。。
2009-7-8 18:13
0
游客
登录 | 注册 方可回帖
返回
//