.版本 2
.子程序 _拾取物品
.参数 物品ID, 整数型, , 物品ID = _解密地址 (物品指针 + 148)
send_缓冲call (43) * 包头
send_加密call (物品ID, 2)
send_加密call (0, 1)
send_加密call (0, 1)
* 下面人物xyz坐标 物品xyz坐标?
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_发包call ()
.子程序 send_缓冲call
.参数 包头, 整数型
.局部变量 ecx, 整数型
.局部变量 缓冲call, 整数型
ecx = 读内存整数型 (-1, 十六到十 (#发包基址))
缓冲call = 十六到十 (#缓冲call)
置入代码 ({ 255, 181, 8, 0, 0, 0, 139, 141, 252, 255, 255, 255, 255, 149, 248, 255, 255, 255 })
.子程序 send_加密call
.参数 参数, 整数型
.参数 长度, 整数型
.局部变量 ecx, 整数型
.局部变量 秘钥call, 整数型
ecx = 读内存整数型 (-1, 十六到十 (#发包基址))
秘钥call = 十六到十 (#秘钥call)
置入代码 ({ 139, 141, 252, 255, 255, 255, 128, 185, 8, 0, 0, 0, 0, 117, 16, 144, 144, 144, 144, 199, 192, 84, 0, 0, 128, 139, 229, 93, 194, 8, 0, 139, 133, 12, 0, 0, 0, 1, 129, 48, 188, 54, 0, 80, 141, 133, 8, 0, 0, 0, 80, 255, 149, 248, 255, 255, 255 })
.子程序 send_发包call
.局部变量 ecx, 整数型
.局部变量 发包call, 整数型
ecx = 读内存整数型 (-1, 十六到十 (#发包基址))
发包call = 十六到十 (#发包call)
置入代码 ({ 139, 141, 252, 255, 255, 255, 255, 149, 248, 255, 255, 255 })
.子程序 组包吸物
.局部变量 一级偏移, 整数型
.局部变量 二级偏移, 整数型
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 数量, 整数型
.局部变量 怪物, 整数型
.局部变量 类型, 整数型
.局部变量 i
* 写内存代码 (-1, “3929645=195”) * 收包检测
一级偏移 = 读内存整数型 (-1, 十六到十 (#人物基址))
二级偏移 = 读内存整数型 (-1, 一级偏移 + 十六到十 (“B8”)) * +8
.如果真 (二级偏移 = 0)
返回 ()
.如果真结束
首地址 = 读内存整数型 (-1, 二级偏移 + 十六到十 (“C4”))
尾地址 = 读内存整数型 (-1, 二级偏移 + 十六到十 (“C8”))
数量 = (尾地址 - 首地址) ÷ 4
.计次循环首 (数量, i)
怪物 = 读内存整数型 (-1, 首地址 + 4 × i)
类型 = 读内存整数型 (-1, 怪物 + 148) * 8c
.如果真 (类型 = 289)
_拾取物品 (_解密地址 (怪物 + 152)) * 156
处理事件 ()
.如果真结束
.计次循环尾 ()
.子程序 _解密地址, 整数型
.参数 地址公式, 整数型, , 基址值+偏移
.局部变量 EAX, 整数型
.局部变量 EDX, 整数型
.局部变量 ESI, 整数型
EAX = 读内存整数型 (-1, 地址公式)
.如果真 (EAX = -1)
返回 (-1)
.如果真结束
ESI = 读内存整数型 (-1, 十六到十 (#解密基址)) * “02A5C5F8”
.如果真 (ESI = -1)
返回 (-1)
.如果真结束
EDX = 右移 (EAX, 16)
EDX = 读内存整数型 (-1, ESI + EDX × 4 + 36)
EAX = 位与 (EAX, 65535)
EAX = 读内存整数型 (-1, EDX + EAX × 4 + 8468)
EDX = 位与 (EAX, 65535)
ESI = 左移 (EDX, 16)
ESI = 位或 (ESI, EDX)
ESI = 位异或 (ESI, 读内存整数型 (-1, 地址公式 + 8))
返回 (ESI)
.子程序 _拾取物品
.参数 物品ID, 整数型, , 物品ID = _解密地址 (物品指针 + 148)
send_缓冲call (43) * 包头
send_加密call (物品ID, 2)
send_加密call (0, 1)
send_加密call (0, 1)
* 下面人物xyz坐标 物品xyz坐标?
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_加密call (0, 2)
send_发包call ()
.子程序 send_缓冲call
.参数 包头, 整数型
.局部变量 ecx, 整数型
.局部变量 缓冲call, 整数型
ecx = 读内存整数型 (-1, 十六到十 (#发包基址))
缓冲call = 十六到十 (#缓冲call)
置入代码 ({ 255, 181, 8, 0, 0, 0, 139, 141, 252, 255, 255, 255, 255, 149, 248, 255, 255, 255 })
.子程序 send_加密call
.参数 参数, 整数型
.参数 长度, 整数型
.局部变量 ecx, 整数型
.局部变量 秘钥call, 整数型
ecx = 读内存整数型 (-1, 十六到十 (#发包基址))
秘钥call = 十六到十 (#秘钥call)
置入代码 ({ 139, 141, 252, 255, 255, 255, 128, 185, 8, 0, 0, 0, 0, 117, 16, 144, 144, 144, 144, 199, 192, 84, 0, 0, 128, 139, 229, 93, 194, 8, 0, 139, 133, 12, 0, 0, 0, 1, 129, 48, 188, 54, 0, 80, 141, 133, 8, 0, 0, 0, 80, 255, 149, 248, 255, 255, 255 })
.子程序 send_发包call
.局部变量 ecx, 整数型
.局部变量 发包call, 整数型
ecx = 读内存整数型 (-1, 十六到十 (#发包基址))
发包call = 十六到十 (#发包call)
置入代码 ({ 139, 141, 252, 255, 255, 255, 255, 149, 248, 255, 255, 255 })
.子程序 组包吸物
.局部变量 一级偏移, 整数型
.局部变量 二级偏移, 整数型
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 数量, 整数型
.局部变量 怪物, 整数型
.局部变量 类型, 整数型
.局部变量 i
* 写内存代码 (-1, “3929645=195”) * 收包检测
一级偏移 = 读内存整数型 (-1, 十六到十 (#人物基址))
二级偏移 = 读内存整数型 (-1, 一级偏移 + 十六到十 (“B8”)) * +8
.如果真 (二级偏移 = 0)
返回 ()
.如果真结束
首地址 = 读内存整数型 (-1, 二级偏移 + 十六到十 (“C4”))
尾地址 = 读内存整数型 (-1, 二级偏移 + 十六到十 (“C8”))
数量 = (尾地址 - 首地址) ÷ 4
.计次循环首 (数量, i)
怪物 = 读内存整数型 (-1, 首地址 + 4 × i)
类型 = 读内存整数型 (-1, 怪物 + 148) * 8c
.如果真 (类型 = 289)
_拾取物品 (_解密地址 (怪物 + 152)) * 156
处理事件 ()
.如果真结束
.计次循环尾 ()
.子程序 _解密地址, 整数型
.参数 地址公式, 整数型, , 基址值+偏移
.局部变量 EAX, 整数型
.局部变量 EDX, 整数型
.局部变量 ESI, 整数型
EAX = 读内存整数型 (-1, 地址公式)
.如果真 (EAX = -1)
返回 (-1)
.如果真结束
ESI = 读内存整数型 (-1, 十六到十 (#解密基址)) * “02A5C5F8”
.如果真 (ESI = -1)
返回 (-1)
.如果真结束
EDX = 右移 (EAX, 16)
EDX = 读内存整数型 (-1, ESI + EDX × 4 + 36)
EAX = 位与 (EAX, 65535)
EAX = 读内存整数型 (-1, EDX + EAX × 4 + 8468)
EDX = 位与 (EAX, 65535)
ESI = 左移 (EDX, 16)
ESI = 位或 (ESI, EDX)
ESI = 位异或 (ESI, 读内存整数型 (-1, 地址公式 + 8))
返回 (ESI)