当前位置: 首页 > news >正文

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在先,调用在后,可绕过。

转载于:https://www.cnblogs.com/gm-201705/p/9863912.html

相关文章:

  • Failed to load property source from location 'classpath:/application.properties'
  • embed-it_Integrator memory compile工具使用之三
  • Python3.x 常用的新特性
  • Android版本依赖解析
  • 认识requests库,以及安装方法
  • Intellij IDEA 修改jsp 不能实时更新
  • bzoj3884: 上帝与集合的正确用法
  • JS语法回顾
  • AVL树和平衡二叉树 平衡因子 右旋转LL 左旋转RR LR RL
  • 【NOIP模拟】机器人
  • oracle创建Javasource实现数据库备份
  • qqluxc
  • IronPython初体验
  • Leetcode657.Robot Return to Origin机器人能否返回原点
  • js实现轮播图
  • CSS实用技巧
  • docker-consul
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript设计模式与开发实践系列之策略模式
  • JS实现简单的MVC模式开发小游戏
  • php中curl和soap方式请求服务超时问题
  • Swoft 源码剖析 - 代码自动更新机制
  • 初识 webpack
  • 工程优化暨babel升级小记
  • 批量截取pdf文件
  • 前端临床手札——文件上传
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 一起参Ember.js讨论、问答社区。
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • Nginx实现动静分离
  • ​Linux·i2c驱动架构​
  • ​VRRP 虚拟路由冗余协议(华为)
  • # 数论-逆元
  • #pragma预处理命令
  • (2)STL算法之元素计数
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (9)STL算法之逆转旋转
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (简单) HDU 2612 Find a way,BFS。
  • (九)信息融合方式简介
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (七)c52学习之旅-中断
  • (四)模仿学习-完成后台管理页面查询
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)jQuery 基础
  • (转载)虚函数剖析
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • /var/log/cvslog 太大
  • :=
  • @hook扩展分析
  • [ Linux ] git工具的基本使用(仓库的构建,提交)