找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 183|回复: 0

完美国际内挂源码

[复制链接]

1793

主题

457

回帖

0

积分

管理员

积分
0
发表于 2013-8-27 14:36:35 | 显示全部楼层 |阅读模式

.版本 2

.程序集 游戏CALL

.子程序 CALL_打坐坐
.局部变量 代码, 字节集

置代码 ({  })
mov_eax_常数 (十六进制到十进制 (“5AB920”))  ' 0710日可用地址
call_eax ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)

.子程序 CALL_打坐起
.局部变量 代码, 字节集

置代码 ({  })
mov_eax_常数 (十六进制到十进制 (“5AB960”))  ' 0710日可用地址
call_eax ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)

.子程序 CALL_捡物
.参数 物品ID, 整数型
.参数 系统物品ID, 整数型
.局部变量 代码, 字节集

置代码 ({  })
pushad ()
mov_eax_常数 (物品ID)
push_eax ()
mov_ecx_常数 (系统物品ID)
push_ecx ()
mov_edx_ptr (游戏基址)
mov_ecx_ptr_edx加字节 (32)
add_ecx_常数 (236)
mov_ebx_常数 (十六进制到十进制 (“588240”))  ' 0710日可用地址
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)

.子程序 CALL_普通攻击
.局部变量 代码, 字节集

置代码 ({  })
mov_eax_常数 (十六进制到十进制 (“5AB1A0”))  ' 0710日可用地址
call_eax ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)

.子程序 CALL_死亡回城
.局部变量 代码, 字节集

置代码 ({  })
pushad ()
mov_eax_ptr (游戏基址)
mov_eax_ptr_eax加字节 (32)
lea_ecx_ptr_eax加整数 (十六进制到十进制 (“ec”))
mov_ebx_常数 (十六进制到十进制 (“5AB5E0”))  ' 0710日可用地址
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)

.子程序 CALL_选怪, 字节集
.参数 怪物ID, 整数型
.局部变量 代码, 字节集

置代码 ({  })
pushad ()
mov_edi_常数 (怪物ID)
mov_eax_ptr (游戏基址)
push_edi ()
mov_ecx_ptr_eax加字节 (32)
add_ecx_常数 (236)
mov_ebx_常数 (十六进制到十进制 (“5882B0”))  ' 0710日可用地址
call_ebx ()
popad ()
ret ()
返回 (_取代码 ())


.子程序 喊话, , , 还没调试好的CALL
.参数 喊话内容, 文本型
.局部变量 代码, 字节集
.局部变量 说话内容地址, 整数型
.局部变量 说话内容字节集, 字节集

说话内容字节集 = ANSI转UNICODE (喊话内容)
说话内容地址 = 内存创建 (取字节集长度 (说话内容字节集))
写字节集内存 (进程, 说话内容地址, 说话内容字节集)
置代码 ({  })
pushad ()
mov_eax_常数 (0)  ' 说话频道
mov_esi_常数 (说话内容地址)  ' 说话内容的存放地址
push_esi ()
push_eax ()
mov_ecx_ptr (9599024)
mov_ebx_常数 (十六进制到十进制 (“58d8d0”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)
内存释放 (说话内容地址)

.子程序 call_跑路, 字节集
.参数 x, 整数型
.参数 y, 整数型
.参数 z, 整数型
.参数 fly, 整数型
.局部变量 目的x坐标, 小数型
.局部变量 目的y坐标, 小数型
.局部变量 目的z坐标, 小数型

目的x坐标 = 到小数 ((x - 400) × 10)
目的y坐标 = 到小数 ((y - 550) × 10)
目的z坐标 = 到小数 (z × 10)
.如果 (fly = 2)
    fly = 1
.否则
    fly = 0
.如果结束
置代码 ({  })
pushad ()
mov_eax_ptr (游戏基址)
mov_eax_ptr_eax加字节 (28)
mov_esi_ptr_ebp加字节 (32)
mov_ecx_ptr_ebx加整数 (2984)
push_常数 (1)
mov_ebx_常数 (十六进制到十进制 (“45DAD0”))
call_ebx ()
mov_edi_eax ()
mov_eax_常数 (目的x坐标)
返回 (_取代码 ())

.子程序 走路call, , 公开, 用call
.参数 x, 小数型
.参数 y, 小数型
.参数 z, 小数型
.参数 是否影响高度, 整数型, 可空, 1为影响  0为不影响 默认为0
.局部变量 代码, 字节集
.局部变量 call1, 整数型, , , 64: 0x45E020  10h:4579360
.局部变量 call2, 整数型, , , 64: 0x461A50  10h:4594256
.局部变量 call3, 整数型, , , 64: 0x45E420  10h:4580384
.局部变量 被还原数, 字节集
.局部变量 目的x, 整数型
.局部变量 目的y, 整数型
.局部变量 目的z, 整数型

x = (x - 400) × 10
y = (y - 550) × 10
z = z × 10
被还原数 = 到字节集 (到小数 (x))
目的x = 取字节集数据 (被还原数, #整数型, )
被还原数 = 到字节集 (到小数 (y))
目的y = 取字节集数据 (被还原数, #整数型, )
被还原数 = 到字节集 (到小数 (z))
目的z = 取字节集数据 (被还原数, #整数型, )
' 输出调试文本 (x)
' 输出调试文本 (y)
' 输出调试文本 (z)
置代码 ({  })
pushad ()
mov_eax_ptr (十六进制到十进制 (#内存基址))
mov_eax_ptr_eax加整数 (十六进制到十进制 (“1c”))
mov_eax_ptr_eax加整数 (十六进制到十进制 (“20”))
mov_ebx_eax ()
mov_ecx_ptr_ebx加整数 (十六进制到十进制 (“bcc”))
push_常数 (1)
mov_eax_常数 (十六进制到十进制 (“45DDA0”))  ' CALL1
call_eax ()
mov_edi_eax ()
mov_eax_常数 (目的x)
mov_ptr_ecx加字节_eax (十六进制到十进制 (“0”))
mov_eax_常数 (目的z)
mov_ptr_ecx加字节_eax (十六进制到十进制 (“4”))
mov_eax_常数 (目的y)
mov_ptr_ecx加字节_eax (十六进制到十进制 (“8”))
push_ecx ()
push_常数 (0)  ' 这个地方改成1的话就是飞行了
mov_ecx_edi ()
mov_eax_常数 (十六进制到十进制 (“4617D0”))  ' CALL2
call_eax ()
push_常数 (0)
push_常数 (1)
push_edi ()
mov_ecx_ptr_ebx加整数 (十六进制到十进制 (“bcc”))
push_常数 (1)
mov_eax_常数 (十六进制到十进制 (“45E1A0”))  ' CALL3
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)


.子程序 技能call
.参数 技能位置, 整数型
.局部变量 技能位置基址
.局部变量 代码, 字节集

角色技能基址 = 读内存整数 (人物基址 + 十六进制到十进制 (“BF0”))
技能位置基址 = 读内存整数 (角色技能基址 + 4 × 技能位置)

置代码 ({  })
pushad ()
mov_eax_常数 (读内存整数 (角色技能基址 + 4 × 技能位置))
mov_ebx_常数 (十六进制到十进制 (“492EFA”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)


.子程序 招出宠物CALL
.局部变量 代码, 字节集

置代码 ({  })
pushad ()
mov_eax_常数 (0)
mov_ptr_ecx加字节_eax (十六进制到十进制 (“8”))
' mov_ecx_常数 (人物基址)
' mov_edx_常数 (宠物基址)
' mov_eax_edx ()
' mov_eax_ptr_eax加字节 (8)
mov_eax_常数 (十六进制到十进制 (“493fa0”))
' mov_ebx_常数 (十六进制到十进制 (“493fa4”))
' call_ebx ()
jmp_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)


.子程序 使用物品call
.参数 技能位置, 整数型
.局部变量 技能位置基址
.局部变量 代码, 字节集

角色技能基址 = 读内存整数 (人物基址 + 十六进制到十进制 (“BF0”))
技能位置基址 = 读内存整数 (角色技能基址 + 4 × 技能位置)

置代码 ({  })
pushad ()
mov_eax_常数 (读内存整数 (角色技能基址 + 4 × 技能位置))
mov_ebx_常数 (十六进制到十进制 (“492EFA”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)




.子程序 按键招出宠物CALL
.局部变量 代码, 字节集

置代码 ({  })
pushad ()
' mov_eax_常数 (游戏基址)
' push_esi ()
' mov_esi_常数 (0)
mov_ecx_常数 (317019752)
' mov_edx_常数 (宠物基址)
' mov_eax_edx ()
' mov_eax_ptr_eax加字节 (8)
mov_ebx_常数 (十六进制到十进制 (“493fa0”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)


.子程序 发包CALL
.参数 发包内容, 字节集
.局部变量 发包内容, 字节集
.局部变量 发包内容地址, 整数型
.局部变量 代码, 字节集
.局部变量 外部操作, 内存共享类
.局部变量 发包长度, 整数型

发包长度 = 取字节集长度 (发包内容)
发包内容地址 = 外部操作.内存创建 (取字节集长度 (发包内容))
内存写字节集 (进程, 发包内容地址, 发包内容)
置代码 ({  })
pushad ()
mov_eax_ptr (十六进制到十进制 (“9271B4”))  
mov_ecx_ptr_eax加字节 (十六进制到十进制 (“20”))
push_常数 (发包长度)
push_常数 (发包内容地址)
mov_eax_常数 (十六进制到十进制 (“58d7f0”))  ' 发包CALL
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)
外部操作.内存释放 (发包内容地址)



.子程序 打开NPCCALL
.参数 NPCID
.局部变量 代码, 字节集

置代码 ({  })
pushad ()
mov_eax_ptr (十六进制到十进制 (“9271B4”))  ' 基址 可写为mov_eax_常数 (游戏基址)
mov_ecx_ptr_eax加字节 (十六进制到十进制 (“20”))
push_常数 (6)
push_常数 (NPCID)
mov_eax_常数 (十六进制到十进制 (“58d7f0”))  ' (5822448)  ' 发包CALL
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用游戏call (代码)

http://yunpan.cn/QX2umkmry6f6X
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

果子博客
扫码关注微信公众号

Archiver|手机版|小黑屋|风叶林

GMT+8, 2026-2-1 04:39 , Processed in 0.069132 second(s), 20 queries .

Powered by 风叶林

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表