Android反破解技术概述

本篇记录于android逆向看雪白皮书第10章

概观

主要从:反编译,静态分析,动态分析,重编译。4个方面加以防护

反编译

主要依靠寻找反编译器漏洞,形成无法通过反编译但可以通过正常使用的代码。

静态分析

目的使逆向出的代码难以阅读,java层常用混淆(改名字)。其它方法诸如外壳保护(在软件核心外部加层外壳代码,代码先对核心解密再转交核心),java层难以使用(因为虚拟机规范?)。例如win下的pe入口修改。

动态调试

通过各种方式检测是否在调试态下运行,从而终止。常见有:android:debugger,SDK中的:isDebuggerConnected,检测进程,检测运行指令时间差,是否有断点等

重编译

通过运行时检测程序是否被修改
检测签名与自己的是否相同,检测代码的hash

需要投入市场观看博客分析!!!!!