如下
.text:00493370 sub_493370 proc near ; CODE XREF: sub_445D00+90p
.text:00493370 ; sub_445D00+9Ep ...
.text:00493370
.text:00493370 var_C = dword ptr -0Ch
.text:00493370 var_4 = dword ptr -4
.text:00493370
.text:00493370 mov eax, large fs:0
.text:00493376 mov cl, byte ptr dword_A75DA0
.text:0049337C push 0FFFFFFFFh
.text:0049337E push offset loc_60B26E
.text:00493383 push eax
.text:00493384 mov eax, 1
.text:00493389 test cl, al
.text:0049338B mov large fs:0, esp
.text:00493392 jnz short loc_4933BA
.text:00493394 or dword_A75DA0, eax
.text:0049339A push eax
.text:0049339B mov ecx, offset unk_A75D10
.text:004933A0 mov [esp+10h+var_4], 0
.text:004933A8 call sub_4932E0
.text:004933AD push offset sub_8F7140 ; void (*)(void)
.text:004933B2 call _atexit
.text:004933B7 add esp, 4
.text:004933BA
.text:004933BA loc_4933BA: ; CODE XREF: sub_493370+22j
.text:004933BA mov ecx, [esp+0Ch+var_C]
.text:004933BD mov eax, offset unk_A75D10
.text:004933C2 mov large fs:0, ecx
.text:004933C9 add esp, 0Ch
.text:004933CC retn
.text:004933CC sub_493370 endp
可能是太菜的原因,反复看了这段代码 mov eax, large fs:0 可能是传说中的异常处理吧
涵数似乎是判断地址byte ptr dword_A75DA0 的字节是否为本,如果为0就 or dword_A75DA0, eax把这个字节置为1,然后进行一些必要的类似初始化(猜的),加之有异常,分析起来晕呼晕呼,不知道我对这涵数的理解是否正确,请指点下
- 标 题: 逆向一个涵数有些不解,请指导下
- 作 者:njmdk
- 时 间:2007-11-07 17:55
- 链 接:http://bbs.pediy.com/showthread.php?t=54513