首页
社区
课程
招聘
[原创]XPOSED的小笔记
发表于: 2013-11-9 16:32 37044

[原创]XPOSED的小笔记

2013-11-9 16:32
37044

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


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 5
支持
分享
最新回复 (22)
雪    币: 1413
活跃值: (401)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
2
赞~~期待分享更多xposed和patchdroid的经验~

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

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

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

IDA对Dalvik的那个解析器,不是官方写的,是用户写了给官方用的,所以估计不太可能有大的更新了。
2013-12-1 11:03
0
雪    币: 182
活跃值: (178)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
9
Xposed做动态分析相比其他的动态分析有啥优势?系统调用hook还有framework hook
2013-12-4 22:15
0
雪    币: 435
活跃值: (172)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
10
, 要是现在像读大学时那么闲就好了, 可以自己写一个试试
不过说到底还是自己执行力问题
2013-12-8 21:37
0
雪    币: 1413
活跃值: (401)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
11
模块开发迭代周期快、支持各类真机部署,这是我看到的两个主要优点,相比于DroidBox一类而言的。
2013-12-9 09:53
0
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
mark 楼主威武
2013-12-9 10:42
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
从实现上来看,相当于把 基于Xposed开发module加载到每一个App进程中,
本质上拦截还是在应用进程本身进行的,既然如此,应用进程自身肯定可以修过相关调用,比如实现和被hook接口功能同样的代码,来跳过Xposed hook的拦截。
2013-12-9 17:37
0
雪    币: 2307
活跃值: (1013)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
14
XPosed的模块不是要手动激活的么~
2013-12-9 17:46
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
手动激活后,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】启动时都已经做了。
2013-12-9 19:17
0
雪    币: 435
活跃值: (172)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
16
IDA 6.5的修改列表里有提到dex格式的支持强化了很多
2013-12-16 14:25
0
雪    币: 1413
活跃值: (401)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
17
[QUOTE='火翼[CCG];1247499']IDA 6.5的修改列表里有提到dex格式的支持强化了很多[/QUOTE]

昨天简单看了一下,好像没怎么变化。
2013-12-16 17:06
0
雪    币: 1906
活跃值: (712)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
刚来学习,多谢楼主和大家的分享
2014-11-26 09:48
0
雪    币: 44
活跃值: (179)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
你这个追踪一个app运行中调用的所有的method搞的怎么样了,有思路吗?
2015-9-25 11:03
0
雪    币: 191
活跃值: (195)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
20
谢谢分享,
2016-5-29 15:34
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
能否留下邮箱啊
2016-6-30 14:16
0
雪    币: 48
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
多谢楼主分享
2016-8-29 13:35
0
雪    币: 2714
活跃值: (1611)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
我本人想做一个追踪器,就是追踪一个app运行中调用的所有的method

这个有点意思,追踪到了吗?
2016-9-25 18:55
0
游客
登录 | 注册 方可回帖
返回
//