首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

入口函数的反汇编,该如何解决

2012-02-14 
入口函数的反汇编大家新年快乐啊。。。有个小问题,想请教:C/C++ code一个c控制台程序, 代码很简单, 已经生成e

入口函数的反汇编

大家新年快乐啊。。。


有个小问题,想请教:


C/C++ code
一个c控制台程序, 代码很简单, 已经生成exe, 如果用 od来进行 反汇编,  如何知道这个小程序的入口函数在哪里呢?vc的反汇编,不难,照着看就是了,。,脱离了vc,比如用od来反汇编, 我就傻眼了。。。不知道其入口函数必须找到main函数,然后开始设置断点,进行分析。有控制台程序逆向的前辈,   给个建议,谢谢了


[解决办法]
只试了几个简单的小程序。。看了个文章:http://nebulas.blog.51cto.com/812278/184106
od载入后往下f8找到GetCommandLineA。。然后下面第5个call。。我试了几个小程序是这样
Assembly code
004010D5  |.  FF15 00604000 call    dword ptr [<&KERNEL32.GetCommand>; [GetCommandLineA004010DB  |.  A3 24AE4000   mov     dword ptr [40AE24], eax004010E0  |.  E8 1A100000   call    004020FF004010E5  |.  A3 E8984000   mov     dword ptr [4098E8], eax004010EA  |.  E8 C30D0000   call    00401EB2004010EF  |.  E8 050D0000   call    00401DF9004010F4  |.  E8 7A0A0000   call    00401B73004010F9  |.  A1 28994000   mov     eax, dword ptr [409928]004010FE  |.  A3 2C994000   mov     dword ptr [40992C], eax00401103  |.  50            push    eax00401104  |.  FF35 20994000 push    dword ptr [409920]0040110A  |.  FF35 1C994000 push    dword ptr [40991C]00401110  |.  E8 FBFEFFFF   call    00401010       // 貌似一般这个就是跳到main的。。00401115  |.  83C4 0C       add     esp, 0C00401118  |.  8945 E4       mov     dword ptr [ebp-1C], eax
[解决办法]
方法很多,你可以这样
int main()
{
__asm int 3
...
}
然后直接在调试器里运行,到了__asm int 3就会断点

热点排行