能力值:
( LV2,RANK:10 )
|
-
-
2 楼
当然是绕过了,不然会死人
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
各个公司的大神正在加班加点的搞这个,一定不会让大家失望的,不然那么多插件化和热修复的app不就悲催了,老板不愿意的
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
9.0上热修复 似乎很坑 目前遇到3个问题和大家讨论一下,在实现过程中遇到几个问题 1.有的api 不能使用 反射调用了 会报错 access hide XXX 2.加载jar后 会直接调用 dex2oat 3.最麻烦的是 相同的class 已经不会被加载了 第一个问题已经被大佬解决了 可以看这个 https://github.com/tiann/FreeReflection 第二个问题我hook execv干掉了 dex2oat 第三个问题 我一直没有找到相关源码 各位大佬有思路吗
最后于 2019-1-17 16:39
被卑鄙游侠编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
卑鄙游侠
9.0上热修复 似乎很坑 目前遇到3个问题和大家讨论一下,在实现过程中遇到几个问题 1.有的api 不能使用 ...
相同的class不会被加载是什么意思?一个class只能有一个实例?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
yy虫子yy
相同的class不会被加载是什么意思?一个class只能有一个实例?
我测试的条件是这样的, MainActivity 调用 A Class的 AA方法 ,MainActivity 和A Class 被打包在了一个dex中, 热修复方式是修改 dexElements顺序的方法,启动之后 依然运行的是旧的 AA方法, 这部分的机制我翻了翻源码似乎没有找到,我只是猜测
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
卑鄙游侠
我测试的条件是这样的, MainActivity 调用 A Class的 AA方法 ,MainActivity 和A Class 被打包在了一个dex中, 热修复方式是修改 dexElements ...
你想重新实现A Class的 AA方法去hook原来的AA方法? 修改顺序,让你的Class先加载给MainActivity调用?是这意思? 你有没有反编译MainActivity 调用 A Class?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
yy虫子yy
你想重新实现A Class的 AA方法去hook原来的AA方法?
修改顺序,让你的Class先加载给MainActivity调用?是这意思?
你有没有反编译MainActivity 调用 A C ...
嗯 大概是这个意思,用新的AA方法 替换 久的AA方法, 反编译调用? 这个我没理解
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
卑鄙游侠
嗯 大概是这个意思,用新的AA方法 替换 久的AA方法, 反编译调用? 这个我没理解
比如MainActivity调用A Class的AA方法反编译smali语句: invoke-virtual {v0, v1}, Lcom/xxx/yyy/zzz/A;->AA(I)V; com/xxx/yyy/zzz是A Class的路径 每个调用的Class都有路径,那你修改加载顺序也没用啊
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
yy虫子yy
比如MainActivity调用A Class的AA方法反编译smali语句:
invoke-virtual {v0, v1}, Lcom/xxx/yyy/zzz/A;->AA(I)V;
c ...
不 , 如果Classloader里有两个相同的Class的话 在9.0 以前应该是加载靠前的那个,Classloader会遍历 pathlist那个 dexElements的是数组 所以我把新的 AA方法加载到前面就应该先找的新的 但是9.0上似乎不行了
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
安卓不死,hook不止
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
有能hook权限的么
|
能力值:
( LV1,RANK:0 )
|
-
-
14 楼
卑鄙游侠
9.0上热修复 似乎很坑 目前遇到3个问题和大家讨论一下,在实现过程中遇到几个问题 1.有的api 不能使用 ...
想了解下大神是怎么干掉dex2oat的,有没有QQ或微信加下
|
|
|