DNF公告写法
人物基址 = “011C6364”
商店基址 = “0116FBC4”
仓库基址 = “009BD8A0”
公告基址 = “00ADC1A0”
账号基址 = “0116CD84 ”
召唤基址 = “016006D0”
怪物基址 = “015FBDE4”
技能ECX = “0107ADF8”
技能EAX = “0107ADFC”
.版本 2
.子程序 公告, , , '公告
.参数 msg, 文本型, , '公告内容
.参数 color, 整数型, , 颜色值
.局部变量 宽字符, 字节集
.局部变量 消息地址, 整数型
.局部变量 CALL地址, 整数型
.局部变量 CALL, 整数型
.局部变量 CALL机械码, 字节集
.局部变量 商店, 整数型
CALL = 十六到十 (公告基址) ' '公告基址
商店 = 十六到十 (商店基址) ' 商店地址
CALL地址 = 取整数型数据地址 (CALL)
宽字符 = 转换Ansi转Unicode (msg)
消息地址 = 取字节集数据地址 (宽字符)
CALL机械码 = { 96, 185 } + 到字节集 (商店) + { 139, 9, 139, 73, 80, 106, 0, 106, 0, 106, 0, 106, 31, 104 } + 到字节集 (color) + { 104 } + 到字节集 (消息地址) + { 255, 21 } + 到字节集 (CALL地址) + { 97, 195 }
调用代码 (CALL机械码)
.子程序 透明公告, , 公开, 透明公告
.参数 msg, 文本型, , 透明公告内容
.局部变量 宽字符, 字节集
.局部变量 CALL地址, 整数型
.局部变量 消息地址, 整数型
.局部变量 CALL, 整数型
.局部变量 商店, 整数型
.局部变量 CALL机械码, 字节集
CALL = 十六到十 (仓库基址) ' 仓库基址
商店 = 十六到十 (商店基址) ' 商店基址
宽字符 = 转换Ansi转Unicode (msg)
消息地址 = 取字节集数据地址 (宽字符)
CALL地址 = 取整数型数据地址 (CALL)
CALL机械码 = { 96, 185 } + 到字节集 (商店) + { 139, 9, 106, 0, 104 } + 到字节集 (消息地址) + { 106, 45 } + { 255, 21 } + 到字节集 (CALL地址) + { 97, 195 }
调用代码 (CALL机械码)
.子程序 _取地址_整数型, 整数型, , 公告
.参数 变量, 整数型, 参考
' mov eax, [ebp+8]
' pop ebp
' retn 4
置入代码 ({ 139, 69, 8, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 _取地址_字节集, 整数型, , 公告
.参数 变量, 字节集, 参考
' mov eax, [ebp+8]
' mov eax, [eax]
' add eax, 8
' mov esp ,ebp
' pop ebp
' retn 4
置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 8, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 _取地址_文本型, 整数型
.参数 变量, 文本型, 参考
' mov eax,[ebp+8]
' mov eax,[eax]
' leave
' retn 4
置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
返回 (0)
.子程序 加密, , , 加密
.参数 写到地址, 整数型
.参数 写入数值, 整数型
置入代码 ({ 199, 195, 8, 0, 0, 0, 199, 193, 96, 145, 56, 1, 139, 9, 54, 139, 60, 43, 139, 7, 139, 137, 68, 0, 0, 0, 199, 199, 100, 145, 56, 1, 139, 63, 193, 224, 2, 141, 52, 8, 51, 247, 54, 51, 180, 43, 4, 0, 0, 0, 137, 52, 8 })
.版本 2
.子程序 自定义攻击
.参数 人物基址, 整数型
.参数 X轴坐标, 整数型
.参数 Y轴坐标, 整数型
.参数 Z轴坐标, 整数型
.参数 伤害值, 整数型
.参数 技能ID, 整数型
置入代码 ({ 139, 117, 8, 139, 54, 184, 248, 173, 7, 1, 139, 0, 185, 252, 173, 7, 1, 139, 9, 106, 0, 106, 0, 139, 22, 80, 81, 106, 0, 106, 4, 255, 117, 20, 255, 117, 16, 255, 117, 12, 106, 0, 106, 0, 255, 117, 24, 255, 117, 28, 139, 206, 255, 146, 224, 2, 0, 0 })
写法 自定义攻击(十六到十(人物基址),X,Y,Z,到整数(伤害),到整数(技能代码)) X,Y,Z,为坐标 自己随便填 伤害自己想多少就多少 技能代码很多 自己喜欢
.版本 2
.子程序 自身无敌, , , 无敌.
.如果 (强悍无敌.时钟周期 = 0)
强悍无敌.时钟周期 = 1000
.否则
强悍无敌.时钟周期 = 0
.如果结束
.子程序 _强悍无敌_周期事件, , , 无敌.
加密 (内存操作.读代码 (人物基址) + 十六到十 (“4CC”), 1)
加密 (内存操作.读代码 (人物基址) + 十六到十 (“4D4”), 2)
.子程序 城镇加速, , , 城镇加速.
.如果 (城镇加速.时钟周期 = 0)
城镇加速.时钟周期 = 1000
.否则
城镇加速.时钟周期 = 0
.如果结束
.子程序 _城镇加速_周期事件, , , 城镇加速.
加密 (内存操作.读代码 (人物基址) + 十六到十 (“19B8”), 1080000000) ' 城镇
内存优化 ()
.子程序 超级加速
.如果 (超级加速.时钟周期 = 0)
超级加速.时钟周期 = 500
.否则
超级加速.时钟周期 = 0
.如果结束
.子程序 _超级加速_周期事件
加密 (内存操作.读代码 (人物基址) + 十六到十 (“12D8”), 到数值 (2000)) ' 攻击速度
加密 (内存操作.读代码 (人物基址) + 十六到十 (“12F8”), 到数值 (1500)) ' 移动速度
加密 (内存操作.读代码 (人物基址) + 十六到十 (“12E8”), 到数值 (2000)) ' 释放速度
.版本 2
.子程序 加满红蓝
地址1 = 内存操作.读代码 (人物基址) + 十六到十 (“12B8”)
加密 (地址1, 到数值 (5999999))
地址2 = 内存操作.读代码 (人物基址) + 十六到十 (“12C8”)
加密 (地址2, 到数值 (3999999))
超级延时 (50)
地址1 = 内存操作.读代码 (人物基址) + 十六到十 (“12B8”)
加密 (地址1, 到数值 (0))
地址2 = 内存操作.读代码 (人物基址) + 十六到十 (“12C8”)
加密 (地址2, 到数值 (0))