升级
6%
       UID202
       金钱371
       交易币0
       贡献1
|
调用方式
HOOK分裂 (3, 1000, 真).版本 2
.支持库 ncdx98
.支持库 spec
.子程序 HOOK分裂
.参数 段数, 整数型
.参数 伤害, 整数型
.参数 是否百分比, 逻辑型
.局部变量 空白地址, 长整数型
.局部变量 数据空白, 长整数型
.局部变量 分裂开始, 长整数型
.局部变量 HOOK地址, 长整数型
.局部变量 跳回地址, 长整数型
.局部变量 汇编字节, 字节集
.局部变量 i, 整数型
.局部变量 原字节, 字节集
.局部变量 功能开关, 逻辑型, 静态
.局部变量 执行次数, 整数型
HOOK地址 = 5430584528
跳回地址 = HOOK地址 + 13
执行次数 = 执行次数 + 1
.如果真 (执行次数 = 1)
原字节 = x64读写.读内存字节集 (全局操作句柄, HOOK地址, 13)
.如果真结束
.如果真 (空白地址 = 0)
空白地址 = x64读写.申请分配内存 (全局操作句柄, 4096)
数据空白 = x64读写.申请分配内存 (全局操作句柄, 4096)
.如果真结束
汇编字节 = { 73, 185 } + 倒转数据 (长整数据 (5523621640)) + { 77, 139, 9, 76, 57, 201 }
汇编字节 = 汇编字节 + { 117, 27 } + 原字节 + { 255, 37, 0, 0, 0, 0 } + 倒转数据 (长整数据 (跳回地址))
汇编字节 = 汇编字节 + { 73, 185 } + 倒转数据 (长整数据 (空白地址)) + { 76, 137, 76, 36, 40 }
汇编字节 = 汇编字节 + 原字节 + { 255, 37, 0, 0, 0, 0 } + 倒转数据 (长整数据 (跳回地址))
分裂开始 = 空白地址 + 48
x64读写.写内存长整数 (全局操作句柄, 空白地址 + 8, 分裂开始)
.计次循环首 (段数, i)
x64读写.写内存整数型 (全局操作句柄, 分裂开始, 9)
分裂开始 = 分裂开始 + 4
.如果 (是否百分比 = 真)
x64读写.写内存整数型 (全局操作句柄, 分裂开始, 1) ' 百分比
.否则
x64读写.写内存整数型 (全局操作句柄, 分裂开始, 0) ' 百分比
.如果结束
分裂开始 = 分裂开始 + 4
x64读写.写内存小数型 (全局操作句柄, 分裂开始, 伤害)
分裂开始 = 分裂开始 + 4
x64读写.写内存整数型 (全局操作句柄, 分裂开始, 0)
分裂开始 = 分裂开始 + 4
x64读写.写内存整数型 (全局操作句柄, 分裂开始, 0)
分裂开始 = 分裂开始 + 4
x64读写.写内存整数型 (全局操作句柄, 分裂开始, 0)
分裂开始 = 分裂开始 + 4
x64读写.写内存整数型 (全局操作句柄, 分裂开始, 1)
分裂开始 = 分裂开始 + 4
.计次循环尾 ()
x64读写.写内存长整数 (全局操作句柄, 空白地址 + 16, 分裂开始)
x64读写.写内存长整数 (全局操作句柄, 空白地址 + 24, 分裂开始)
功能开关 = 取反 (功能开关)
.判断开始 (功能开关 = 真)
内存.置为可写 (句柄, HOOK地址, 13)
x64读写.写内存字节集 (全局操作句柄, 数据空白, 汇编字节)
x64读写.写内存字节集 (全局操作句柄, HOOK地址, { 73, 185 } + 倒转数据 (长整数据 (数据空白)) + { 65, 255, 225 })
调试输出 (“分裂开”)
.默认
内存.置为可写 (句柄, HOOK地址, 13)
x64读写.写内存字节集 (全局操作句柄, HOOK地址, 原字节)
x64读写.写内存字节集 (全局操作句柄, 数据空白, 取空白字节集 (取字节集长度 (汇编字节)))
x64读写.写内存字节集 (全局操作句柄, 空白地址, 取空白字节集 (4096))
空白地址 = 0
数据空白 = 0
调试输出 (“分裂关”) |
|