zoukankan      html  css  js  c++  java
  • Xposed Hook & Anti-hook

    一点简单记录。

    xposed原理包括将hook的method转为Native。因此可检测如下:

    for (ApplicationInfo applicationInfo : applicationInfoList) {
        if (applicationInfo.processName.equals("com.example.hookdetection")) {        
            Set classes = new HashSet();
            DexFile dex;
            try {
                dex = new DexFile(applicationInfo.sourceDir);
                Enumeration entries = dex.entries();
                while(entries.hasMoreElements()) {
                    String entry = entries.nextElement();
                    classes.add(entry);
                }
                dex.close();
            } 
            catch (IOException e) {
                Log.e("HookDetection", e.toString());
            }
            for(String className : classes) {
                if(className.startsWith("com.example.hookdetection")) {
                    try {
                        Class clazz = HookDetection.class.forName(className);
                        for(Method method : clazz.getDeclaredMethods()) {
                            if(Modifier.isNative(method.getModifiers())){
                                Log.wtf("HookDetection", "Native function found (could be hooked by Substrate or Xposed): " 
    + clazz.getCanonicalName() + "->" + method.getName()); } } } catch(ClassNotFoundException e) { Log.wtf("HookDetection", e.toString()); } } } } }

    所有xposed插件中,Hook isNative. 由于Hook在先,调用在后,可绕过。

  • 相关阅读:
    每天一个Linux命令(3): cd
    每天一个Linux命令(2): ls
    scala学习笔记(2)
    jmeter性能测试 套路二
    selenium实战2 登陆博客园
    jmeter响应断言
    Python验证码通过pytesser识别
    selenium实战学习第一课
    appium的webdriver执行swipe
    APPIUM 输入中文 之套路
  • 原文地址:https://www.cnblogs.com/gm-201705/p/9863912.html
Copyright © 2011-2022 走看看