首页
社区
课程
招聘
[旧帖] [求助]这段反汇编代码如何理解? 0.00雪花
发表于: 2009-8-24 09:55 4126

[旧帖] [求助]这段反汇编代码如何理解? 0.00雪花

2009-8-24 09:55
4126
00401190  /$  55            PUSH EBP
00401191  |.  8BEC          MOV EBP,ESP
00401193  |.  6A FF         PUSH -1
00401195  |.  68 F01A4000   PUSH tests.00401AF0
0040119A  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
004011A0  |.  50            PUSH EAX
004011A1  |.  51            PUSH ECX
004011A2  |.  53            PUSH EBX
004011A3  |.  56            PUSH ESI
004011A4  |.  57            PUSH EDI
004011A5  |.  A1 00304000   MOV EAX,DWORD PTR DS:[403000]
004011AA  |.  33C5          XOR EAX,EBP
004011AC  |.  50            PUSH EAX
004011AD  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
004011B0  |.  64:A3 0000000>MOV DWORD PTR FS:[0],EAX
004011B6  |.  8965 F0       MOV DWORD PTR SS:[EBP-10],ESP
004011B9  |.  33C0          XOR EAX,EAX
004011BB  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
004011BE  |.  C700 01000000 MOV DWORD PTR DS:[EAX],1
004011C4  |.  B8 01000000   MOV EAX,1
004011C9  |.  8B4D F4       MOV ECX,DWORD PTR SS:[EBP-C]
004011CC  |.  64:890D 00000>MOV DWORD PTR FS:[0],ECX
004011D3  |.  59            POP ECX
004011D4  |.  5F            POP EDI
004011D5  |.  5E            POP ESI
004011D6  |.  5B            POP EBX
004011D7  |.  8BE5          MOV ESP,EBP
004011D9  |.  5D            POP EBP
004011DA  \.  C3            RETN


原程序:
int test()
{
  try
  {
    int *p=0;
    *p=1;
    
    return *p;
  }
  catch(...)
  {
    return 0;
  }
}

希望牛人能详细解释,谢谢。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 186
活跃值: (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
真的没人解释一下吗?
2009-8-24 10:40
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
3
你把源程序放到VC里,然后用VC自带的反汇编进行调试下
自然就可以明白了
2009-8-24 11:09
0
雪    币: 111
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看看《加密与解密》中的SEH章节,这段代码就很好理解了。
2009-8-24 17:21
0
雪    币: 314
活跃值: (271)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
看了下,要走的路还很长
2009-8-31 23:50
0
雪    币: 377
活跃值: (10)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
6
与FS有关的代码就不要要看了 直接忽略就行 这里就是异常处理的设置过程而已 不必在乎
004011B9  |.  33C0                          XOR EAX,EAX
004011BB  |.  8945 FC                     MOV DWORD PTR SS:[EBP-4],EAX
004011BE  |.  C700 01000000         MOV DWORD PTR DS:[EAX],1
通过异或操作EAX=0    第三句DS:[EAX]这个指向啥地方 呵呵 有点诡异啊
2009-9-1 00:04
0
游客
登录 | 注册 方可回帖
返回
//