首页
社区
课程
招聘
[旧帖] 调试内核,反汇编看不懂 0.00雪花
发表于: 2011-12-7 20:06 1838

[旧帖] 调试内核,反汇编看不懂 0.00雪花

2011-12-7 20:06
1838
像下面的循环有什么意义?
fcf634d2 ebbe            jmp     KeyMouse53!DriverEntry+0x62 (fcf63492)
kd> p
KeyMouse53!DriverEntry+0x62:
fcf63492 b801000000      mov     eax,1
kd> p
KeyMouse53!DriverEntry+0x6b:
fcf6349b 8b4de8          mov     ecx,dword ptr [ebp-18h]
kd> p
KeyMouse53!DriverEntry+0x73:
fcf634a3 8b45fc          mov     eax,dword ptr [ebp-4]
kd> p
KeyMouse53!DriverEntry+0x7f:
fcf634af 8b45e8          mov     eax,dword ptr [ebp-18h]
kd> p
KeyMouse53!DriverEntry+0x88:
fcf634b8 8b55ec          mov     edx,dword ptr [ebp-14h]
kd> p
KeyMouse53!DriverEntry+0x90:
fcf634c0 8b4dfc          mov     ecx,dword ptr [ebp-4]
kd> p
KeyMouse53!DriverEntry+0x96:
fcf634c6 8b55e8          mov     edx,dword ptr [ebp-18h]
kd> p
KeyMouse53!DriverEntry+0xa2:
fcf634d2 ebbe            jmp     KeyMouse53!DriverEntry+0x62 (fcf63492)
c代码是这样的

  while(1)
                               {
                                 
                                 //断去自身的链表
                                 LtempF=FPLE->Flink;
                                 LtempF->Blink=FPLE->Blink;//连接向后的链
                                 LtempB=FPLE->Blink;       //连接向前的链                           
                                 LtempB->Flink=LtempF;
                                 FPLE=LtempF;
                                 if(FPLE->Flink==Fsave)
                                 break;
                              }

寄存器和栈并不依赖所执行的指令而改变。怎么回事?
bp的内容一直没有改变,但是mov     ecx,dword ptr [ebp-18h]这条指令每次循环所赋给ecx的值却是不同的。循环中并没有改变栈内容的指令啊 不知道有人明白我意思没有

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (3)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
c代码对应的汇编没有全部贴出来吧 只看这部分  没看出原因
2011-12-8 17:38
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
汇编代码是完整的循环了。这样的代码根本就没调试的意义。不知道是不是符号表的原因
2011-12-9 09:22
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
kd> p
KeyMouse53!DriverEntry+0x88:
fcf634b8 8b55ec          mov     edx,dword ptr [ebp-14h]
kd> p
KeyMouse53!DriverEntry+0x90:
fcf634c0 8b4dfc          mov     ecx,dword ptr [ebp-4]
这是你贴出来的某两行,两个指令相差8字节,mov只占3字节,还有5字节的指令是什么?c代码死循环里通过比较判断来退出循环,汇编里也该有比较后跳转的语句把。但是你贴出来的代码里没看到。。。
2011-12-14 09:08
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

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