首页
社区
课程
招聘
[讨论]解析某个外g的源码
2023-12-12 13:52 3877

[讨论]解析某个外g的源码

2023-12-12 13:52
3877

图片描述
dll形式注入,申请控制台方便打印数据调试

图片描述
这里有两个函数,第二个暂且不知道是什么,后面不用第一个也能实现效果,那先分析第一个。

图片描述
获取主程序模块基地址,这个没什么好说的
分析Mono::InitMono

图片描述
获取Mono.dll里面的导出函数,后面要用到这些函数定位游戏数据内存地址,俗称调用引擎函数。

图片描述
调用了这个函数

图片描述
获取这个全局变量,类似UE4世界数组的东西

图片描述
分析StartThread

图片描述
图片描述
图片描述
图片描述

在主程序模块里面搜索48 8B 05 ?? ?? ?? ?? 48 8B A8 ?? ?? ?? ?? 48

图片描述

图片描述

图片描述

根据这个以及后面的,推测是替换地址0x12038B40里面的值,

原来
图片描述
经过外ghook后
图片描述

图片描述
推出这是IAThook,
图片描述
看得出这是在绘制,所有该外g是不创建窗口,直接替换虚表函数进行HOOk来达到绘制方框的目的。

图片描述
这个未知,后面测了不能少HOOk这个,必须HOOk这个

图片描述
这个就是绘制函数,分析这个。

图片描述
是个dll里面的未导出函数,搜索这个dll文件没找到。。。。

图片描述
往下看,R9这个寄存器没有被保存下来直接被覆盖
,推出该函数有三个参数,

图片描述
下断,一直run,断下来的线程不变返回地址不变,eax被覆盖,则该函数没有返回值

图片描述
这个函数声明的返回值应该是VOID,或者说返回值可以忽略

问题:是否可以HOOk别的地方?

因为是绘制函数,则该函数一定在调用,但是找了很久也没见哪个函数在跑的,似乎这个函数是唯一的。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 466
活跃值: (1914)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
熊趴趴来 2023-12-12 14:17
2
0
这是哪个的源码,有链接吗
雪    币: 107
活跃值: (3560)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Imxz 2023-12-12 14:47
3
1

源码发出来瞅瞅

雪    币: 8930
活跃值: (5378)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我的小拇指啊 2023-12-12 18:59
4
0
我去,傻傻唧唧二
游客
登录 | 注册 方可回帖
返回