Open cc-qing opened 4 years ago
同问!
搞定selinux就能
ganyao你好,
公司的一个手机管控项目,基于厂商的安卓10源码定制开发,做管控定制。 我想运用Sandhook做全局的hook,从而用最少的源码改动,实现管控所有应用。
采用的思路如下: 1、在管控apk引用SandHook(包括libsandhook.so,libsandhook-native.so),在其中编写hook方法,实现管控逻辑; 2、在安卓源码的Instrumentation.java的newApplication方法中,通过DexClassLoader/PathClassLoader反射调用管控apk的hook方法,从而实现对各个apk进程的注入。
目前遇到的问题是:ClassLoader能够反射调用到apk的java方法,但报错无法加载SandHook需要的两个so文件。 我尝试了把它们拷贝到被管控apk的私有目录,以及把它们直接拷贝到system/lib64,都无法加载。
安卓新近版本对加载so文件做了各种限制,比如:https://source.android.com/devices/tech/config/namespaces_libraries
请教有什么办法能够让任意apk进程都加载SandHook的so库,实现上述需求吗?
ganyao你好,
公司的一个手机管控项目,基于厂商的安卓10源码定制开发,做管控定制。 我想运用Sandhook做全局的hook,从而用最少的源码改动,实现管控所有应用。
采用的思路如下: 1、在管控apk引用SandHook(包括libsandhook.so,libsandhook-native.so),在其中编写hook方法,实现管控逻辑; 2、在安卓源码的Instrumentation.java的newApplication方法中,通过DexClassLoader/PathClassLoader反射调用管控apk的hook方法,从而实现对各个apk进程的注入。
目前遇到的问题是:ClassLoader能够反射调用到apk的java方法,但报错无法加载SandHook需要的两个so文件。 我尝试了把它们拷贝到被管控apk的私有目录,以及把它们直接拷贝到system/lib64,都无法加载。
安卓新近版本对加载so文件做了各种限制,比如:https://source.android.com/devices/tech/config/namespaces_libraries
请教有什么办法能够让任意apk进程都加载SandHook的so库,实现上述需求吗?
system/ect/里有个配置文件,是允许app加载系统的so,把你的so在这里配置下就行了,具体是啥我忘了,反正是public开头的
@767972675 感谢!
请教一下如果把SandHook插桩到framwork层的main函数,可以实现全局hook吗