美文网首页
「 应用安全」 xposed 框架初步使用与安全检测

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

作者: 孔睿 | 来源:发表于2016-10-16 21:18 被阅读0次

首先在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<PackageInfo> packages =
                getPackageManager().getInstalledPackages(0);

    for(int i=0;i<packages.size();i++) {
        PackageInfo packageInfo = packages.get(i); 
        String name = packageInfo.packageName;
        //检测手机是否装有 xposed
        if(name.contains("xposed.installer")){
        /*
        相应的处理
        */ Log.d("test:","xposed");
        }
    }
}

相关文章

网友评论

      本文标题:「 应用安全」 xposed 框架初步使用与安全检测

      本文链接:https://www.haomeiwen.com/subject/zfkayttx.html