能力值:
( LV2,RANK:10 )
|
-
-
2 楼
正好解决了我滴问题,3q
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
ugui
正好解决了我滴问题,3q[em_52]
那感情好。个人公众号“安卓Xposed框架交流”持续更新,欢迎关注
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
Github链接打不开,麻烦把APK提供下载。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
,这个真是极好的思路
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
zylyy
[em_41],这个真是极好的思路
这种方式用了很长时间了,不需要考虑更多细节
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
tDasm
Github链接打不开,麻烦把APK提供下载。
公众号“安卓Xposed框架交流”里有完整的代码介绍
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
谢谢分享,不错不错。、
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
fooree
公众号“安卓Xposed框架交流”里有完整的代码介绍
不需要看介绍,原理都知道。只是不想写代码,拿来就用。麻烦把APK放这里
|
能力值:
( LV3,RANK:25 )
|
-
-
11 楼
跟我使用的最终结果差不多,不过方式不一样,我是直接把几个dex转成jar,然后倒入,然后所有类都hook,不过是在进入Main的oncreate之后了,书上说应该是在自定义Application中进行dex加载的,
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
supperlitt
跟我使用的最终结果差不多,不过方式不一样,我是直接把几个dex转成jar,然后倒入,然后所有类都hook,不过是在进入Main的oncreate之后了,书上说应该是在自定义Application中进行 ...
除了classes.dex其他的dex可以任意加载,和appplication没有关系
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
这个还是比较简便的。不用关心classloader了。 只要拿到加载类就可以hook了
|
能力值:
( LV4,RANK:40 )
|
-
-
14 楼
这个挺实用的
|
能力值:
( LV3,RANK:30 )
|
-
-
15 楼
比如 A.class 调用 B.getText() 在loadClass里能拦截到B.class的加载吗?
我测试结果是不能
求解楼主
|
能力值:
( LV3,RANK:30 )
|
-
-
16 楼
安卓4.4.4和 7.1.2测试 发现该方法失败
并非所有类都在ClassLoader.loadClass方法内加载
比如我15楼的情况B.class无法捕捉到
希望楼主再验证一下原贴的方法
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
ckis
安卓4.4.4和 7.1.2测试 发现该方法失败
并非所有类都在ClassLoader.loadClass方法内加载
比如我15楼的情况B.class无法捕捉到
希望楼主再验证一下原 ...
能发个apk和类名给我吗?Java类加载机制就是这样的 我测试下
|
能力值:
( LV3,RANK:30 )
|
-
-
18 楼
网上随便下载一个app都能测 微信 优酷 淘宝 京东...
你会发现 楼主的方法能拦截到的类非常有限
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
有点有限.. 很多壳的attachBaseContext都很好找 不太稳定
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
gaybc
有点有限.. 很多壳的attachBaseContext都很好找 不太稳定
hook过棒棒加壳的app和三六零加壳的app,在4.4.4上还可以,hook的类都找到了,和attachBaseContext好像没有关系
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
恩 思路不错, 脱壳也可以在这里弄.
|
能力值:
( LV6,RANK:90 )
|
-
-
22 楼
似乎只能拦截到部分class,貌似是因为classloader的隐式加载导致的。可以在这里打印这个函数所有被加载的类,我测试的时候似乎只有三五个记录(一个classloader似乎只有三五个加载记录)。当然我也不知道是不是我的环境问题。
后来,我换了一个姿势实现了的这个功能 ,见: https://gitee.com/virjar/xposedhooktool/blob/master/app/src/main/java/com/virjar/xposedhooktool/tool/ClassLoadMonitor.java 方式就是,通过hook classloader的方式,收集所有的classloader对象。然后每当增加了一个classloader,就去强制调用这个classloader来loadclass,如果load成功,那么就是这个classloader的,否则可能能够加载这个Class的classloader还没有出现,继续等待。
然后,我这样做还是有问题。因为这种方案提前了class的初始化,本身可能class被用到的时候才会定义,但是我在对应的classloader被构造之后里面就进行了class的定义。如果这个class对这个定义时机比较敏感,那么确实可能引发未知问题(我又一次玩爱加密的壳就遇到过,也不是程序闪退,app也能打开,就是某些功能似乎发生了变化,业务不正常了)。
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
virjar
似乎只能拦截到部分class,貌似是因为classloader的隐式加载导致的。可以在这里打印这个函数所有被加载的类,我测试的时候似乎只有三五个记录(一个classloader似乎只有三五个加载记录) ...
发现只有Dalvik的hook loadclass方法才有用 art无效
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
感谢楼主,很受用 https://la0s.github.io/2018/06/20/xposed/
|
能力值:
( LV4,RANK:50 )
|
-
-
25 楼
mark
|
|
|