-
-
[旧帖] [求助]这是个很奇怪的函数 0.00雪花
-
发表于: 2008-2-13 23:25 2534
-
这是个很奇怪的函数,可以确定程序是用MFC编的。但是我无法把他还原成C++程序,因为在401D22这个位置有参数进栈,但call loc_424CB4这个函数并没有调用这些参数而是直接JMP进了另外一个函数内而另外一个函数.text:00424B75,而这个函数确调用了在00401D22处压入的堆栈参数,我想知道C++在什么情况下会出现这种情况。代码如下:
.text:00401D22 push 0
.text:00401D24 push 0
.text:00401D26 push offset s_PecGbrhv1yN ; "迯\rghV1Y%?
.text:00401D2B call loc_424CB4
.text:00424CB4 push ebp
.text:00424CB5 mov ebp, esp
.text:00424CB5 sub_424B75 endp
.text:00424CB5
.text:00424CB7 call AfxGetModuleState(void)
.text:00424CB7
.text:00424CBC mov eax, [eax+4]
.text:00424CBF test eax, eax
.text:00424CC1 jz short loc_424CCE
.text:00424CC1
.text:00424CC3 mov edx, [eax]
.text:00424CC5 mov ecx, eax
.text:00424CC7 pop ebp
.text:00424CC8 jmp dword ptr [edx+98h] ;==424B75 我试过很多次 每次都是这个数值
.text:00424CC8
.text:00424CCE ; ---------------------------------------------------------------------------
.text:00424CCE
.text:00424CCE loc_424CCE: ; CODE XREF: .text:00424CC1j
.text:00424CCE xor ecx, ecx
.text:00424CD0 pop ebp
.text:00424CD1 jmp sub_424B75
.text:00424CD1
.text:00424CD1 ; ---------------------------------------------------------------------------
.text:00424CD6 int __stdcall AfxMessageBox(unsigned int, unsigned int, unsigned int) db 0B8h
.text:00424B75 push ebp
.text:00424B76 lea ebp, [esp-1A0h]
.text:00424B7D sub esp, 220h
.text:00424B83 mov eax, dword_4381A0
.text:00424B88 push ebx
.
.
.
.
.text:00424CA5 call sub_40D999
.text:00424CA5
.text:00424CAA add ebp, 1A0h
.text:00424CB0 leave
.text:00424CB1 retn 0Ch
.text:00401D22 push 0
.text:00401D24 push 0
.text:00401D26 push offset s_PecGbrhv1yN ; "迯\rghV1Y%?
.text:00401D2B call loc_424CB4
.text:00424CB4 push ebp
.text:00424CB5 mov ebp, esp
.text:00424CB5 sub_424B75 endp
.text:00424CB5
.text:00424CB7 call AfxGetModuleState(void)
.text:00424CB7
.text:00424CBC mov eax, [eax+4]
.text:00424CBF test eax, eax
.text:00424CC1 jz short loc_424CCE
.text:00424CC1
.text:00424CC3 mov edx, [eax]
.text:00424CC5 mov ecx, eax
.text:00424CC7 pop ebp
.text:00424CC8 jmp dword ptr [edx+98h] ;==424B75 我试过很多次 每次都是这个数值
.text:00424CC8
.text:00424CCE ; ---------------------------------------------------------------------------
.text:00424CCE
.text:00424CCE loc_424CCE: ; CODE XREF: .text:00424CC1j
.text:00424CCE xor ecx, ecx
.text:00424CD0 pop ebp
.text:00424CD1 jmp sub_424B75
.text:00424CD1
.text:00424CD1 ; ---------------------------------------------------------------------------
.text:00424CD6 int __stdcall AfxMessageBox(unsigned int, unsigned int, unsigned int) db 0B8h
.text:00424B75 push ebp
.text:00424B76 lea ebp, [esp-1A0h]
.text:00424B7D sub esp, 220h
.text:00424B83 mov eax, dword_4381A0
.text:00424B88 push ebx
.
.
.
.
.text:00424CA5 call sub_40D999
.text:00424CA5
.text:00424CAA add ebp, 1A0h
.text:00424CB0 leave
.text:00424CB1 retn 0Ch
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
- [求助]开发脱机X挂时遇到问题找人帮忙 4200
- [求助]什么壳可以在只定地方进行代码变形 4603
- [求助]这是个很奇怪的函数 2535
- [讨论]全面反汇编与局部反汇编对于壳的作用 4580
- [求助]垃圾代码有什么好的对付办法吗 5084
看原图
赞赏
雪币:
留言: