首页
社区
课程
招聘
[求助]逆向分析
发表于: 2009-6-20 13:31 5073

[求助]逆向分析

2009-6-20 13:31
5073
int Add(int x,int y);
int main( )
{
     int a=5,b=6;
    Add(a,b);
     return 0;
}
int Add(int x,int y)
{
    return(x+y);
}
我用VS2008编译后 用OD打开怎么是
00411113 > /E9 D8060000     jmp     004117F0
00411118   |E9 D3140000     jmp     004125F0
0041111D   |E9 4E150000     jmp     00412670

004117F0    8BFF            mov     edi, edi                         ; ntdll.7C930228
004117F2    55              push    ebp
004117F3    8BEC            mov     ebp, esp
004117F5    E8 56F8FFFF     call    00411050
004117FA    E8 11000000     call    00411810
004117FF    5D              pop     ebp
00411800    C3              retn

我死也找不到main函数在哪...  
004117F5    E8 56F8FFFF     call    00411050
004117FA    E8 11000000     call    00411810
跟进去 里面好多CALL  而且还有N多循环....... 这是怎么回事 怎么样才能像书上的那样

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
用IDA反一下就看的很清楚了,一般编译器默认都会在你的代码外加一层运行时库的启动代码,所以你的main函数并不是入口函数
2009-6-20 14:17
0
雪    币: 357
活跃值: (3408)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
3
debug模式编译的,开头都是jmp
2009-6-20 14:55
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
怎么和书上讲的不太一样 书上没有说用IDA
看来逆向还是很....
2009-6-20 15:25
0
雪    币: 360
活跃值: (77)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
5
写一个输出,然后寻找字符串,把你的函数写到附近就容易找了。
2009-6-20 15:34
0
雪    币: 170
活跃值: (45)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
有一个简单的找到main函数的方法,就在在main函数入口加上下面一段代码
if(IsDebuggerPresent ())
   __asm int 3;
编译这个程序后,在OD下调试会产生一个int 3中断,这个时候修改int 3为nop,上面一点就是main函数了.
这个方法也可以在Visual stdio下的release版本的程序进行调试.
2009-6-20 15:50
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
.NET程序跑的模式是JIT,你要断点在mscorjit.dll
2009-6-20 15:51
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
.NET程序
只要VS2008编译出来的都是.NET程序吗? 我是建的一个空项目
2009-6-21 11:21
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
yes,.NET有专门调试器
2009-6-21 11:33
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
一般用什么调试器
2009-6-21 11:53
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
是不是VS 2003 vs2005 编译出来的也都是.NET程序?  
就VC6.0和6.0以前的都不是.NET的?
2009-6-21 11:56
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
动态 PEBrowseDbg/WinDBG
静态 Reflector/Dis#3.1.4
2009-6-21 12:01
0
雪    币: 1450
活跃值: (35)
能力值: (RANK:680 )
在线值:
发帖
回帖
粉丝
13
谁说VS2008编译的程序就一定是.NET的?
找3个push. 下面那个call就是main.
2009-6-21 15:28
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
楼主,请给你程序给楼上的大师试试
2009-6-21 16:27
0
游客
登录 | 注册 方可回帖
返回
//