开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 353|回复: 8
收起左侧

[已解决] 人辞大佬的 X64内存读写 hook的例子有吗?

 关闭 [复制链接]
结帖率:95% (118/124)
发表于 2024-11-11 20:45:36 | 显示全部楼层 |阅读模式   重庆市重庆市
15精币
X64进程内存 用的人辞大佬的模块,里面的开始hook 没找到范例。。。模块原贴:

https://bbs.125.la/forum.php?mod ... B%E5%86%85%E5%AD%98

不清楚hook的子程序指针  有哪些参数 每个参数是啥 谁来个他这个模块子程序指针的例子?

  
子程序名返回值类型公开备 注
HOOK_安装逻辑型 
参数名类 型参考可空数组备 注
函数地址长整数型
子程序指针子程序指针
变量名类 型静态数组备 注
中转指令字节集 
' mov [rsp+8],rcx
' mov [rsp+10],rdx
' mov [rsp+18],r8
' mov [rsp+20],r9
' lea rax,[rsp+8]
' push rax
' #X64_End
' mov eax,子程序指针
' call eax
' #X64_Start
' mov [ebp-8],eax
' mov [ebp-4],edx
' mov rax,[ebp-8]
' ret
中转指令 = { 72, 137, 76, 36, 8, 72, 137, 84, 36, 16, 76, 137, 68, 36, 24, 76, 137, 76, 36, 32, 72, 141, 68, 36, 8, 80 }#X64_End{ 184 }到字节集 (到整数 (子程序指针)) + { 255, 208 }#X64_Start{ 137, 193, 72, 137, 208, 72, 193, 224, 32, 137, 200, 195 }
中转函数 = VirtualAllocEx64 (-1, 0, 取字节集长度 (中转指令), 4096, 64)
如果真 (中转函数 = 0)
返回 ()
写到内存64 (中转函数, 中转指令)
如果真 (VirtualProtectEx64 (-1, 函数地址, 12, 64, 0))
返回 ()

入口指令 [1]取空白字节集 (12)
ReadProcessMemory64 (-1, 函数地址, lstrcpyn_字节集 (入口指令 [1], 入口指令 [1], 0), 12, 0)
入口指令 [2]{ 72, 184 }到字节集 (中转函数){ 80, 195 }
入口地址 = 函数地址
写到内存64 (函数地址, 入口指令 [2])
返回 ()


最佳答案

查看完整内容

cc是INT3断点,代码运行到这里会产生异常,跳到异常处理函数里,不是jmp之类的跳转 其实这个地址用5字节跳转也是可行的,12字节就把下面函数的代码给破坏了,或者用12字节,HOOK上移两个指令也行,跳到地方把占用的指令还原就行,后面是ret就不用跳回来了呗

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:60% (3/5)

签到天数: 24 天

发表于 2024-11-11 20:45:37 | 显示全部楼层   广西壮族自治区柳州市
独倚斜阳 发表于 2024-11-12 01:08
问题核心是这里  CE的注入  第一个占用5个字节 就是我现在用易语言写的跳转,如果用第二占用14字节的也要出 ...

cc是INT3断点,代码运行到这里会产生异常,跳到异常处理函数里,不是jmp之类的跳转
其实这个地址用5字节跳转也是可行的,12字节就把下面函数的代码给破坏了,或者用12字节,HOOK上移两个指令也行,跳到地方把占用的指令还原就行,后面是ret就不用跳回来了呗
回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 24 天

发表于 2024-11-12 00:14:43 | 显示全部楼层   广西壮族自治区柳州市
这个是hook自进程64位函数,跟你最近几个问题不粘边。
这种hook一般人玩不转,也没必要
回复

使用道具 举报

结帖率:95% (118/124)

签到天数: 24 天

 楼主| 发表于 2024-11-12 00:30:16 | 显示全部楼层   重庆市重庆市
dnxl 发表于 2024-11-12 00:14
这个是hook自进程64位函数,跟你最近几个问题不粘边。
这种hook一般人玩不转,也没必要 ...

我刚翻出来以前的魔鬼vip  也就是那个超级hook 想直接拦截edx给他赋值 然后发现64位 hook不了

自动汇编.png
跳转内部
7FF607EB0000 - BA 00004842           - mov edx,42480000
7FF607EB0005 - 89 11                 - mov [rcx],edx
7FF607EB0007 - E9 A09FED00           - jmp XXXX.exe+CE9FAC



ce的自动汇编 生成的代替原来mov [rcx],edx的跳转地址  只有一个字节啊 CC   我用代码写 基本上不管是近跳,远跳,还是绝对地址跳 都起码占用5个字节,
我就是这一步出错的 一写这个jmp就崩了。    我在这个内存地址  去写字节集 然后也像他这样填空nop之类的 就会把原来代码的
ret
int3
int3
之类的 占用了。。。这2天都卡在这里
回复

使用道具 举报

结帖率:95% (118/124)

签到天数: 24 天

 楼主| 发表于 2024-11-12 01:08:49 | 显示全部楼层   重庆市重庆市
CE.png 问题核心是这里  CE的注入  第一个占用5个字节 就是我现在用易语言写的跳转,如果用第二占用14字节的也要出问题
(上面2种都崩),只有选第三个占用一个字节的 jmp1 +地址 跳转才正常,但是我不知道怎么写字节集 代替原来的内容 让跳转只占用一个字节!
回复

使用道具 举报

结帖率:95% (118/124)

签到天数: 24 天

 楼主| 发表于 2024-11-12 01:30:26 | 显示全部楼层   重庆市重庆市
dnxl 发表于 2024-11-12 01:25
cc是INT3断点,代码运行到这里会产生异常,跳到异常处理函数里,不是jmp之类的跳转
其实这个地址用5字节 ...

我用5字节的跳转

目标地址里面

mov edx,42480000
mov [rcx],edx
ret
int 3
int 3
加或者不加jmp回来 都报错

报错应该是最初第一次跳转造成的
回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 24 天

发表于 2024-11-12 01:37:53 | 显示全部楼层   广西壮族自治区柳州市
独倚斜阳 发表于 2024-11-12 01:30
我用5字节的跳转

目标地址里面

那你不会下断跟一下是哪步报错
回复

使用道具 举报

结帖率:95% (118/124)

签到天数: 24 天

 楼主| 发表于 2024-11-12 01:44:50 | 显示全部楼层   重庆市重庆市
dnxl 发表于 2024-11-12 01:37
那你不会下断跟一下是哪步报错

CE2.png
我用5字节的 从上一行开始跳 这样ce里面正常了  我去写成易语言……
回复

使用道具 举报

结帖率:95% (118/124)

签到天数: 24 天

 楼主| 发表于 2024-11-12 05:29:25 | 显示全部楼层   重庆市重庆市
折腾好久 用 大杂烩的nb模块  新超级HOOK.开始HookEx_64  搞定了 能正常跳了 不过模块bug不少
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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