|
本帖最后由 Mr.Yang 于 2020-3-13 05:47 编辑
修复前↑
修复后↑
skinsharp官方也好久没更新了 信息框一直存在问题 下方会保持默认配色.前天看到一个帖子是关于这个问题的 就打算试一下能不能修复.
hook MessageBoxA+SetWindowsHook 取窗口句柄.然后SkinH_Map 5002.
窗口程序集名 | 保 留 | 保 留 | 备 注 | HOOK | | | | 变量名 | 类 型 | 数组 | 备 注 | 函数地址 | 整数型 | | 原来属性 | 整数型 | | 新地址 | 字节集 | | 旧地址 | 字节集 | | 钩子句柄 | 整数型 | | Map地址 | 整数型 | |
Map地址 = addr 函数地址 = GetProcAddress (GetModuleHandleA (“user32.dll”), “MessageBoxA”) 如果真 (函数地址 = 0 )返回 (假)VirtualProtect (函数地址, 8, 64, 原来属性)
新地址 = { 184 } + 到字节集 (&NewMessageBox ) + { 255, 224 } 旧地址 = 指针到字节集 (函数地址, 8 ) 写到内存 (新地址, 函数地址, 8 ) 返回 (真)写到内存 (旧地址, 函数地址, 8 ) VirtualProtect (函数地址, 8, 32, 原来属性 ) |
NewMessageBox | 整数型 | | |
hwnd | 整数型 | | | | lpText | 文本型 | | | | lpCaption | 文本型 | | | | wtype | 整数型 | | | | 写到内存 (旧地址, 函数地址, 8 ) 钩子句柄 = SetWindowsHookExA (5, 到整数 (&钩子 ), 0, GetCurrentThreadId ()) ret = MessageBoxA (hwnd, lpText, lpCaption, wtype ) 写到内存 (新地址, 函数地址, 8 ) 返回 (ret )|
钩子 | 整数型 | | |
nCode | 整数型 | | | | wParam | 整数型 | | | | lParam | 整数型 | | | | 如果真 (nCode = 5 且 wParam ≠ 0 )内存_Call (Map地址, wParam, 5002 )UnhookWindowsHookEx (钩子句柄 )CallNextHookEx (钩子句柄, nCode, wParam, lParam)返回 (0 )
|
评分
-
查看全部评分
|