能力值:
( 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似乎只有三五个加载记录)。当然我也不知道是不是我的环境问题。
后来,我换了一个姿势实现了的这个功能 ,见: a5cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8W2k6g2)9J5k6h3y4G2L8g2)9J5c8Y4k6A6M7X3A6S2M7W2)9J5c8Y4S2H3L8%4y4W2k6r3S2G2L8$3E0@1L8$3!0D9i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2M7%4c8W2M7W2)9J5c8X3q4H3M7q4)9J5c8Y4y4J5j5#2)9J5c8X3#2S2K9h3&6Q4x3V1k6B7j5i4k6S2i4K6u0r3j5$3!0E0i4K6u0r3N6X3W2J5K9X3q4J5i4K6u0r3P5s2m8G2M7$3g2V1K9r3!0G2K9%4c8G2L8$3I4Q4x3V1k6@1L8$3!0D9i4K6u0r3b7$3I4S2M7%4y4x3L8$3q4V1e0h3!0F1K9i4c8G2M7W2)9J5k6h3A6S2N6X3p5`. 方式就是,通过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 楼
感谢楼主,很受用 f2dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9j5e0m8K6i4K6u0W2k6$3W2@1K9s2g2T1i4K6u0W2K9h3!0Q4x3V1j5J5x3o6p5^5i4K6u0r3x3o6k6Q4x3V1j5J5x3q4)9J5c8Y4S2H3L8%4y4W2k6q4)9J5c8R3`.`.
|
能力值:
( LV4,RANK:50 )
|
-
-
25 楼
mark
|
|
|