-
-
[讨论]关于 ClientCheckData加密算法研究
-
发表于:
2018-9-24 21:44
10532
-
[讨论]关于 ClientCheckData加密算法研究
本帖纯技术分析研究,如果有侵权,请管理员删除,谢谢。
关于
ClientCheckData
其实在很早的版本很早就已经有了,只不过在之前的版本中只用于收集收集数据,包括运行数据和本机信息,然后通过上报接口上报。
内容十分详细,包含是否越狱,是否root,是否双开,包的校验值,运行起来加载的so/dylib内容列表,是否被hook,一些运行安全信息,至于WX运行过程中
还上报了哪些数据信息,没有十分的了解,以前上报数据都是明文,大家可以看到上报了啥,现在加密上报就不得而知了。
ClientCheckData 做啥的:
ClientCheckData主要用于上报数据,用来检测账号是否安全运行,如果有多开,有用xopsed以及frida框架,在这份数据里都会被发现,并且root以及越狱
都会被检测出来,所以会有封号的可能,最新的版本,如果这个数据登录的时候不传,就会提示非法客户端登录。所以之前的市面上那些挂机的ipad基本上都被干掉了。
ClientCheckData 加密算法:
ClientCheckData早起的版本是明文上报,可能WX注意到这个问题了,在新版本采用新的加密和混淆上报,混淆代码十分大,导致IDA都无法反编译,而且混淆膨胀的很大,很像LLVM的混淆,目前来看加密后的数据由原来的原文XML数据,经过压缩以后,由加密算法加密完成,加密以后的数据有一些明显的特征,比如开头以00000003开头,类似一个版本,然后紧接着16字节是固定的,从混淆的代码来看,应该加密后的数据保持了十六字节对其。
从混淆的字符串里,大概能看到AES的影子,但是恐怕WX如此重视这块的安全,应该不会是AES这样草草了事,具体什么样的加密算法目前还咱不知道。
由于暂时没有太多的思路,暂时开个帖子,后续研究有进展,再补上吧。如果大家有什么想法可以告诉我。
当然祝大家中秋快乐,你们的城市月亮圆不圆。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2018-9-24 21:45
被大魔头编辑
,原因: