美文网首页
「 应用安全」 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