看流星社区

 找回密码
 注册账号
楼主: rice

Rootkit Hook 专题(CHM版) 【查阅】

[复制链接]

该用户从未签到

发表于 2013-4-19 10:56:53 | 显示全部楼层
能不能下啊,前面几个都下不了

该用户从未签到

发表于 2013-6-18 15:31:45 | 显示全部楼层
能不能下啊,前面几个都下不了

该用户从未签到

发表于 2014-1-30 21:01:33 | 显示全部楼层
子程序 进图CALL, , 公开
.参数 区域id, 整数型, , 3-塔
.参数 位置id, 整数型, , 7-塔
.局部变量 c1, 整数型
.局部变量 c2, 整数型
.局部变量 c3, 整数型
.局部变量 loc1, 整数型
.局部变量 ebp_14, 整数型

c1 = 十六到十 (搜索_X轴参数 ()) ' 0128 X轴参数十进制
c2 = 十六到十 (搜索_Y轴参数 ()) ' 0128 Y轴参数十进制
c3 = 十六到十 (搜索_Z轴参数 ()) ' 0128 Z轴参数十进制
loc1 = 0
ebp_14 = 十六到十 (搜索_城镇参数 ()) ' 0128 头部参数

置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 15, 255, 85, 252 }) ' 0x26是城内移动;0x7是返回角色 0x0f是打开选图 0x2D是回城

loc1 = 3 ' 区域[1=埃尔文防线,2=赫尔马顿,3=西海岸,4=阿法利亚,5=斯顿雪域,6=根特,7=末日之都,8=仓库?]
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节

loc1 = 7 ' 区域中的位置。6在格兰就是进副本那。就是区域中的小区域。7是西海岸的塔 遗迹门口(4,3),雪域门口(5,2)
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节

loc1 = 120 ' 450 120
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节

loc1 = 300 ' 350 300
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节

loc1 = 5 ' z? 5这个没什么效果,不知道是不 是 Z 轴,注意是1字节。反正游戏里都是5。
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
置入代码 ({ 255, 85, 244 }) ' send

.子程序 扩大范围CALL, , 公开
.参数 基址, 整数型
.参数 伤害12345, 整数型
.参数 技能, 整数型
.局部变量 代码12345, 字节集

置汇编代码({ })
Pushad ()
Mov_ESI_Ptr (基址)
Push (0)
Push (0)
Mov_ECX_ESI ()
Mov_EDX_Ptr_ECX_Add (0)
Mov_EAX_EDX ()
Add_EAX (十六到十 (到文本 (“320”))) ' 原本30C
Mov_EBX_Ptr_EAX_Add (0)
Mov_EAX_Ptr (十六到十 (搜索_技能参数1 ())) ' 技能1
Mov_ECX_Ptr (十六到十 (搜索_技能参数2 ())) ' 技能2
Push_EAX ()
Push (1000) ' 这里写0范围不变 写1000扩大
Push (0)
Push (4)
Push (0)
Push (0)
Push (0)
Push (0)
Push (0)
Push (到数值 (伤害12345)) ' 伤害
Push (到数值 (技能)) ' 代码
Mov_ECX_ESI ()
Call_EBX ()
Popad ()
ret( ) '
代码12345 = 取汇编代码( )
调用代码 (代码12345)

.子程序 过图CALL, , 公开
.参数 Direction, 整数型, , 0123左右上下,4是上塔,8无视队友
.局部变量 local1, 整数型
.局部变量 local2, 整数型

local1 = 十六到十 (搜索_商店基址 ()) - 8
local2 = 十六到十 (搜索_过图调用代码 ()) ' 过图CALL的十进制
置入代码 ({ 96, 139, 141, 252, 255, 255, 255, 139, 9, 139, 137, 32, 160, 32, 0, 139, 137, 92, 0, 0, 0, 255, 181, 8, 0, 0, 0, 255, 149, 248, 255, 255, 255, 97 })

.子程序 无敌CALL, , 公开, 0无敌,1不无敌
.参数 对象地址, 整数型
.参数 数值, 整数型

置入代码 ({ 139, 117, 8, 139, 54, 139, 6, 255, 117, 12, 139, 206, 255, 144, 52, 3, 0, 0 })

.子程序 _无敌时钟_周期事件, , 公开, 0无敌,1不无敌
.局部变量 地址1, 整数型
.局部变量 人物基址, 文本型

人物基址 = 十六到十 (搜索_人物基址 ())
地址1 = 内存操作.读整数 (内存操作.读整数 (人物基址) + 十六到十 (“E0”))
.如果真 (地址1 ≤ 0)
返回 () ' “图外”
.如果真结束
无敌调用代码 (十六到十 (搜索_人物基址 ()), 0)

.子程序 自身全屏CALL
.参数 触发基址, 整数型
.参数 攻击代码, 整数型
.参数 技能伤害, 整数型
.参数 攻击个数, 整数型
.局部变量 JiZhi, 整数型
.局部变量 JiCi, 整数型
.局部变量 PianYi, 整数型
.局部变量 BianLi, 整数型
.局部变量 x轴, 整数型
.局部变量 y轴, 整数型
.局部变量 z轴, 整数型
.局部变量 阵营, 整数型
.局部变量 ShuLiang, 整数型

JiZhi = 内存操作.读代码 (搜索_人物基址 () + “+e0+90”)
.变量循环首 (0, 220, 1, JiCi)
PianYi = 4 + 4 × JiCi
BianLi = 内存操作.读整数 (JiZhi + PianYi)
阵营 = 内存操作.读整数 (BianLi + 1236)
.如果真 (阵营 > 0 且 阵营 < 200)
阵营 = 内存操作.读整数 (BianLi + 188)
.如果真 (阵营 = 529 或 阵营 = 273 或 阵营 = 545)
x轴 = 内存操作.读小数 (BianLi + 388)
y轴 = 内存操作.读小数 (BianLi + 392)
z轴 = 内存操作.读小数 (BianLi + 396)
.如果真 (触发基址 > 0)
白色模拟调用代码 (触发基址, 攻击代码, 技能伤害, x轴, y轴, z轴, 0, 0)
ShuLiang = ShuLiang + 1
.如果真 (ShuLiang = 攻击个数)
跳出循环 ()
.如果真结束

.如果真结束

.如果真结束

.如果真结束

.变量循环尾 ()

.子程序 物品CALL, , 公开
.参数 物品基址, 整数型
.参数 物品代码, 整数型
.局部变量 代码, 字节集

置汇编代码({ })
Pushad ()
Mov_ECX_Ptr (物品基址)
Mov_EDX_Ptr_ECX_Add (0)
Mov_EAX_EDX ()
Add_EAX (十六到十 (搜索_物品栏偏移 ()))
Mov_EBX_Ptr_EAX_Add (0)
Push (物品代码)
Call_EBX ()
Popad ()
ret( )
代码 = 取汇编代码( )
调用代码 (代码)
内存优化 ()

.子程序 动作CALL, , 公开
.参数 基址, 整数型
.参数 动作ID, 整数型
.局部变量 代码3, 字节集

置汇编代码({ })
Pushad ()
Mov_ESI_Ptr (基址)
Mov_EAX_Ptr_ESI ()
Add_EAX (十六到十 (搜索_动作偏移 ()))
Push (0)
Push (0)
Push (0)
Push (0)
Push (动作ID)
Mov_ECX_ESI ()
Call_Ptr_EAX ()
Popad ()
ret( )
代码3 = 取汇编代码 ()
调用代码 ( 代码3, )

.子程序 死亡CALL, , 公开, 调用方法: 死亡CALL(十六到十(#人物基址),1) 互秒:死亡CALL(#攻击对象, 1)
.参数 地址, 整数型
.参数 数值, 整数型

置入代码 ({ 96, 139, 181, 8, 0, 0, 0, 139, 54, 139, 6, 139, 206, 255, 144, 128, 4, 0, 0, 97 })

.子程序 城镇CALL, , 公开
.参数 区域id, 整数型, , 3-塔
.参数 位置id, 整数型, , 7-塔
.局部变量 c1, 整数型
.局部变量 c2, 整数型
.局部变量 c3, 整数型
.局部变量 loc1, 整数型
.局部变量 ebp_14, 整数型

c1 = 十六到十 (搜索_X轴参数 ()) ' 0128 X轴参数十进制
c2 = 十六到十 (搜索_Y轴参数 ()) ' 0128 Y轴参数十进制
c3 = 十六到十 (搜索_Z轴参数 ()) ' 0128 Z轴参数十进制
loc1 = 0
ebp_14 = 十六到十 (搜索_城镇参数 ()) ' 0128 头部参数
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 38, 255, 85, 252 }) ' 0x26是城内移动;0x7是返回角色 0x0f是打开选图 0x2D是回城
loc1 = 区域id ' 区域[1=埃尔文防线,2=赫尔马顿,3=西海岸,4=阿法利亚,5=斯顿雪域,6=根特,7=末日之都,8=仓库?]
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
loc1 = 位置id ' 区域中的位置。6在格兰就是进副本那。就是区域中的小区域。7是西海岸的塔 遗迹门口(4,3),雪域门口(5,2)
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
loc1 = 120 ' x
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节
loc1 = 300 ' y
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节
loc1 = 5 ' z?这个没什么效果,不知道是不 是 Z 轴,注意是1字节。反正游戏里都是5。
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
置入代码 ({ 255, 85, 244 }) ' send

.子程序 返回角色CALL, , 公开
.局部变量 c1, 整数型
.局部变量 c2, 整数型
.局部变量 c3, 整数型
.局部变量 loc1, 整数型
.局部变量 ebp_14, 整数型

c1 = 十六到十 (搜索_X轴参数 ()) ' 0128 X轴参数十进制
c2 = 十六到十 (搜索_Y轴参数 ()) ' 0128 Y轴参数十进制
c3 = 十六到十 (搜索_Z轴参数 ()) ' 0128 Z轴参数十进制
loc1 = 0
ebp_14 = 十六到十 (搜索_城镇参数 ()) ' 0128 头部参数
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 104, 7, 0, 0, 0, 255, 149, 252, 255, 255, 255 }) ' 0x26是城内移动;0x7是返回角色 0x0f是打开选图 0x2D是回城
loc1 = 3 ' 区域[1=埃尔文防线,2=赫尔马顿,3=西海岸,4=阿法利亚,5=斯顿雪域,6=根特,7=末日之都,8=仓库?]
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
loc1 = 7 ' 区域中的位置。6在格兰就是进副本那。就是区域中的小区域。7是西海岸的塔 遗迹门口(4,3),雪域门口(5,2)
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
loc1 = 120 ' 450 120
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节
loc1 = 300 ' 350 300
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节
loc1 = 5 ' z? 5这个没什么效果,不知道是不 是 Z 轴,注意是1字节。反正游戏里都是5。
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
置入代码 ({ 255, 85, 244 }) ' send

.子程序 回城CALL, , 公开
.局部变量 c1, 整数型
.局部变量 c2, 整数型
.局部变量 c3, 整数型
.局部变量 loc1, 整数型
.局部变量 ebp_14, 整数型

c1 = 十六到十 (搜索_X轴参数 ()) ' 0128 X轴参数十进制
c2 = 十六到十 (搜索_Y轴参数 ()) ' 0128 Y轴参数十进制
c3 = 十六到十 (搜索_Z轴参数 ()) ' 0128 Z轴参数十进制
loc1 = 0
ebp_14 = 十六到十 (搜索_城镇参数 ()) ' 0128 头部参数
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 104, 45, 0, 0, 0, 255, 149, 252, 255, 255, 255 }) ' 0x26是城内移动;0x7是返回角色 0x0f是打开选图 0x2D是回城
loc1 = 3 ' 区域[1=埃尔文防线,2=赫尔马顿,3=西海岸,4=阿法利亚,5=斯顿雪域,6=根特,7=末日之都,8=仓库?]
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
loc1 = 7 ' 区域中的位置。6在格兰就是进副本那。就是区域中的小区域。7是西海岸的塔 遗迹门口(4,3),雪域门口(5,2)
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
loc1 = 120 ' 450 120
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节
loc1 = 300 ' 350 300
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 2, 141, 85, 240, 82, 255, 85, 248 }) ' 2字节
loc1 = 5 ' z? 5这个没什么效果,不知道是不 是 Z 轴,注意是1字节。反正游戏里都是5。
置入代码 ({ 139, 77, 236, 139, 9 }) ' ecx
置入代码 ({ 106, 1, 141, 85, 240, 82, 255, 85, 248 }) ' 1字节
置入代码 ({ 255, 85, 244 }) ' send

.子程序 _按钮1_被单击

扩大范围CALL (, , , , )

.子程序 _按钮2_被单击
.局部变量 进程ID, 整数型

进程ID = 进程取ID (“DNF.exe”)
  • TA的每日心情
    难过
    2023-7-23 15:23
  • 发表于 2017-5-2 21:02:28 | 显示全部楼层
    hook  是一个有深度的东西

    该用户从未签到

    发表于 2018-10-23 18:49:26 | 显示全部楼层
    不错,很简洁!!!!

    该用户从未签到

    发表于 2019-5-7 08:13:06 来自手机 | 显示全部楼层
    拿走了。谢谢。

    该用户从未签到

    发表于 2019-6-9 17:30:51 | 显示全部楼层
    支持看看学习

    该用户从未签到

    发表于 2019-7-28 00:48:31 | 显示全部楼层
    激动人心,无法言表,感谢楼主,感谢看流星社区的分享!

    该用户从未签到

    发表于 2019-12-22 15:13:12 | 显示全部楼层
    支持看看学习
    点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

    小黑屋|手机版|Archiver|看流星社区 |网站地图

    GMT+8, 2024-4-18 17:58

    Powered by Kanliuxing X3.4

    © 2010-2019 kanliuxing.com

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