TC官方合作论坛
标题:
[Hook插件]快速开发内存脚本+++++++
[打印本页]
作者:
如此美丽。
时间:
2015-10-22 10:57
标题:
[Hook插件]快速开发内存脚本+++++++
本帖最后由 如此美丽。 于 2015-11-4 03:18 编辑
2015-11-04 修复BUG 远程隐藏模块 将整个模块表填充0 导致程序异常
首先引用之前的帖子 可能没火起来 .. [
好插件 首页见 ! 标题长 成就高 ++++++++++
]
这次最大的更新是 RemoteHookRegister (添加可控条件断点 和 自定义接收消息参数)
其次是 RemoteHideMoudle (以前的HideMoudle 只是隐藏了
LDR_DATA_TABLE_ENTRY
结构体里的 FullDllName 如果只是遍历模块名字 还是能找到模块 这次是 FullDllName 和 BaseDllName 一起隐藏 达到完全被隐藏)
再者开始介绍插件函数
// Hook 寄存器 拦截寄存器上的值 后面会进行扫盲
//函数: var RemoteHookRegister(var SwitchAddr, var ProcessId, var phWin, var JmpAddr, var JmpSize, var Msg)
// 远程隐藏模块 (隐藏
LDR_DATA_TABLE_ENTRY
结构体里 FullDllName 和 BaseDllName)
//函数: var RemoteHideMoudle(var hMoudle, var ProcessId)
// 远程获取模块句柄 (跨进程获取模块句柄 例如获取非系统模块)
//函数: var RemoteGetModuleHandle(var MoudleName, var ProcessId)
// 远程获取函数地址 (跨进程获取函数地址 例如获取非系统模块的导出函数地址)
//函数: var RemoteGetProcAddress(var hMoudle, var ProcName, var ProcessId)
// 注入Dll (成功返回 模块句柄)
//函数: var RemoteInjectDll(var ProcessId, var MoudleName)
// 卸载Dll
//函数: var RemoteUnloadDll(var ProcessId, var MoudleName)
// 远程获取
RTL_USER_PROCESS_PARAMETERS
结构体指针
//函数: var RemoteProcessParametersAddr(var ProcessId)
// 远程获取 CurrentDirectoryAddr 当前目录指针 (Unicode)
//函数: var RemoteCurrentDirectoryAddr(var ProcessId)
// 远程获取 ImagePathNameAddr 程序路径指针 (Unicode) (可用来过HS保护)
//函数: var RemoteImagePathNameAddr(var ProcessId)
// 远程获取 CommandLineAddr 程序命令行指针 (Unicode)
//函数: var RemoteCommandLineAddr(var ProcessId)
现在开始扫盲 (不喜勿喷 讲错请乱喷 .. 不用谢
{:soso_e144:}
)
一般人会觉得隐藏模块比较常用 其实个人觉得 隐藏模块 并不能对付目前的很多主流和非主流保护 现在大部分的保护 是开线程检测特征码 或 其他手段
隐藏模块只是为了让一般手段"看不到" 你的或者我的某个模块
so 用隐藏模块来对付检测 然并卵啊 .. 最多只是对付那些检测模块的检测线程 ..
其实本插件最大的特色就是 Hook寄存器 (首先感谢 唯一关注此功能的 @
smallduck218
提出的那么多好的建议)
老惯例引用两个外部解释
二漠又来发帖子了!使用TC的消息路由功能实现了HOOK拦截技术。用一个游戏的血量数值拦截举例!
易语言用超级HOOK获取游戏坐标数据
(当然 我也不知道他是怎么实现的 不过我只能说他那种方法局限性很大 不够灵活 而且不好控制)
正式扫盲
..
找过基址的都知道 有些游戏很好找 有些游戏又是数组 又是其他什么的 绕过去绕过来都找不到
但是找动态是超级简单的 ..
当你找到动态后 你获取找到访问改地址的代码 你就能Hook了 他访问了这个地址寄存器上就会产生这个值(比如血条) 当你hook了这个地址 也就相当于你得到了寄存器上的所有值(里面包含血条等) 也就可以提取这个值了
例子开始
比如说 资源中的案例 (可以自己找一下动态地址)[attach]21984[/attach]
查找访问可以看到 有这几个地址都在访问这个值
我们就点一个 然后点 显示反汇编代码 在该指令上 设置一个断点 这个值改变后 他就会断下来 我们看下寄存器上有没有我们要的值(注意是寄存器上是16进制 注意转换)
比如说我在401b48 这个地址上 下了个断点 (当前血是461 十六进制 1DC) 他停了 然后我们看 EDX 上面有我们要的值
这个地址我们就可以hook But ..
我们hook地址也要看 是否满足写Jmp的条件 且 寄存器上有值的情况下:
[attach]21985[/attach]
00401B48 - 89 56 34 - mov [esi+34],edx // 这里字节不够 下面又刚好有5个字节 所以就直接在下面做
00401B4B -
ff 90 fc 02 00 00
- call dword ptr [eax+000002fc] [紫色加粗 比如这种 一个整行行加起来 是6个字节] // 此处做HOOK 是最好的
00401B51 -
8d 4d e0
- lea ecx,[ebp-20] // 代码执行完上面那个CALL 后 我们要的EDX的值就被覆盖了 所以我们要在上面做HOOK
00401B54 -
50
- push eax
00401B55 -
51
- push ecx [红色加粗 比如这种 几个整行行加起来 是5个字节]
反正是一整行计算就对了 要>=5个字节
因为E9 00000000 [Jmp 00000000]
JmpAddr = #00401B4B
JmpSize = 6 // FF90 FC020000
复制代码
这样你就相当于拿到数据了 就不用 去努力的找基址了 {:soso_e142:}
下面开始讲这个函数的特色 (
可控 条件断点
)
RemoteHookRegister 函数第一个参数是 传入一个全局的 SwitchAddr 开关变量指针
1.可控
有了他 我们可以直接在自身里 SwitchAddr = true 和 SwitchAddr = false 来实现 OD里的断点功能
2.条件断点
我们可以开关断点了 我们也就可以用条件来操作了 断点了 比如说 我们拦截到血只有 100了 我现在立马 SwitchAddr = true 让程序停下来 我们吃药 (或者修改数据 其他操作等) 执行完毕后 我们继续 SwitchAddr = false
或者说 我不开心 我就要 SwitchAddr = false 一直挂起程序 等我洗完澡回来再 SwitchAddr = true
然后就是 自定义接收消息参数 (感谢 @
smallduck218
的建议)
比如说我们 要hook 血 蓝 坐标 等很多 个信息 我们以前是固定的 WM_User 接收
现在可以自定义 比如说 我血用 #400 ( 他是从 #401 开始接收 因为是8个寄存器 所以要占4个值 也就是 401 402 403 404)
蓝用 #404 ( 他是从 #405 开始接收 因为是8个寄存器 所以要占4个值 也就是 405 406 407 408)
以此类推
更清晰和详细的解释 看一看代码里的注释和跑一下程序 一下就懂了 {:soso_e143:}
[attach]21983[/attach]
我知道有些人跟我有一样的好习惯 [
字多我不看
]
对年轻人就是要任性 ..
当然最后还是要不忘宣传
疯狂论坛
你们要知道论坛不是最关键的 关键是 我的
VB源码板块
各种精品源码等你带走 ..
[
www.fkgzs.com
]
作者:
如此美丽。
时间:
2015-10-22 11:00
预留
作者:
good
时间:
2015-10-22 11:08
{:soso__4607844064215092132_3:}
作者:
言术
时间:
2015-10-22 11:10
看看
作者:
东月山
时间:
2015-10-22 11:18
神啊,终于让我找到了!
作者:
itcfan
时间:
2015-10-22 11:19
{:soso_e179:}
作者:
qwe1063422121
时间:
2015-10-22 11:51
..........
作者:
dangq
时间:
2015-10-22 11:51
原来是推广的 哈哈
作者:
zxw445
时间:
2015-10-22 11:55
给你金币,文化不错,体育老师教的吧?
作者:
这论坛不错
时间:
2015-10-22 12:48
{:soso_e126:}
作者:
shufu
时间:
2015-10-22 13:02
学习了 看看
支持下
作者:
heeman
时间:
2015-10-22 14:13
厉害了,,,厉害了
作者:
jimye0526
时间:
2015-10-22 15:02
收藏了先,太长了 以后看
作者:
88979825
时间:
2015-10-22 15:18
美丽姐 你太凶了
作者:
88979825
时间:
2015-10-22 15:18
美丽姐 你太凶了
作者:
88979825
时间:
2015-10-22 15:18
美丽姐 你太凶了
作者:
tangyonghong8
时间:
2015-10-22 16:47
学习学习
作者:
jhszs
时间:
2015-10-22 17:33
[Hook插件]快速开发内存脚本+++++++ [修改]
作者:
420130
时间:
2015-10-22 17:34
看看
作者:
420130
时间:
2015-10-22 17:44
楼主请放你写的源码可以吗?
作者:
a402951174
时间:
2015-10-22 18:04
必须要看看
作者:
smallduck218
时间:
2015-10-22 18:29
多谢大神 更新插件 待我测试看看!如果能自定义HOOK来的数据那就 以后用不到 坐标 血 蓝的 找图找字了 3D游戏寻路也变的简单了
作者:
九先生
时间:
2015-10-22 19:34
好东西一定要顶
作者:
luqinlong
时间:
2015-10-22 19:39
CoCreateInstance
作者:
badcwytga
时间:
2015-10-22 19:43
厉害的东西,支持下
作者:
badcwytga
时间:
2015-10-22 19:46
下载出来怎么打不开啊? 是用TC哪个版本的?
作者:
zc317414
时间:
2015-10-22 20:53
很牛逼的样子
作者:
sam7894604
时间:
2015-10-22 21:59
就问个事...
插件用啥语言写的{:soso_e154:}
作者:
say
时间:
2015-10-22 23:05
好东西
作者:
say
时间:
2015-10-22 23:05
好东西
作者:
wntd
时间:
2015-10-23 00:00
444444444
作者:
如此美丽。
时间:
2015-10-23 00:15
sam7894604 发表于 2015-10-22 21:59
就问个事...
插件用啥语言写的
vb6.0
作者:
rjsvictor
时间:
2015-10-23 07:40
看看
作者:
330078269
时间:
2015-10-23 08:49
了看见了敬爱的
作者:
爱上老公
时间:
2015-10-23 12:42
这个就要顶了
作者:
tan0360
时间:
2015-10-23 15:37
撒上撒旦撒旦撒旦的
作者:
My水乐
时间:
2015-10-23 16:14
回复
作者:
家园游
时间:
2015-10-23 20:50
魂牵梦萦干枯地需要
作者:
qjj754
时间:
2015-10-23 21:25
目标这思路不错
作者:
qjj754
时间:
2015-10-23 21:26
目标这思路不错
作者:
→阿彌陀佛←
时间:
2015-10-23 23:08
11111111111
作者:
→阿彌陀佛←
时间:
2015-10-23 23:08
11111111111
作者:
a765998143
时间:
2015-10-24 02:12
FDHFDFDFDFG
作者:
cbc
时间:
2015-10-24 12:45
终于让我找到了!
作者:
qq413645483
时间:
2015-10-24 13:00
11111111111111
作者:
q0252
时间:
2015-10-25 04:07
来看可这次了
作者:
kowest
时间:
2015-10-25 11:54
学习
作者:
81664702
时间:
2015-10-25 12:48
新手而已
作者:
我是冰冻的番茄
时间:
2015-10-25 21:12
.............................
作者:
adamyun
时间:
2015-10-26 11:21
kankan shenme yisi a
作者:
xc_dong
时间:
2015-10-26 11:55
好东西,先谢了!!!!!!!!!!!!!!!!
作者:
mitchs
时间:
2015-10-27 08:28
看看怎么样.
作者:
zyjun01
时间:
2015-10-27 19:47
,/m,./m,./m,./m,.
作者:
个人神话
时间:
2015-10-28 11:21
个人神话,如果您要查看本帖隐藏内容请回复
作者:
qqliu
时间:
2015-10-28 21:13
很好很强大~~~
作者:
bjwfm2011
时间:
2015-10-29 10:33
真是棒棒的哟
作者:
bjwfm2011
时间:
2015-10-29 10:33
真是棒棒真是棒棒真是棒棒真是棒棒真是棒棒真是棒棒真是棒棒真是棒棒
作者:
maotcmao
时间:
2015-10-30 00:09
想法不错啊 支持
作者:
ma000chen
时间:
2015-10-30 22:38
看看啊,学习学习啊啊啊看看啊,学习学习啊啊啊看看啊,学习学习啊啊啊
作者:
aoaoawei
时间:
2015-10-30 23:16
感谢楼主分享
作者:
18667006365
时间:
2015-10-31 08:05
看看年年
作者:
l66199871
时间:
2015-11-1 12:21
学习了
作者:
hello_dandy
时间:
2015-11-1 14:07
dddddddddddddddddddddddd
作者:
木人
时间:
2015-11-1 22:25
插件]快速开发内存脚
作者:
海贼蛋蛋
时间:
2015-11-2 09:54
好厉害,看看
作者:
cecil001
时间:
2015-11-2 14:04
我要看看
作者:
ssong
时间:
2015-11-2 14:42
作者:
13738292595
时间:
2015-11-2 16:11
adassadasd
作者:
shiye
时间:
2015-11-3 09:58
作者:
liuhaiyan008
时间:
2015-11-3 13:31
**官各方的分
作者:
wghayl521
时间:
2015-11-4 03:34
看看啊
作者:
a350641717
时间:
2015-11-4 17:05
学习了
作者:
473095039
时间:
2015-11-4 18:30
54654464564
作者:
seeye
时间:
2015-11-5 02:16
必须学习了
作者:
a3357aa
时间:
2015-11-6 10:58
我也看看,好多 ,东西不好找哟
作者:
woailwh
时间:
2015-11-6 12:02
11111111111111
作者:
haiyang008
时间:
2015-11-6 19:42
来学习学习了
作者:
wang17615716
时间:
2015-11-8 07:22
sdfsdfsdfds
作者:
俊俊753951
时间:
2015-11-8 08:29
作者:
qq1301857075
时间:
2015-11-8 18:27
{:soso_e100:}{:soso_e100:}{:soso_e100:}{:soso_e100:}{:soso_e100:}
作者:
cndmad
时间:
2015-11-8 21:59
好深奥。。。。
作者:
somyyy
时间:
2015-11-9 00:48
等高手出TC源码吧
作者:
a145356
时间:
2015-11-9 09:08
靠靠靠靠靠靠靠靠
作者:
canyue514
时间:
2015-11-9 10:28
有些人跟我有一样的好习惯
作者:
tly1235
时间:
2015-11-9 11:57
作者:
sandorn
时间:
2015-11-9 13:18
说实话,看不懂!
作者:
xie0080
时间:
2015-11-9 20:08
uqv9uqv9
作者:
风动鸣
时间:
2015-11-10 01:43
很不错 支持
作者:
Think_too_much
时间:
2015-11-10 11:38
dtruftjyuj
作者:
myaoao
时间:
2015-11-11 11:38
1111111111111111111111
作者:
531984989
时间:
2015-11-11 14:14
作者:
maotcmao
时间:
2015-11-11 14:47
顶美丽
作者:
a1648004555
时间:
2015-11-11 21:22
提示:
作者被禁止或删除 内容自动屏蔽
作者:
qq5111059
时间:
2015-11-14 05:29
0000000000000000000000
作者:
风动,心不动
时间:
2015-11-14 16:09
kkkkkkkkkkk
作者:
somaicro
时间:
2015-11-15 10:53
感谢分享~
作者:
ak47mail
时间:
2015-11-17 11:05
看看是神马东东!
作者:
malaigou
时间:
2015-11-17 20:53
任性
作者:
87993456
时间:
2015-11-17 21:22
我需要次城西看
作者:
pdsleo
时间:
2015-11-18 20:27
学习学习学习学习学习学习
欢迎光临 TC官方合作论坛 (http://52tc.info/)
Powered by Discuz! X3.4