11
回答
OSC 第 84 期高手问答 — Android Dex 注入技术
华为云4核8G,高性能云服务器,免费试用   

OSCHINA 本期高手问答(7月29日- 8月4日)我们请来了 @jiangsai江赛)为大家解答关于 Android Dex 注入技术 方面的问题。

江赛,@jiangsai ,听云移动研发总监,拥有10多年研发经验,早期主要从事网络设备协议栈开发,对 Linux Kernel、TCP/IP 协议栈等有一定的研究,从 2010 年开始从事移动设备及相关应用开发,从 Android 系统移植开始到 App 开发,对 Android build system、framework、App 开发有较深入的理解。

Android Dex 注入的一些方法:

1、通过分析smali代码
           可参考的开源项目:AndroguardApkAnalyzer

2、通过分析 dalvik bytecode
            可使用 dexlib2

3、通过分析 Java bytecode
           可使用 ASM,需要在 dx 阶段来进行

4、 非 Root 下,对于 C 接口的 hook
            需要通过修改相应的汇编指令

高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 Android Dex 注入技术 方面问题向 @jiangsai江赛)提问,请直接回帖提问。

举报
叶秀兰
发帖于3年前 11回/4K+阅
共有11个答案 最后回答: 4个月前
@jiangsai : 我改了smali再还原成apk后应用不能启动了。另外有些应用反编译后,在manifest中声明的activity却找不到,是怎么回事
--- 共有 4 条评论 ---
jiangsai@bucket 没问题! 3年前 回复
bucket回复 @jiangsai : 我们现在的问题已经解决,但今后可能还会遇到问题,您提供咨询服务吗? 3年前 回复
jiangsai回复 @jianwoo : 你是值修改smali,然后通过apktool再打包吧,这种情况,一般是由于你smali代码有语法问题引起的,可以抓取log,一般能看到错误类型,比如应该用move-object/from16操作超过4bit表示范围的寄存器等。 3年前 回复
jianwoo56 3年前 回复
@jiangsai :如何修改系统级的函数,比如在获取IMEI或者机器型号的函数在什么位置,能否修改这个函数返回自己制定的值。
--- 共有 4 条评论 ---
wangkaios回复 @jiangsai : 感谢回答,也谢谢@zzeric 把我想问的问题给问了。 3年前 回复
jiangsai@zzeric zjdroid是基于xposed框架的一个module,可以hook 系统接口,比如IMEI,可以hook住接口,在修改函数的返回值。 3年前 回复
zzeric回复 @jiangsai : 能展开说一下这块吗?是通过xposed设置成另外一个静态IMEI,还是说可以是指定一段脚本或者函数返回动态的IMEI? 3年前 回复
jiangsai你可以用xposed+zjdroid 3年前 回复
@jiangsai :对于听云我最近在了解,看到在移动平台监控性能的app,我想问的是这种基于云平台的分析数据准确性如何保证?
--- 共有 1 条评论 ---
jiangsai数据的准确性是采集的前提,我们会对一些接口进行监控,比如http/https相关、bitmap等I/O接口,这些都是运行时的真实数据。 3年前 回复
顶部