关闭

Xposed遇到的坑

300人阅读 评论(0) 收藏 举报
分类:

如果某个APP的dex有多个在安卓5,0以上ART会合成一个oat文件。那么5.0以下会存在多个dex。
所以在5.0以下hook一个某个方法,而这个方法不在主dex,而存在分包dex。此时xposed会在没有加载分包dex的时候进行回调handleLoadPackage().此时类加载器并没有加载分包里面的类 会导致 XposedHelpers.findAndHookMethod 抛出异常。

解决办法:
(大家可以以下参考文献,这里不制作车轮子)

 XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    ClassLoader cl = ((Context)param.args[0]).getClassLoader();
                    Class<?> hookclass = null;
                    try {
                        hookclass = cl.loadClass("xxx.xxx.xxx");
                    } catch (Exception e) {
                        Log.e("jyy", "寻找xxx.xxx.xxx报错", e);
                        return;
                    }
                    Log.i("jyy", "寻找xxx.xxx.xxx成功");
                    XposedHelpers.findAndHookMethod(hookclass, "xxx", new XC_MethodHook(){
                        //进行hook操作
                    });
                }
            });

参考1
参考2
参考3

0
0
查看评论

Xposed的使用

背景阐述 Android是一种基于Linux的自由及开放源代码的操作系统,由Google公司和开放手机联盟领导及开发。由于其开放的特质,吸引了一大批硬件厂商和软件开发者。第三方的统计数据显示,2016年Android占有的市场份额高达76.4%,远远超过其他智能手机厂商。 大量的Android o...
  • zhangyongfeiyong
  • zhangyongfeiyong
  • 2016-12-11 14:08
  • 2283

Xposed 包名类名加密要如何hook?多dex如何查找对应的方法?

Xposed Hook ,逆向常用之一;findAndHookMethod 语法;实现Hook模块的注意点;多dex如何查找对应的方法?包名类名加密要如何hook?如果用xposed去hook非默认dex文件的类就会发生ClassNotFoundError,要解决这个问题,我们需要拿到对应dex文件...
  • DJY1992
  • DJY1992
  • 2017-06-13 12:10
  • 12646

工作中遇到的小坑合集(java)

工作中遇到的小坑合集fastjson fastjson在使用复杂的集合类型的使用,要使用TypeReference.如下 Map<Long,PriorityQueue<Message>> map = JSONObject.parseObject(string, new Ty...
  • u010632868
  • u010632868
  • 2016-08-21 20:53
  • 319

vue遇到的坑

父级组件采用数据驱动渲染出来的导航栏之后,由于页面渲染的是子组件,这个时候在子组件中去触发父级组件上的事件并没有发生,这个时候反复找了网上查找了一些资料,刚开始百度到了一个关于v-for与click事件搭配出现失效的问题,由于我的父级组件也是通过v-for数据驱动渲染出来的页面,这个时候从这个方面出...
  • limy_cxm
  • limy_cxm
  • 2017-06-08 16:07
  • 871

Android开发遇到的坑

最近在开发中总会遇到各种坑,由于记忆力不好,先记录在这里。 以前看过的一些总结,基本上很齐全了: http://jcodecraeer.com/plus/view.php?aid=3773 https://www.zhihu.com/question/27140400 https://github....
  • ly635676581
  • ly635676581
  • 2016-11-25 16:31
  • 384

iScroll使用遇到的坑

在最近的项目中发现,iScroll中的元素如果绑定了click事件,会被触发两次 原因是iScroll在滑动之前的时候会解除其内元素的所有事件 当滑动结束又会重新绑定,于是就造成了绑定了两次的情况可以用下面的方法解决:var t1 = null;//这个设置为全局 function myclic...
  • cztflove
  • cztflove
  • 2016-06-01 23:18
  • 421

写js过程中遇到的坑

1.js中的变量提升机制 2.js中原生js的兼容性问题:eg:nextSibling和nextElementSibling在不同浏览器的应用范围 3.js中jquery对象和javaScript原生对象的区别及转换,方法使用 4.var trs=document.getElementsByT...
  • flying461
  • flying461
  • 2017-02-16 14:48
  • 388

学习Jenkins遇到的那些坑

Jenkins遇到的那些坑
  • galen2016
  • galen2016
  • 2016-11-30 07:25
  • 652

Java中常见的坑

原创:http://it.deepinmind.com/java/2014/03/06/Java%E4%B8%AD%E5%B8%B8%E8%A7%81%E7%9A%84%E5%9D%91.html 概述 Java是门极简风格的语言,比其它语言相比,它故意保持较少的特性,不仅在...
  • yb493071294
  • yb493071294
  • 2014-03-08 14:16
  • 513

使用git遇到的坑

在github上面已经上传过不少代码了,虽然关注的人很少,我还是低调的做着这件事情。这个也见证了我学习之路。 但是对于使用git命令还是一知半解,这里只是总结我所遇到过的坑…. 1、git上传代码的流程 首先要在github网站上面创建一个属于项目的仓库 2、使用git shell命...
  • u011521890
  • u011521890
  • 2016-05-18 16:17
  • 571
    个人资料
    • 访问:491604次
    • 积分:6794
    • 等级:
    • 排名:第4126名
    • 原创:274篇
    • 转载:63篇
    • 译文:0篇
    • 评论:51条