PRCN – 反数据挖掘新时代

距离上一篇有些时间了

23年3月之后,dmm版就改了il2cpp,从那时起拆东西难度就直线上升。没想到,cy应对的最终手段不是换掉cdb加密,而是把表名全混淆。不得不说,非常有效

(文末附送10.3.1 ios版处理后文件)


看到这个帖子后才发现,cy搞混淆比我想的还要彻底。然后为了看看到底什么情况,拆了一下新版的ios app。印象中2月刚换混淆的时候,我用clutch试过,不知道搞了什么魔法,解不掉Apple FairPlay DRM,然后当时就没管了,跑了一个表名对应就摆了。结果过了一个月对应表失效,表名全换。

前一阵忘记是找什么的时候,找到了ios15用的TrollDecrypt,看到帖子后试了下这个新东西,能解开drm了。先找metadata怎么藏的,当年的metadata是取反保存,现在直接搜已经搜不到了。搜字符串metadata之后跟进去,竟然是个千行大异或,大概跟了下流程就是每几百kb换一个异或值。原本想自己抄一下逻辑,但是发现好像超级多,最终使用了极其高级的复制粘贴进vs编译法,用了intel做的arm neon向量运算头文件后,就能一键导出原版metadata了。

抄逻辑到一半的时候就已经发现不对劲了,怎么这么一大堆hex字符。仔细一看,有一大堆select语句。这可真是简单粗暴,我原以为sql是执行时现场hash的,每个版本只换个salt,没想到编译前脚本把所有的sql都混淆完成才编译,最终只留下一大堆混乱select语句。本想看看怎么样能恢复一下提取新卡卡名,这样一大堆奇葩语句实在是没法辨认,告辞。

特此留下处理完的程序和跑完的ida分析打包,有人需要研究具体细节的话,请便吧。

(是不是所有做技能研究的都退坑了)

程序+metadata+script:https://estertion.win/media/redive-ios-10.6.1/redive-ios-10.6.1.7z

ida archive:https://estertion.win/media/redive-ios-10.6.1/UnityFramework.i64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax