「 应用安全」 xposed 框架初步使用与安全检测

首先在Root的手机上安装Xposed框架,然后新建一个android工程,不需要添加任何Activity。

下载Xposed的jar包,然后在android工程app目录创建lib文件夹,将jar包放置进入并依赖。

修改app下面的build.gradle,将刚添加的jar修改为provided方式

jar修改为provided 方式.png

修改manifest文件,加入Xposed模板的必要描述

必要描述.png

创建一个java类,在里面写hook代码。

import de.robv.android.xposed.IXposedHookLoadPackage; 
import de.robv.android.xposed.XC_MethodHook; 
import de.robv.android.xposed.XposedHelpers; 
import de.robv.android.xposed.callbacks.XC_LoadPackage; 
 
public class Main implements IXposedHookLoadPackage { 
    @Override 
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable { 
        //判断包名是否为要 hook 的应用 
        if(loadPackageParam.packageName.equals("要Hook的应用包名"){ 
          //hook 对应类的对应方法 
、   XposedHelpers.findAndHookMethod("android.widget.TextView", loadPackageParam.classLoader, "setText", CharSequence.class, new XC_MethodHook() { 
        @Override 
        protected void beforeHookedMethod(MethodHookParam param) throws Throwable { 
           super.beforeHookedMethod(param); 
          //将 textView 的 settext 方法的参数修改成了下面的值,所以 APP 里面所以的 TextView 控件都会显示下面的字符串 
         param.args[0] = "hook...."; 
                } 
            }); 
        } 
    } 
} 

创建assets资源文件目录,然后在该目录下创建一个文本文档,名字叫做xposed_init,没有后缀名。在里面写上Hookook的包名再加类名。

xposed_init.jpg

将Hook模板安装到手机上,在Xposed installer里面勾选刚安装上的模板并重启手机。

勾选模板.jpg

针对有应用被Hook的风险,我们可以进行Hook框架的检测。如果有Hook框架的话,就给用户提示然后退出。

实例代码

public void getApplications() { 

    List packages =
                getPackageManager().getInstalledPackages(0);

    for(int i=0;i

你可能感兴趣的:(「 应用安全」 xposed 框架初步使用与安全检测)