首页
社区
课程
招聘
[求助] Native层构建Parcel
发表于: 2018-4-8 00:32 2872

[求助] Native层构建Parcel

2018-4-8 00:32
2872
 反编译了一个应用,发现他在应用层构建了一个Parcel对象,写了要激活的service或者activity啥的,然后反射得到Parcel的mNativePtr,这个值是native层相对应的
Parcel对象的地址,把这个mNativePtr传进了native层,native层根据这个地址得到了Parcle 的mData,mDataSize,然后这两个值会通过fork 起一个进程deamon,然后管道通信传进这个deamon,这个守护deamon会做激活的事情,大概就是悄悄的拉起要激活的service或者activity反编译他的deamon大概看出用这个两个传进的值又构造了一个Parcel,然后把Parcel发出去拉起对应组件,但大概照着这么写,
发了Parcel,却没有任何反应,组件也没起来,感觉哪里有错误,却没头绪,transact函数返回0.有谁了解么这里么????
sp<IServiceManager> sm = defaultServiceManager();
sp<IBinder> am = sm->checkService(String16("activity"));
if(am != NULL) {
Parcel data,rep;
data.setData(parcelData,parcel_size);
data.setDataSize(parcel_size);
am->transact(tran_code, data, &rep);

							

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 32
活跃值: (1020)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
哪个应用?
2018-4-8 11:08
0
雪    币: 169
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个parcel你构建出来以后是怎么发的  信息量太少了还是  parcel只是数据传输结构吧  最终还是要看发送和接受的处理  应该是binder那块没处理好
2018-5-11 11:11
0
雪    币: 169
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
补充一下  可以跟一下parcel的writeStrongBinder  这里看下  可能和权限有关  你构建出来的那个parcel可能遗漏了些什么
2018-5-11 11:21
0
游客
登录 | 注册 方可回帖
返回
//