首页
社区
课程
招聘
[原创]某Hero联盟 16字超长ID软件分析
发表于: 2021-1-20 17:03 3249

[原创]某Hero联盟 16字超长ID软件分析

2021-1-20 17:03
3249
1
2
3
4
平台:X64
猜测壳子:VMP 3.4x以上 可能是3.5最新版或其他 因为ScyllaHide和SharpOD x64 对其无效
分析工具:X64dbg ida64
程序特点:作者压根不考虑执行效率,xjbvm,似乎将整个代码段大部分都v了且自加花指令

1、窗口检测

程序加载后会检测qq群聊窗口是否为作者qq群,如果不存在该窗口就会提示 "失败"

如果我们想回跟就会遇到这玩意

那么就只能通过api绕过了,经检测作者使用FindWindowW进行检测,断下后如图,将返回值修改为非0的值即可绕过

 

2、文件操作
点击修改文件,提示"文件或写入失败",因为本机上不存在Hero联盟,所以先得到其要写的文件。
既然窗口检测使用的W版API,那么很大程度上该版本按W版编的,直接MessageBoxW断点,成功断下后如图

相信细心的小伙伴已经发现堆栈中存在一个路径字符串引用地址"C:\Users\INT3\Desktop\LeagueClient\Plugins\rcp-fe-lol-navigation\assets1.wad"
通过内存窗口窗口发现周围还存在一个同样的字符串
"C:\Users\INT3\Desktop\LeagueClient\Plugins\rcp-fe-lol-navigation\assets.wad" !

 

那么按常规操作创建相同的文件即可

 

再次点击 修改文件,出现"已经修改等提示子样",且文件并未被动过。

当我们想回跟看看这个程序到底在什么地方判断的时侯,发现代码是jmp过来的...gg
该上IDA了,通过回跟发现了如下代码,发现会对比这两个文件进行一系列的操作,至于函数里面做了什么事我是看的莫名其妙....且下面的判断针对于assets.wad文件又进行了一系列操作。无论如何 这东西是先验证assets.wad文件,再验证assets1.wad,那么我们一个一个删除进行结果测试,最后发现如果没有assets1.wad就会提示修改成功,并且assets.wad会被复制为assets1.wad,会多出来一个新的asset.wad 大小为30m左右


剩下的就是拿游戏原始文件和新文件对比一下,看修改了那些,因为电脑上没有就不进行这一步操作了

 

样本太大无法上传,这个是作者的视频https://www.bilibili.com/video/BV14A411H7iA 剩下的懂的都懂.


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//