-
-
[原创]android中如何注入java
-
发表于:
2013-11-7 13:43
14146
-
论坛中的大牛们(蟑螂一号、古河等)已经讲过了如何注入android 本地层(native)程序,那么我今天说说如何注入到java里面。
android中所有的java进程都是app_process这个东西,在app_process中启动了虚拟机,在虚拟机中加载java类,并且运行java程序(描述的比较粗糙)。
假定我们已经注入到app_process中:
1. 第一步,获取已经启动的虚拟机。
2. 获取正在运行的java虚拟机的环境(JNIEnv)。
3. 获取虚拟机中的系统classloader。
4. 创建BaseDexClassLoader(我注入的是jar包)。
5. class cls = BaseDexClassLoader.findClass("你jar包中的类");
6. cls.newInstance();
7. 已经进入到java中了。
呵呵 大致就是这样子了;这是我的方法,欢迎大家讨论。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课