首页
社区
课程
招聘
驱动主线程call和普通注入线程call
2022-12-10 07:30 9054

驱动主线程call和普通注入线程call

2022-12-10 07:30
9054

我写个了驱动远程主线程call 原理大概是 插入目标线程内核apc 完后apc例程里面 遍历堆栈 修改返回的rip 为我们目标的call地址 但是 xxxx这个游戏 好奇怪 一些底层的发包call 可以正常的远程主线程call 没问题 但是一些上层的call 比如pycall(和python脚本有关的) 不停的调用 大概几分钟 游戏就会提示错误 如果远程注入线程调用这个call 无论多久 都没问题 不知道开线程调用call 和 主线程调用call 有啥区别 为啥有的call 会导致游戏异常 有的call 不会导致游戏异常呢 我尝试了很多方法 都没效果 比如调用call前 所有寄存器都清0 包括xmm寄存器清0 甚至堆栈是另外单独分配的 堆栈除了call需要的数据都清空 我这个主线程调用call之前 会把所有寄存器包括xmm寄存器都保存到一个地方 调用完目标call 再恢复寄存器 rip恢复为之前的地址 从而让主线程继续执行之前的指令 目标call调用时候的堆栈地址也已经16字节对齐 反正这些细节问题 我都处理了 但是仍然 有些底层call 可以正常调用 有些上层call 调用几分钟就提示游戏检测到错误 简直无语了 如果有人知道成熟的解决方案或者源码 我可以花钱买 懂得私聊


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2022-12-15 07:17 被killpy编辑 ,原因:
收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 9
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
我skyddr 2022-12-10 22:58
2
0
试过vt了没有?vt试试,用无痕修改调试,写个按钮,试试
雪    币: 7968
活跃值: (5170)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
mudebug 2022-12-11 05:45
3
0
因为脚本的虚拟机只能接受单线程调用
如果多线程执行会打乱脚本虚拟机堆栈。
你只能通过挂钩或者别的办法让游戏准确退出脚本虚拟机操作
然后你再去操作py虚拟机。
雪    币: 248
活跃值: (3774)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2022-12-11 20:32
4
0
ls正解,打乱了脚本虚拟机堆栈和逻辑层次
所以你得等待上一个脚本完成后才可以执行自己的
然后,还要等待自己的执行完,最后再返回
游客
登录 | 注册 方可回帖
返回