首页
社区
课程
招聘
[求助]关于调用jar包的问题,求救
发表于: 2013-9-13 15:51 6473

[求助]关于调用jar包的问题,求救

2013-9-13 15:51
6473
最近在研究Android加壳的技术,卡在了利用JNI加载Jar包这里,我是这样做的,在我的动态库中加载/system/lib下的libdvm.so成功,并得到了函数JNI_CreateJavaVM的指针,但调用这个函数是直接程序崩溃了......吧中的各位大师请教下这是什么问题啊?还是我走的方向就有问题,本身JNI就不支持调用这个函数?谢谢吧中的朋友了

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 29
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Android绑马程序怎么个写法
2013-9-13 17:20
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你的JNI已经是一个虚拟机了。 直接就可以使用JNI的函数获取当前的虚拟 机了。为何还要create?
2013-9-13 17:22
0
雪    币: 3
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
jar包为啥要用jni调用?!
2013-9-13 20:15
0
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
5
你获得上下文了没有,直接调用那个方法是不行的,还有主线程和子线程的问题。
2013-9-14 15:29
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
大神你好,我要实现的功能是利用JNI调用jar包中的类,然后生成对象返回给java层,我查的读取jar包的方式是采用JNI_CreateJavaVM中设置的参数将jar包读到虚拟机中,这个路子是对的吗?还有其它的实现方式没?谢谢了~
2013-9-14 18:05
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
为了安全性的考虑,加壳的话需要在C层进行脱壳操作,并返回Java类
2013-9-14 18:07
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
那如何加载Jar包额,求大神指点下。。。
2013-9-14 18:08
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
用jni反射DexClassLoader试试
2013-9-14 19:21
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
好的,我试一下
2013-9-16 14:44
0
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
11
jni反射dexclassloader也是可以的,而且兼容性夜比较好,要是说别的方法的话,楼主可以去看看论坛的那个关于运行时篡改内存的
2013-9-17 16:35
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
篡改内存?听起来好高端阿,呵呵,jni反射dexclassloader实践中.....
2013-9-18 13:15
0
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
13
要是jni反射dexclassloader,你要注意生命周期的问题;还有对jar资源的读取(getResourceStream)问题,有时能读有时不能读,还有动态加载的代码创建的线程有些情况是和主线程创建的进程有写不一样。你可以试着在Application提升dexclassloader。
2013-9-20 16:45
0
游客
登录 | 注册 方可回帖
返回