[sell=10,3].版本 2
.支持库 spec
.程序集 解密
.子程序 HOOK解密世界
.局部变量 世界读取, 长整数型
.局部变量 HOOK, 字节集
世界读取 = 模块地址 + 2598762 ' 67652912 ' 4084D30
解密世界 = 模块地址 + 67652912
HOOK = { 72, 163 } + 到字节集 (解密世界) + { 144, 144, 144 }
写字节集 (世界读取, HOOK, 取字节集长度 (HOOK))
' X64_写字节集 (游戏PID, 世界读取, HOOK)
调试输出 (解密世界)
.子程序 HOOK解密游戏
.局部变量 游戏读取, 长整数型
.局部变量 HOOK, 字节集
游戏读取 = 模块地址 + 3112330 ' 67652928 ' 4084D40
解密游戏 = 模块地址 + 67652928
HOOK = { 72, 163 } + 到字节集 (解密游戏) + { 144, 144, 144 }
' X64_写字节集 (游戏PID, 游戏读取, HOOK)
写字节集 (游戏读取, HOOK, 取字节集长度 (HOOK))
调试输出 (解密游戏)
.子程序 HOOK解密数组
.局部变量 数组读取, 长整数型
.局部变量 HOOK, 字节集
数组读取 = 模块地址 + 19421498 ' 67652896 ' 4084D20
解密数组 = 模块地址 + 67652896
HOOK = { 72, 163 } + 到字节集 (解密数组) + { 144, 144, 144 }
写字节集 (数组读取, HOOK, 取字节集长度 (HOOK))
调试输出 (解密数组)
.子程序 HOOK解密和本人相机
.局部变量 HOOK点, 长整数型
.局部变量 转跳点, 长整数型
.局部变量 转跳代码, 字节集
HOOK点 = 模块地址 + 30180815
' ----- ’67706423 67706433
解密相机 = 模块地址 + 67706423
解密本人 = 模块地址 + 67706433
' -----67706355
转跳点 = 模块地址 + 67706355 ' { 72, 137, 180, 36, 216, 0, 0, 0, 76, 137, 37, 53, 0, 0, 0, 76, 137, 45, 56, 0, 0, 0, 233, 121, 103, 195, 253, 144 }
转跳代码 = { 72, 137, 180, 36, 216, 0, 0, 0, 76, 137, 37, 53, 0, 0, 0, 76, 137, 45, 56, 0, 0, 0, 233, 201, 103, 195, 253, 144 }
写字节集 (转跳点, 转跳代码, 取字节集长度 (转跳代码))
_HookJmp (HOOK点, 转跳点)
调试输出 (解密相机)
调试输出 (解密本人)
.子程序 _HookJmp, , , 张德帅
.参数 要跳转的基址, 长整数型
.参数 目标地址, 长整数型
.局部变量 中转, 整数型
.局部变量 old, 整数型
中转 = 目标地址 - 要跳转的基址 - 5
写字节集 (要跳转的基址, { 233 } + 到字节集 (中转), 取字节集长度 ({ 233 } + 到字节集 (中转)))
[/sell]
联系我时,请说是在 挂海论坛 上看到的,谢谢! |