首页
社区
课程
招聘
如何用OD来调试一个陌生DLL文件导出函数的参数?
发表于: 2005-8-23 10:28 8836

如何用OD来调试一个陌生DLL文件导出函数的参数?

2005-8-23 10:28
8836
现在要对一个程序的DLL文件进行分析,目前已经用exescope找出其导出函数名,但是只是有导出函数名,具体如何使用并不清楚,据说用OD可以调试,请问各位大侠该怎么做呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 302
活跃值: (410)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
2
OD,SI,TRW等等都可以,没有什么太大的区别,关键慢慢分析,靠耐心,加上功力和灵感。能够分析复杂入口参数(如:参数中有结构或指针结构、类或类结构等)确实需要很好的基础知识和灵感,我的经验是:主要变量可以分析清楚,完全弄明白几乎很难。但是,大部分dll函数,只要分析清楚主要变量,便可以正常执行,因为很多dll的参数本身就没有什么用,可以说是花参数,或者说是可以固定的使用一个值就可以。

另外:分析一个dll的第一步不是入口参数,而是主程序怎样使用这个dll中的各个函数,框架明确了,然后才是参数,参数明确了,就可以直接使用。也可以将这个dll转换成lib,直接连接到程序中了。

                    祝您成功!

                      Spring.W
2005-8-23 14:58
0
雪    币: 222
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个软件困扰我很久了,过年的时候,你说有时间会帮我看看,现在有时间了吗?
2005-9-12 11:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
用od,在调用该函数的地方设断,观察栈内容
如:
-------------------
12fac0:0037aa00   "abcdefe"             第一个参数:char*
12fac4:00000001                         第一个参数:unsigned long
12fac8:4000123a                         调用点的下一个指针
.......

我猜测该函数为:int f(char*,unsigned long);
2005-9-12 11:28
0
雪    币: 222
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这是有明码的时候,如果传递var也好说,对象呢?自定义结构体呢?
2005-9-12 11:48
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
程序在调一个函数之前,总是先把参数压入堆栈,然后调用该函数
2005-9-12 14:35
0
游客
登录 | 注册 方可回帖
返回
//