小编Dr.*_*yll的帖子

Android应用程序:java/JNI调用挂钩策略

我的目标是检测AOSP,以便动态记录来自目标应用程序的所有Java或JNI调用,包括或不包含参数和返回值.我不想修改应用程序,这就是为什么我要修改Android源代码.我对AOSP及其众多的库和框架没有很多经验,所以我正在寻找建议,因为我不知道从哪里开始.此外,由于记录的潜在行数,该过程必须是高效的(即我不相信类似于调试的方法,其中必须为每个挂钩方法实现钩子类,可以工作)

到目前为止我所理解的:

使用相对较新的ART系统,它将DEX应用程序源代码编译成一种机器可执行代码(OAT?),与Dalvik相比,它更加复杂.

执行流程:应用程序的编译java字节码(取决于编译的Android API)+ libs.so - > DVM - >分叉Zygote VM - >应用程序的执行.

如果我试图挂钩根(Android API + libs.so),它将需要一些繁琐的工作来挂钩每个调用.理想的是所有java调用都通过的地方.ART会出现这样的情况吗?

AOSP源代码很难理解,因为似乎没有文档说明每个源文件在全局体系结构中的作用.那么挂钩电话哪个更好?

编辑(s)

这个主题没有很好地涵盖,所以我会显示任何感兴趣的人的信息.

我的研究发现了这个博客:http://blog.csdn.net/l173864930/article/details/45035521.(+谷歌翻译)链接到这个有趣的Java和ELF(arm)呼叫挂钩项目:https://github.com/boyliang/AllHookInOne

这不是我正在寻求的,但我会尝试实施一个适合我需要的动态分析AOSP补丁.

hook call android-source

5
推荐指数
1
解决办法
3381
查看次数

标签 统计

android-source ×1

call ×1

hook ×1