-
-
浅谈新版某视频 X-Medusa 和 X-Perseus
-
-
浅谈新版某视频 X-Medusa 和 X-Perseus
作者微信 loveluoyeye2,如果本文章影响到贵公司,请微信联系作者删除
作者是《思卓移动安全》的星主,只发高质量文章,大家可以加星球或者星球微信群一起交流

不知不觉已经有两个月没有更新了,一直在外边玩,最近趁过年回家,花了三天时间将最新版的7神中 X-Medusa 和 X-Perseus 分析了一下,这里只分析 X-Medusa 和 X-Perseus,剩余的大家自行分析,值得注意的一点是,X-Gorgon 中 Unidbg 和 真机 的算法有差别,还有就是 X-Ladon 这个四字节也不是之前的时间戳了,这两个我没有仔细去看,暂时不影响请求,算是全网首发 X-Perseus 分析了,因为我在分析之前查了一下,压根看不到 X-Perseus 的影子,其实 X-Perseus 和 X-Medusa 算法思路是一样的,只是 X-Perseus 魔改了 Base64 码表,新版 X-Medusa 和 老版 X-Medusa 思路也是一样的,但是 16 套 Hash 和 4 套 Aes 的算法已经变了,处理数据的小函数并没有改变,但是小函数增加了 ollvm,还原难度直线上升,大家如果刚开始的话,建议从老版本开始分析,比如 34.0.0,这样在分析新版本的时候,很多小函数就不需要通过 ollvm 还原了,当然 16 套 Hash 和 4 套 Aes 我是通过调用 Unidbg 去实现的,但是在使用 Unidbg 调用 Hash 的时候,它本身可能就有一些检测,导致只有 8 套是正确的,不过也够用了
我算法使用 c++ 编写生成 dll 让 python 调用的,dll 内部在 Hash 和 Aes 处理是使用 Post 请求调用了 Unidbg,优点是不需要逆向那么多算法,万一下个版本更新了呢,缺点是调用一次七神需要花 400 ms (两次请求 Unidbg),如果嵌入 Unidbg 的话只需要 200ms,开 5 个 Unidbg 可以使 QPS 到 40 多,也是够用了


这是未登录的 XM 内部的数据,是之前老版本 XM 的部分数据

传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!