一、前言在前一篇文章中详细介绍了Android现阶段可以采用的几种反调试方案策略,我们在破解逆向应用的时候,一般现在第一步都回去解决反调试,不然后续步骤无法进行,当然如果你是静态分析的话获取就没必要了。但是有时候必须要借助动态调试方可破解,就需要进行操作了。现阶段反调试策略主要包括以下几种方式:第一、自己附加进程,先占坑,ptrace(PTRACE_TRACEME, 0, 0, 0)!第二、签名校验不可或缺的一个选择,本地校验和服务端校验双管齐下!第三、借助系统api判断应用调试状态和调试属性,最基础的防护!第四、轮训检查android_server调试端口信息和进程信息,防护IDA的一种有效方式!第五、轮训检查自身status中的TracerPid字段值,防止被其他进程附加调试的一种有效方式!所以本文就来一一讲解如何解决这几种方式的反调试方案。二、方法总结第一种:找到关键方法,注释代码这种方式需要采用静态方式分析代码,找到关键方法进行反调试代码功能注释,这种方式可以应对与上面所有的反调试方案,但是对于轮训检查这种方式就不太适合了,为什么?因为大家如果看过这篇文章:脱掉360加固应用保护壳;操作过的同学会发现,在去除反调试功能的时候那种痛苦了。所以这种注释代码,个人觉得只适用于以下几种反调试:第一、自己附加进程这个可以IDA打开关键so代码,找到这段代码处:ptrace(PTRAC
...
继续阅读
(21)