专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

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

发布时间:2011-06-28 16:18:38 文章来源:www.iduyao.cn 采编人员:星星草
入口函数的反汇编

大家新年快乐啊。。。


有个小问题,想请教:


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>; [GetCommandLineA
004010DB  |.  A3 24AE4000   mov     dword ptr [40AE24], eax
004010E0  |.  E8 1A100000   call    004020FF
004010E5  |.  A3 E8984000   mov     dword ptr [4098E8], eax
004010EA  |.  E8 C30D0000   call    00401EB2
004010EF  |.  E8 050D0000   call    00401DF9
004010F4  |.  E8 7A0A0000   call    00401B73
004010F9  |.  A1 28994000   mov     eax, dword ptr [409928]
004010FE  |.  A3 2C994000   mov     dword ptr [40992C], eax
00401103  |.  50            push    eax
00401104  |.  FF35 20994000 push    dword ptr [409920]
0040110A  |.  FF35 1C994000 push    dword ptr [40991C]
00401110  |.  E8 FBFEFFFF   call    00401010       // 貌似一般这个就是跳到main的。。
00401115  |.  83C4 0C       add     esp, 0C
00401118  |.  8945 E4       mov     dword ptr [ebp-1C], eax

------解决方案--------------------
方法很多,你可以这样
int main()
{
__asm int 3
...
}
然后直接在调试器里运行,到了__asm int 3就会断点
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: