首页
社区
课程
招聘
[旧帖] [求助]自己做了一个软件,用什么可以看到自己软件中的函数? 0.00雪花
发表于: 2008-5-11 21:05 4043

[旧帖] [求助]自己做了一个软件,用什么可以看到自己软件中的函数? 0.00雪花

2008-5-11 21:05
4043
自己用vc6做了一个对话框程序

有几个自己定义的函数.

如:
FillMemoryGoodData()
FillMemoryOwenData()

请问用什么可以看到自己软件中的这些函数??

我想学习怎么用挂去call这些函数.

我用OD调试怎么看不见这些函数的地址呢?

请指教.

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
请大侠指教一下
2008-5-12 08:06
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
对于非导出函数而言,编译器不会将其符号保留在exe文件里面。
那些printf,strcpy这类的函数虽然不是导出函数,不存在函数名称符号,但是这些的代码特征比较明显,OD可以获知。
你自己写的函数,OD怎么可能知道?
2008-5-12 08:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
所以就需要对PE文件做解剖,看看自己的函数的地址,

然后,用OD加载,再按地址来找,是吗?
2008-5-12 09:55
0
雪    币: 208
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
在vc项目设定里选择生成“列表”-> “机器码和源代码”,生成出.asm和.cod文件,在里面找到你的函数,用它和OD显示的代码对照就能找到地址。
2008-5-12 11:50
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
在OD里面按CTRL+N
2008-5-12 12:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我是VC6,没有找到你说的“列表”-> “机器码和源代码
2008-5-12 14:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
确实列了一堆函数出来,但没一个是我自己的,全部是系统的api.
2008-5-12 14:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
20贴呀20贴呀20贴呀20贴呀
2008-5-12 14:18
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
哈哈 你也20帖啊
2008-5-12 20:59
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
OD好像不可以把 我也遇见过这样的问题~~~~汗!!!
2008-5-12 23:35
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
如果只是想知道函数的地址.
在调用你自己的函数前或在函数体的最前面
调用DebugBreak
2008-5-13 17:05
0
雪    币: 208
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
抱歉,我的是英文版,术语可能用的不对。下面是英文版的具体位置,中文版应该相同:
Project 菜单 -> Settings -> c/c++ 标签 -> 最上方的 category 下拉列表 -> Listing Files -> Listing File Types 下拉列表 -> 选 Assembly with Source Code
2008-5-16 11:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
VC还有这个功能啊
才知道,汗
2008-5-16 12:30
0
游客
登录 | 注册 方可回帖
返回
//