吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4696|回复: 24
收起左侧

[Android 原创] 海外某音x-gorgon算法原理分析及算法源码公布

[复制链接]
Sharp_Wang 发表于 2022-3-25 12:09
算法源码见附件
分享一个去年逆的一个海外版某音 1474版本 x-gorgon算法,这里简单介绍一下算法原理,首先malloc出来一个0x1A大小的空间,然后截取用户传入的byte数组中的参数,截取开始的几个字节,中间的几个字节,最后的几个字节,版本号等,还有几个固定的字节,不同版本不一样,一共26个字节写入到上面malloc出来的地址中,由于开头4个字节都是固定的04010000,0000是正常的设备,如果被检测到就是其他数字,我测试的手机被检测到所以是1081,从第五个字节开始计算,首先按照顺序初始化一个0x00-0xFF的256长度的码表,然后取malloc出来的地址的最低位用于初始化一个8个长度的byte字节数组,其中第四个字节的值取malloc地址 右移8位取最低位,数组最后一个值直接取malloc的地址的最低位,然后开始第一次计算,首先循环遍历256码表,每次从0到7取那8个长度的byte字节数组 一直到256码表循环完为止 根据计算打乱256码表的值,这是第一次计算

第二次计算开始循环取那20个参数字节(04010000之外的)进行计算,从256码表的第2个索引值开始取出来 根据加法 取其他索引的值,然后异或运算以后得到第一个结果值写入,一直循环0x14次,循环完以后最开始的字节又会反转 然后跟相邻字节异或得到一个新的值

第三次计算又是遍历修改后的那20个字节重新赋值,先取第一个值出来经过右移、异或、取反、与相邻的字节再异或等得到最终的第一个值,第二个第三个重复以上步骤直到最后一个字节因为没有相邻的了,所以跟第一个字节异或得到最后一个字节的最终值

补充:0401后面的两个字节,第一个字节取malloc地址最低位,第二个字节取malloc地址 右移8位取最低位

一句话解释就是xg值的计算结果都是由malloc出来的地址来决定的,所以每次都不一样

890497_A22KENVBSM4TVP6.png
890497_ZABX2X6SDJM73HF.png

leviathan1474.rar

2.2 KB, 下载次数: 107, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 3吾爱币 +3 热心值 +2 收起 理由
风随 + 1 + 1 我很赞同!
Quanta + 1 + 1 想看点干货好难啊现在
lingyun011 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

twapj 发表于 2022-3-26 00:23
收藏  学习
think215 发表于 2022-3-26 08:17
slbcmgn 发表于 2022-3-26 08:55
头像被屏蔽
shayu2021 发表于 2022-3-26 10:48
提示: 作者被禁止或删除 内容自动屏蔽
jiyer 发表于 2022-3-26 10:53
看不懂吖   回复还在验证码阶段呢
ipcon 发表于 2022-3-26 11:19
我想知道它可以用来做什么呢
Prozacs 发表于 2022-3-26 14:33
感谢分享
lijisheng 发表于 2022-3-26 16:05
感谢分享,你用了多久分析出来的
9812263 发表于 2022-3-26 16:26

收藏  学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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