|
10精币
不知道有没有人遇到和我一样的想法,就是劫持的dll是黑月编译,那如果想做成带窗口的静态编译的DLL怎么下手就像下面这段代码
GetModuleHandleExA (4, &e_Load, hModule )DisableThreadLibraryCalls (hModule )e_Load (hModule )返回 (0 ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | tzPath | 文本型 | | | fpAddress | 整数型 | | | lfAddress | 整数型 | | | pszProcName | 文本型 | | 0 | FileName | 文本型 | | | i | 整数型 | | |
tzPath = 取空白文本 (260 )GetSystemDirectory (tzPath, 260 )FileName = “\pid.dll”m_hModule = LoadLibrary (tzPath + FileName )如果真 (m_hModule = 0 )GetModuleFileNameExA (-1, hModule, tzPath, 260 )tzPath = 取文本左边 (tzPath, 倒找文本 (tzPath, “\”, , 假)) m_hModule = LoadLibrary (tzPath + FileName )如果真 (m_hModule ≠ 0 )pszProcName = { "DllCanUnloadNow","DllGetClassObject" }计次循环首 (取数组成员数 (pszProcName ), i )fpAddress = GetProcAddress (m_hModule, pszProcName [i ])lfAddress = GetProcAddress (hModule, pszProcName [i ])如果真 (fpAddress ≠ 0 且 lfAddress ≠ 0 )WriteProcessMemory (-1, lfAddress, { 233 } + 到字节集 (到整数 (fpAddress - lfAddress - 5 )), 5, 0 )计次循环尾 ()返回 (m_hModule ≠ 0 ) 如果真 (m_hModule ≠ 0 )FreeLibrary (m_hModule )
|
最佳答案
查看完整内容
[e=0].版本 2
.支持库 EThread
.支持库 spec
.程序集 程序集1
.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码
启动线程 (&窗口线程, , )
' 这里延迟一下,等待创建创建完毕
.判断循环首 (是否已创建 (窗口1) = 假)
延迟 (10)
.判断循环尾 ()
调试输出 (“窗口创建完毕”)
返回 (0) ' 返回值被忽略。
.子程序 窗口线程
.局部变量 ok, 逻辑型
ok = 载入 (窗口1, , 假)
.判断循环首 (ok)
...
|