能力值:
( LV12,RANK:410 )
|
-
-
2 楼
OD,SI,TRW等等都可以,没有什么太大的区别,关键慢慢分析,靠耐心,加上功力和灵感。能够分析复杂入口参数(如:参数中有结构或指针结构、类或类结构等)确实需要很好的基础知识和灵感,我的经验是:主要变量可以分析清楚,完全弄明白几乎很难。但是,大部分dll函数,只要分析清楚主要变量,便可以正常执行,因为很多dll的参数本身就没有什么用,可以说是花参数,或者说是可以固定的使用一个值就可以。
另外:分析一个dll的第一步不是入口参数,而是主程序怎样使用这个dll中的各个函数,框架明确了,然后才是参数,参数明确了,就可以直接使用。也可以将这个dll转换成lib,直接连接到程序中了。
祝您成功!
Spring.W
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这个软件困扰我很久了,过年的时候,你说有时间会帮我看看,现在有时间了吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
用od,在调用该函数的地方设断,观察栈内容
如:
-------------------
12fac0:0037aa00 "abcdefe" 第一个参数:char*
12fac4:00000001 第一个参数:unsigned long
12fac8:4000123a 调用点的下一个指针
.......
我猜测该函数为:int f(char*,unsigned long);
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这是有明码的时候,如果传递var也好说,对象呢?自定义结构体呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
程序在调一个函数之前,总是先把参数压入堆栈,然后调用该函数
|
|
|