首页
社区
课程
招聘
[原创]利用VirtualApp实现免Root注入Hook(一)
发表于: 2017-3-4 19:28 28166

[原创]利用VirtualApp实现免Root注入Hook(一)

2017-3-4 19:28
28166

才疏学浅,如有不对,请轻拍。


一个话题,将一个so注入到App中有几种方式?

1.Root,直接注入。

想必论坛的大部分人已经都会了,拿到了Root之后,我们可以利用ptrace直接注入。所以加固的第一点,便是反调试。


2.Root,将so作为系统so,这样任何App起来都得把so加载到app进程当中。

xposed的方式是重写孵化器,让孵化器能够加载自己的so,从而控制整个安卓。所以很多加固会去识别特征码,看是否有xposed的框架。


那么如果没有Root呢,我们如何往一个App里注入一个SO?

1.重打包

如果可以重新打包,我们可以反编译java层,在加载SO的地方,补一句加载So,把我们的SO放到App的Lib目录下。

2.我们启动App

其实关于我们启动App的方式有很多种,如果App的架构简单,我们可以反编译一部分App代码,重写java层,我们的java层去load原有App的So,在加载App的So的同时加载我们的So。

具体可以参考https://github.com/zhuowei/MCPELauncher/的做法。


如果App架构复杂,被加固了,无法重打包,无法注入,无法root,无法刷机,锁了BL,反正就这样了,我们是否还有办法注入?


自然还是可以!



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (22)
雪    币: 183
活跃值: (1218)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
谢谢分享
2017-3-4 21:14
0
雪    币: 0
活跃值: (878)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
开始以为VA是一个hook自身APP的框架,就没多看。你这么一解释就明白了,VA确实可以干很多事。 赞分享 期待您来一发代码~~
2017-3-5 13:24
0
雪    币: 6575
活跃值: (4531)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4
新论坛连收藏功能都没了?
2017-3-5 15:36
0
雪    币: 97697
活跃值: (200829)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
pxhb 新论坛连收藏功能都没了?
http://bbs.pediy.com/thread-215920.htm 壇主 已經回復過
2017-3-5 15:37
0
雪    币: 111
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢分享,Mark一下,期待更多分享~
2017-3-6 08:48
0
雪    币: 1039
活跃值: (355)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
mark
2017-3-6 09:19
0
雪    币: 82
活跃值: (104)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
看了两篇楼主的注入方案,思路感觉很新颖啊。but..对VA不是很了解,它启动的APP应该是没有之前数据的吧?这样的话只能对复制出来的APP进行注入,没法控制本身安装的APP?
2017-3-6 09:19
0
雪    币: 93
活跃值: (136)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
mark
2017-3-6 11:04
0
雪    币: 208
活跃值: (1986)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
10
RorschachL 看了两篇楼主的注入方案,思路感觉很新颖啊。but..对VA不是很了解,它启动的APP应该是没有之前数据的吧?这样的话只能对复制出来的APP进行注入,没法控制本身安装的APP?
对的,必须要由VA去启动那个APP,这和手机上安装的APK相互独立,互不影响。
2017-3-6 11:10
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
Mark 论坛不能收藏啦!
2017-3-6 15:58
0
雪    币: 25
活跃值: (1111)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
看了下代码,hook了onOpenDexFileNative,但是这个函数真正的实现还是由系统去完成的,所以这里的dump还是适合老版本的加固,比如爱加密的壳子自己实现了类加载器,这个地方都是不走的,
2017-3-6 17:31
0
雪    币: 4
活跃值: (781)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
繁华皆成空 看了下代码,hook了onOpenDexFileNative,但是这个函数真正的实现还是由系统去完成的,所以这里的dump还是适合老版本的加固,比如爱加密的壳子自己实现了类加载器,这个地方都是不走的, ...
是的,繁华大神明眼人,相对来说,这个方式对于爱加密是无效的,爱加密已经高度定制化
2017-3-6 17:40
0
雪    币: 49
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
淡然出尘 是的,繁华大神明眼人,相对来说,这个方式对于爱加密是无效的,爱加密已经高度定制化
先有繁华后有天 爱加密还是比较靠谱的
2017-3-6 17:52
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
繁华皆成空 看了下代码,hook了onOpenDexFileNative,但是这个函数真正的实现还是由系统去完成的,所以这里的dump还是适合老版本的加固,比如爱加密的壳子自己实现了类加载器,这个地方都是不走的, ...
这种dump早就不行了吧 通过DexMethod里的codeOff找到DexCode还原 运行时动态的dump 类似DexHunter原理
2017-3-6 23:42
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
    有具体实现的代码吗
2017-4-17 18:16
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
mark
2017-7-21 11:52
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
hook_dlopen  怎么去hook掉其他APP的so文件啊
2018-6-6 20:41
0
雪    币: 486
活跃值: (1247)
能力值: ( LV9,RANK:153 )
在线值:
发帖
回帖
粉丝
19
也有的是自定义linker,内存加载so,去系统依赖
2018-6-7 17:32
0
雪    币: 3907
活跃值: (5817)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
20
2018-6-9 22:41
0
雪    币: 287
活跃值: (485)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
mark一下
2018-12-21 20:47
0
雪    币: 1973
活跃值: (779)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
学到了
2018-12-23 20:22
0
雪    币: 634
活跃值: (458)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
不错不错。学到了
2020-2-13 21:53
0
游客
登录 | 注册 方可回帖
返回
//