作者:郭孝星
微博:郭孝星的新浪微博
邮箱:[email protected]
博客:http://blog.csdn.net/allenwells
Github:https://github.com/AllenWells
【Android应用保护技术探索之路系列】章节目录
【Android应用保护技术探索之路系列】之一:Android应用保护技术开篇
【Android应用保护技术探索之路系列】之二:对抗反编译
【Android应用保护技术探索之路系列】之三:对抗静态分析
【Android应用保护技术探索之路系列】之四:对抗动态调试
【Android应用保护技术探索之路系列】之五:对抗重编译
对抗动态调试常用的有两种方式:检测调试器和检测模拟器。
一 检测调试器
动态调试器使用调试器来挂钩应用,获取应用运行时的数据。我们可以在应用中加入检测调试器的代码,如果检测到调试器则终止应用的运行。
在AndroidManifest.xml的Application标签中加入:
android:debuggable = "false"
来让应用不可调试。
我们可以在应用运行时检测这个标志是否被修改,如果被修改则终止程序运行,如下所示:
package com.droider.antidebug;
import android.os.Bundle;
import android.app.Activity;
import android.content.pm.ApplicationInfo