目标dll必须有导出类,其实就是导出了成员函数。
成员函数就是全局函数,导出名字比较奇怪,调用约定是thiscall,第一个参数是对象this指针
Win10已经不能再使用老版本的 dependency walker,必须使用另一个类似功能的工具Dependencies(DependenciesGui.exe)
c# easyhook远程注入Hook全局导出函数,具体请看https://www.cnblogs.com/wackysoft/p/8544365.html
成员函数实际就是全局函数,注意修改名字、调用预定、第一个参数
例:Qt5Sql.dll的 SqlDatabase::Open
Dependencies解码函数名 QSqlDatabase::open(QString const&, QString const&)
原始全局函数名 _ZN12QSqlDatabase4openERK7QStringS2_
返回值是什么不知道,只好去Qt5里去查源代码 bool open(const QString& user, const QString& password);
返回值,参数名字都知道了
[DllImport("Qt5Sql.dll", EntryPoint = "_ZN12QSqlDatabase4openERK7QStringS2_",CallingConvention = CallingConvention.ThisCall)]
public static exte