首页
论坛
课程
招聘
[原创]XPOSED的小笔记
2013-11-9 16:32 34112

[原创]XPOSED的小笔记

2013-11-9 16:32
34112
最近在做dynamic instrumentation方面的学习,比较了patchdroid与xposed,开源还是学起来比较快的。
我本人想做一个追踪器,就是追踪一个app运行中调用的所有的method,还在自己做实验,Xprivacy和Appsetting这两个源代码也在看(注释太少了--),所以目前只把GitHUB上Xposed的Wiki翻译再加一点自己的理解。
大神对怎么Hook调用的方法有研究的跪求赐教。
菜鸟一只,不好勿喷。欢迎交流

[公告]名企招聘!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (22)
雪    币: 1365
活跃值: 活跃值 (112)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
Claud 活跃值 6 2013-11-9 19:27
2
0
赞~~期待分享更多xposed和patchdroid的经验~

建议读一下XposedBridge的源码,注释很丰富
雪    币: 93
活跃值: 活跃值 (11)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
王下邀月 活跃值 1 2013-11-9 19:31
3
0
正在阅读,感谢您的指教。
雪    币: 283
活跃值: 活跃值 (310)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
lynnux 活跃值 2013-11-13 19:32
4
0
mark,狗屎的安全。
雪    币: 160
活跃值: 活跃值 (16)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
Xbalien 活跃值 4 2013-11-30 15:58
5
0
最近Android有啥可做的项目吗?老大推荐一下
雪    币: 1365
活跃值: 活跃值 (112)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
Claud 活跃值 6 2013-11-30 19:21
6
0
1. 还没有哪个工具支持smali的交叉索引和调用关系图示化;

2. 还可以试试基于Xposed做动态分析工具;

3. ART环境除了一个oatdump和一个IDA以外还没别的逆向工具~
雪    币: 386
活跃值: 活跃值 (16)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
火翼[CCG] 活跃值 6 2013-12-1 10:22
7
0
1 可以写一个IDA插件作, 不过IDA识别的也有很多不准, 不知道下个版本能不能好点
雪    币: 1365
活跃值: 活跃值 (112)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
Claud 活跃值 6 2013-12-1 11:03
8
0
[QUOTE='火翼[CCG];1243680']1 可以写一个IDA插件作, 不过IDA识别的也有很多不准, 不知道下个版本能不能好点[/QUOTE]

IDA对Dalvik的那个解析器,不是官方写的,是用户写了给官方用的,所以估计不太可能有大的更新了。
雪    币: 160
活跃值: 活跃值 (16)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
Xbalien 活跃值 4 2013-12-4 22:15
9
0
Xposed做动态分析相比其他的动态分析有啥优势?系统调用hook还有framework hook
雪    币: 386
活跃值: 活跃值 (16)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
火翼[CCG] 活跃值 6 2013-12-8 21:37
10
0
, 要是现在像读大学时那么闲就好了, 可以自己写一个试试
不过说到底还是自己执行力问题
雪    币: 1365
活跃值: 活跃值 (112)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
Claud 活跃值 6 2013-12-9 09:53
11
0
模块开发迭代周期快、支持各类真机部署,这是我看到的两个主要优点,相比于DroidBox一类而言的。
雪    币: 75
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
djxcon 活跃值 2013-12-9 10:42
12
0
mark 楼主威武
雪    币: 111
活跃值: 活跃值 (72)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
netsniffer 活跃值 2013-12-9 17:37
13
0
从实现上来看,相当于把 基于Xposed开发module加载到每一个App进程中,
本质上拦截还是在应用进程本身进行的,既然如此,应用进程自身肯定可以修过相关调用,比如实现和被hook接口功能同样的代码,来跳过Xposed hook的拦截。
雪    币: 2299
活跃值: 活跃值 (281)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
非虫 活跃值 7 2013-12-9 17:46
14
0
XPosed的模块不是要手动激活的么~
雪    币: 111
活跃值: 活跃值 (72)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
netsniffer 活跃值 2013-12-9 19:17
15
0
手动激活后,installer就把module包路径写到/data/data/de.robv.android.xposed.installer/conf/modules.list中,必须重启才生效;

下次[zygote]启动的时候,解析这个list,加载该apk中assets/xposed_init中指定的类,执行其initZygote,handleLoadPackage接口;前者直接就执行了,后者将load调用存在一个list中,当后续systemserver、或某个app启动的时候,会调用该handleLoadPackage方法;

所以说module注册的hook接口,在【zygote】启动阶段有部分hook调用已经执行了,剩余类型的hook也已经注入了,只不过还没执行而已;而这些注入过程在【zygote】中进行的,所以每个app都是共享了这些hook实现,就像把一个apk中的类当成一个jar包加载到应用进程中,这个jar包里边放着hook要执行的代码,而hook过程【zygote】启动时都已经做了。
雪    币: 386
活跃值: 活跃值 (16)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
火翼[CCG] 活跃值 6 2013-12-16 14:25
16
0
IDA 6.5的修改列表里有提到dex格式的支持强化了很多
雪    币: 1365
活跃值: 活跃值 (112)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
Claud 活跃值 6 2013-12-16 17:06
17
0
[QUOTE='火翼[CCG];1247499']IDA 6.5的修改列表里有提到dex格式的支持强化了很多[/QUOTE]

昨天简单看了一下,好像没怎么变化。
雪    币: 167
活跃值: 活跃值 (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tigerwood 活跃值 2014-11-26 09:48
18
0
刚来学习,多谢楼主和大家的分享
雪    币: 44
活跃值: 活跃值 (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
永哥呀 活跃值 2015-9-25 11:03
19
0
你这个追踪一个app运行中调用的所有的method搞的怎么样了,有思路吗?
雪    币: 227
活跃值: 活跃值 (53)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
大王叫我挖坟 活跃值 3 2016-5-29 15:34
20
0
谢谢分享,
雪    币: 0
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dyaa 活跃值 2016-6-30 14:16
21
0
能否留下邮箱啊
雪    币: 48
活跃值: 活跃值 (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
五鬼星 活跃值 2016-8-29 13:35
22
0
多谢楼主分享
雪    币: 7
活跃值: 活跃值 (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hhhaiai 活跃值 2016-9-25 18:55
23
0
我本人想做一个追踪器,就是追踪一个app运行中调用的所有的method

这个有点意思,追踪到了吗?
游客
登录 | 注册 方可回帖
返回