首页
社区
课程
招聘
[求助]一个简单的c逆向 为什么用od找不到汇编代码的位置?
发表于: 2019-5-22 10:54 5570

[求助]一个简单的c逆向 为什么用od找不到汇编代码的位置?

2019-5-22 10:54
5570
代码很简单:
#include <stdio.h>

int add(int a, int b)
{
return a+b;
}

int main( void )
{
int a,b,c;
a=1;
b=2;
c=add(a,b);
printf("%d\n",c);
return 0;
}
反汇编:

ida分析:


到od上就有点看不懂了,从mainCRTStartup开始跟踪:

跟踪:

跟进去:

继续跟踪:

这里看不懂了,根本不是我想看到的主函数汇编,不知道才能定位,请各位老师指教一下怎么才能找到正确的主函数位置!谢谢!

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

收藏
免费 0
支持
分享
最新回复 (23)
雪    币: 1298
活跃值: (662)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
printf
2019-5-22 11:14
0
雪    币: 9934
活跃值: (2554)
能力值: ( LV6,RANK:87 )
在线值:
发帖
回帖
粉丝
3
看你ida那边main函数地址,4113d0。rva是113d0。用你od那边程序的基地址加上这个rva,就是main了
最后于 2019-5-29 16:18 被Lixinist编辑 ,原因:
2019-5-22 11:22
1
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
基址是004:
但在od里面怎么查基址呢?
我只找到了 相对地址的查看方法


2019-5-22 16:04
0
雪    币: 1266
活跃值: (1307)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
方法1:搜索字符串“%d”下断
方法2:ctrl+g 输入printf跟过去下断运行,停下来返回
方法3:VS编译以后直接在你要看的那一行右击,选择转到反汇编
2019-5-22 19:42
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
这么小  选下模块应该直接能看到
2019-5-22 20:38
0
雪    币: 218
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
RVA+载入基址才是真实地址
2019-5-22 23:45
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
是这个吗?
我用这个计算:
01300000+ 113d0= 013113d0
CTRL+G定位过来,这样可以定位了!

查找字符串是这样的,根本找到呢,我是win7 64虚拟机(这个没有影响吧):


最后于 2019-5-23 09:22 被goodluckone编辑 ,原因:
2019-5-23 09:04
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
大雄不点背 RVA+载入基址才是真实地址[em_67]
谢谢您的回复!
2019-5-23 10:26
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
bbgdlk 这么小 选下模块应该直接能看到
谢谢您的回复!
2019-5-23 10:26
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
Lixinist 看你ida那边main函数地址,40113d0。rva是113d0。用你od那边程序的基地址加上这个rva,就是main了
谢谢您的回复!
2019-5-23 10:26
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
中国缺少你这种人才 有神器IDA 干嘛还要用OD 
2019-5-23 18:12
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
小艾 中国缺少你这种人才 有神器IDA 干嘛还要用OD
一动一静 啊  
2019-5-29 10:43
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
goodluckone 一动一静 啊
IDA 也可以动态调试啊
2019-5-29 12:33
1
雪    币: 1042
活跃值: (495)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
写个字符串然后搜字符串快速定位啊~ 在C库里太绕了。
2019-5-29 13:27
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
小艾 IDA 也可以动态调试啊
老师您好!我刚学习 还不会IDA动态调试!一会儿就去学习一下IDA动态调试。
2019-5-29 15:35
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
Rookietp 写个字符串然后搜字符串快速定位啊~ 在C库里太绕了。
谢谢您的回复!您提供的办法 我也去试试!
2019-5-29 15:40
0
雪    币: 3226
活跃值: (399)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
18
先学习下怎么找main函数吧
2019-6-11 19:49
1
雪    币: 4840
活跃值: (3522)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
MAIN 函数是 3 个PUSH  一个CALL
2019-6-11 20:18
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
沉迷于 MAIN 函数是 3 个PUSH 一个CALL
谢谢回复!
2019-6-12 23:13
1
雪    币: 357
活跃值: (3408)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
21
关掉系统的aslr功能,方便调试

动态调试还是od好,不过现在都64位,用x64dbg
2019-6-13 01:26
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
KooJiSung 关掉系统的aslr功能,方便调试 动态调试还是od好,不过现在都64位,用x64dbg
怎么关闭呢?
2019-6-20 14:33
0
雪    币: 1620
活跃值: (17)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
自己写的demo应该可以在编译器的编译属性里修改,具体方法可以结合自己的编译器百度下就行
2019-6-20 15:01
0
雪    币: 705
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
chkds 自己写的demo应该可以在编译器的编译属性里修改,具体方法可以结合自己的编译器百度下就行
谢谢!!
2019-6-20 20:17
0
游客
登录 | 注册 方可回帖
返回
//