-
-
[原创]某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直播授课
赞赏
- [原创]Hero联盟 本地公告CALL寻找 5801
- [求助]IDA F5插件无法显示中文函数的问题 3426
- [原创]某Hero联盟 16字超长ID软件分析 3250
- [原创]win10 32位 过TP双机保护 12239
- 某程序CRC 内存断点无法断下的问题 3879