12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 437|回复: 0

通过HOOK wow64cpu.dll达到HOOK call fs:[C0]的目的

[复制链接]
发表于 2019-8-20 10:59:27 | 显示全部楼层 |阅读模式
首先,本人以前是玩易语言入坑编程的(轻喷)。
偶然间学了点C,直到最近彻底放弃坑语言了。
因为嵌入汇编不方便的原因······················
现在玩VS2015了,废话不多说,进入正题。
********观察一下NT函数,或者User32里面的函数。
会发现老是有函数里面这么写汇编call fs:[000000C0]这是什么鬼?
好吧,用CE调试,单步进去之后,我发现了64位的汇编代码WTF,有趣,接受蹂躏!

在SendInPut+E处下一个硬件断点,然后自己构造汇编代码启动线程。
跟进去通过百度得知mouse_event最后实际调用的就是SendInPut。
我们直接构造一个参数全部是DWORD类型的CALL调用即可。

再打开一个CE从5ff0000处启动线程(CE的bug,先这样做吧,哎)
别忘了下硬件断点,呵呵(我自己都忘了,又重新跑一次)



可以看到已经断下来了,不着急,继续跟踪

发现一堆我无法解释的,为什么出现在32位进程中的64位汇编代码

通过多次试验,我发现代码从这里就走回到了32位代码里

那好,知道他的流程就开始做HOOK了一般来说我们都是从头部做HOOK。
假如说某个call fs:[000000C0]最终的返回值才是我们要HOOK到的,
或者说某个Direct接口Dinput接口才是我们需要HOOK的,
在尾部HOOK才是我们需要的(本人已成功,你们自己测试吧)。
现在开始解决的的问题就是:
            如何在64位的汇编代码中做HOOK让它走到32位的汇编代码中。
首先我们通过观察wo64cpu.dll._CpuSimulate+168处的汇编代码得知,
原本模块内的跳转方式是mov [r14],r9d;jmp far [r14];
   关键部分来了:
        这个jmp far我查了一下是远跳的意思大可以理解为
从64位的模块跳到32位里面吧(呵呵哒),
我们的HOOK也就在这个地址开始。由于我没用过钩子支持库,
直接计算jmp容易出错所以我选择另一种HOOK方式,
6字节push xxxx;ret;
这个方法比jmp xxxxx多用了一个字节,
但是好处在于不用计算jmp xxxx的差值了,不容易出错(顶个!)。


这里直接打开我的成品测试可以看到HOOK方式,我们跟进去看看。

首先判断[esp]的值,是不是我们调用函数的下一步。
比如sendinput的这一步是在sendinput+E,CALL进去。
返回后的下一句就是sendinput+15。

至于代码中的inc ecx,实际上是CE的汇编代码转换引擎的问题。
完整的应该是mov r9d,005EB3F8这里把寄存器r9d的值,
改成我们的HOOK接口就能为所欲为了!

先还原堆栈,然后再push ret大法跳到我们的接口里面。

结果是成功的!
吃水不忘挖井人感谢写出wow64ext的作者,
帮助了我获取了64位模块的基址。
************************************************
注释:代码在WIN7 64位系统下的32位进程中测试通过好的。
***********************************************
结束了,楼下放C++源代码另外有E语言版本的代码。
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-5-5 18:38 , Processed in 0.125000 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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