180802 安卓-脱壳相关

老大给了几个APP让分析,其中大多带有壳,于是记录一下抗争的经历
作为一个只会打CTF的菜狗赛棍而言,其实对壳相关接触的相对很少,只大概知道是通过一些技巧转到so中进行释放dex、解密so等操作

最先是的360壳,这个在比赛中遇到过,用drizzleDumper可以轻松拿到原DEX进行分析。它的原理是不断在内存中搜索DEX的头部特征,因此仅能脱下整体DEX还原的壳。

后来碰到的是乐固2.8,它将DEX的Head和内容分别解密后,通过修改之前加载的min.dex的结构体指针来瞒天过海,跳过对DEX的加载。由于DEX整体未出现在内存中,因此drizzleDumper无效。而DexExtractor–一个通过HookdexFileParse来dumpDEX内容的工具,对于乐固这样加载的是min.dex的技巧来说,也无法成功。

之后找到了两个脱壳工具据说可以解决乐固–FDex和DexDump,前者是Hook了LoadClass,通过反射Dex类来主动获取Dex的内容并将字节流输出,只不过对系统有些要求。而DexDump则是Hook了ART的OpenMemory函数,当ART被加载时将会被dump出来。
实践中虚拟机由于架构为x86似乎对于他们的支持都不是太好,真机不慎刷砖,于是暂时还未成功

你可能感兴趣的:(Android)