中级以上水平请进来 你应该想办法找到DLL对应的LIB,然后从LIB中的函数名来慢慢分析,可能要你自己弄个DLL,写个空的相应的函数,然后一步步试着改变参数,直到函数名完全一至为止(这种方法不适用于以标准C的命名方式导出的函数,如果你对C++的内部命名规则比较了解的话,就快多了,另外,各种C++系统的内部命名规则不同) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有任何办法。除非:1。找到源程序,我是指包含DLL引出函数声明的头文件;2。反汇编,跟踪代码,看它到底用了几个参数(这个好办,一般STDCALL的函数只看看最后的ret n指令就知道了)以及每个参数到底是干什么的(这个嘛,对于稍微复杂一点的函数,几乎是不可能的)。3。根据函数名,猜。如果第一个办法不行,你就绝望吧——因为第二个办法只是理论上的,实际操作起来恐怕不可能。第三个办法?危险…… 如果是 mfc 扩展 dll(导出类的)用 dumpbin.exe 取得 dll 信息,写成 def 文件,再用 lib.exe 生成 lib 文件lib 中带有 c++ 规则的导出函数,然后写出头文件就可以了。如果的普通的 dll 用 dumpbin.exe 取得 dll 信息,并且反汇编,根据函数的入口地址分析寄存器,调用栈取得参数信息 dll --> liblib /MACHINE:IX86 /DEF:test.def 用win32dasm可以将它反汇编,但具体每个参数的含义,还是要你自己阅读机器代码 gboy(boy) lib 中带有 c++ 规则的导出函数,然后写出头文件就可以了。请说详细些。谢谢! 在 def 文件中有所有的导入/导出类名和成员函数(包括参数类型)(没有数据成员名称和构造/析够函数) like this:(由于名字分裂,所以有点乱,不过应该可以看懂);导出的类??0CLogin@@QAE@ABV0@@Z??0CLogin@@QAE@XZ??1CDepartmentSet@@UAE@XZ??1CGroupRightSet@@UAE@XZ??1CGroupSet@@UAE@XZ??1CLogin@@UAE@XZ??1CUserSet@@UAE@XZ??4CLogin@@QAEAAV0@ABV0@@Z??_7CLogin@@6B@??_FCDepartmentSet@@QAEXXZ??_FCGroupRightSet@@QAEXXZ??_FCGroupSet@@QAEXXZ??_FCUserSet@@QAEXXZ;导出的成员函数@类(没有任何导出函数信息的可能是导入的类(猜的))?HaveRight@CLogin@@AAEHVCString@@@Z?Login@CLogin@@QAEHI@Z?ModifyPassword@CLogin@@QAEXXZ?UserLogin@CLogin@@AAEHXZ可以写出最简单的头文件class CLogin{public:CLogin();~CLogin();UserLogin(CString); // 没有返回值得信息,不过不会影响调用(可以根据反汇编取得反回值)...} 定义了一个函数,调用strascll时,怎么付BYTE *out的值 df 求一白名单防火墙的实现方法 如何在自定义类中动态创建Picture控件,并加载显示图片 CString的气人问题,帮我呀 求救! 靠!贴子不准提前?难道3天才能提前一次吗?要是这样以后就不来这里提问了! 急!!!使用ADO和DATAGRID需要哪些动态链接库? 谢谢大家对小妹我的关心,想再请教大虾们一个问题 很简单的一个定时器,win7下总出现“未响应”,xp下没问题。 请问关于hook的用法 ATL返回属性的问题 [out]
1。找到源程序,我是指包含DLL引出函数声明的头文件;
2。反汇编,跟踪代码,看它到底用了几个参数(这个好办,一般STDCALL的函数只看看最后的ret n指令就知道了)以及每个参数到底是干什么的(这个嘛,对于稍微复杂一点的函数,几乎是不可能的)。
3。根据函数名,猜。
如果第一个办法不行,你就绝望吧——因为第二个办法只是理论上的,实际操作起来恐怕不可能。第三个办法?危险……
用 dumpbin.exe 取得 dll 信息,写成 def 文件,再用 lib.exe 生成 lib 文件
lib 中带有 c++ 规则的导出函数,然后写出头文件就可以了。如果的普通的 dll
用 dumpbin.exe 取得 dll 信息,并且反汇编,根据函数的入口地址分析寄存器,调用栈取得参数信息
lib 中带有 c++ 规则的导出函数,然后写出头文件就可以了。
请说详细些。谢谢!
(没有数据成员名称和构造/析够函数)
like this:
(由于名字分裂,所以有点乱,不过应该可以看懂)
;导出的类
??0CLogin@@QAE@ABV0@@Z
??0CLogin@@QAE@XZ
??1CDepartmentSet@@UAE@XZ
??1CGroupRightSet@@UAE@XZ
??1CGroupSet@@UAE@XZ
??1CLogin@@UAE@XZ
??1CUserSet@@UAE@XZ
??4CLogin@@QAEAAV0@ABV0@@Z
??_7CLogin@@6B@
??_FCDepartmentSet@@QAEXXZ
??_FCGroupRightSet@@QAEXXZ
??_FCGroupSet@@QAEXXZ
??_FCUserSet@@QAEXXZ;导出的成员函数@类(没有任何导出函数信息的可能是导入的类(猜的))
?HaveRight@CLogin@@AAEHVCString@@@Z
?Login@CLogin@@QAEHI@Z
?ModifyPassword@CLogin@@QAEXXZ
?UserLogin@CLogin@@AAEHXZ可以写出最简单的头文件
class CLogin
{
public:
CLogin();
~CLogin();
UserLogin(CString); // 没有返回值得信息,不过不会影响调用(可以根据反汇编取得反回值)
...
}