本帖最后由 a1678131758 于 2022-9-27 09:33 编辑
不晓得你们用的咋用 我找遍了论坛的DLL 感觉是模块的问题 但是现在也不好换了 几天内总会分配失败 想个折中的办法 自动重启
看代码 原理很简单 就是HOOKMessageBox
|
my_MessageBoxA | 整数型 | | |
hWnd | 整数型 | | | | lpText | 文本型 | | | | lpCaption | 文本型 | | | | uType | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 回溯 | 整数型 | | | count | 整数型 | | | i | 整数型 | | | BaseAddress | 整数型 | | | ModuleHnadle | 整数型 | | | ModuleName | 文本型 | | | 输出 | 文本型 | | | 输出文本内容 | 文本型 | | | 文件路径 | 文本型 | | | 文件号 | 整数型 | | |
ApiHook. StopHook () 回溯 = 申请内存 (32, 真)count = Call_ (RtlWalkFrameChain_, 回溯, 32, 0 ) 输出文本内容 = #换行符 + #换行符 输出文本内容 = 输出文本内容 + 到文本 (时间_格式化2 (取现行时间 ()) ) + #换行符 + “层数:” + 到文本 (count )计次循环首 (count, i )BaseAddress = Read (回溯 (i - 1 ) × 4 )取模块句柄 (GetCurrentProcess (), BaseAddress, ModuleHnadle, ModuleName )输出 = 取空白文本 (255 )Call_ (wsprintfA_, 取文本指针 (输出 ), 取文本指针 (“%s + %08X”), 取文本指针 (ModuleName ), 选择 (ModuleName = “??”, BaseAddress, BaseAddress - ModuleHnadle )) 输出文本内容 = 输出文本内容 + 输出 + #换行符 计次循环尾 ()文件路径 = 取运行目录 () + “\MessageBoxA_堆栈.txt”如果真 (文件是否存在 (文件路径 ) = 假)写到文件 (文件路径, { })文件号 = 打开文件 (文件路径, , )移到文件尾 (文件号 )写文本行 (文件号, 输出文本内容 )关闭文件 (文件号 )程序_重启 () ApiHook. BeginHook ()返回 (0 )
HOOK都是论坛上的 随便用哪个都可以 没什么难度
感谢以下帖子提供的帮助我复制粘贴 谢谢
https://bbs.125.la/forum.php?mod ... 7&highlight=apihook
https://bbs.125.la/forum.php?mod ... =%E5%A0%86%E6%A0%88
我模块是用的这个人的 不晓得是不是他的问题,,
https://bbs.125.la/forum.php?mod ... highlight=hp%2Bsock
|