|
[求助]在binder拦截中如何回调writeStrongBinder的binder handle????
这段代码 就是向驱动发消息的~~~~~~~~~ |
|
[求助]在binder拦截中如何回调writeStrongBinder的binder handle????
求大神 现身~~~~~~~~~~~ |
|
[求助]在binder拦截中如何回调writeStrongBinder的binder handle????
按照我的理解 这个思路是没有问题的,但是总是失败~~~~~~~~~~~ 0: async from 3868:3884 to 0:0 node 0 handle 271 () size 148:0 dex 1 start 6901.588186 从这个记录来看 ,貌似是服务不在了~~~~~~~~~ 大神们 求指教啊~~~~~~~~~~~~ 拜谢啊拜谢~~~~~~~~~~ |
|
[求助]在binder拦截中如何回调writeStrongBinder的binder handle????
我把问题描述的详尽一些: packageManager对‘删除包’的接口定义是这样: public void deletePackage(java.lang.String packageName, android.content.pm.IPackageDeleteObserver observer, int flags) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(packageName); _data.writeStrongBinder((((observer!=null))?(observer.asBinder()):(null))); _data.writeInt(flags); mRemote.transact(Stub.TRANSACTION_deletePackage, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } 其中第二个参数是服务‘deletePackageObserver’的代理对象。 我拦截了该远程调用,可以获取到‘deletePackageObserver’代理对象的handle值。 deletePackageObserver有一个远程调用接口‘packageDeleted’定义如下: public void packageDeleted(java.lang.String packageName, int returnCode) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(packageName); _data.writeInt(returnCode); mRemote.transact(Stub.TRANSACTION_packageDeleted, _data, null, android.os.IBinder.FLAG_ONEWAY); } finally { _data.recycle(); } } 我使用获取到的deletePackageObserver代理对象handle,调用packageDeleted方法,代码如下: nsigned iodata[512/4]; struct binder_io msg, reply; bio_init(&msg, iodata, sizeof(iodata), 4); bio_put_uint32(&msg, 0); // strict mode header bio_put_string16_x(&msg, "android.content.pm.IPackageDeleteObserver"); bio_put_string16(&msg, packagename); bio_put_uint32(&msg, 1); if (binder_call(handle, &msg, &reply, target, 1, 0x01)) { log("\tnotify the other side fail \n"); return ; } else log("\tnotify the other side success \n"); binder_done(handle, &msg, &reply); 这段代码已经验证是可用的,是从service_manager的代码中扣出来的。 |
|
[原创]利用签名漏洞#9695860构造仿LBE免Root功能的apk(附源码)
mark 以备日后学习 |
|
[原创]Java虚拟机拦截之GPS信息伪造
蟑螂你好 我觉得咱俩可以聊聊。 从你发的帖子来看,我估计你也是在做android加固(这是我自己的叫法)。目前我也是在做这一方面的东西。 我也做gps拦截,但是我的思路与你不一样。我是注入到了system_server进程中拦截了Location服务,拦截requestLocatoinPrivider这个接口,从而做到了定位拦截(永远也获取不到定位信息)。 |
|
[求助]一键APK去广告相关问题
注入吧 你搜一下‘金山毒霸’去广告 网上有人讲思路~~~~~~~ |
|
[原创]android中如何注入java
注入所有的进程都行,只不过在创建classloader的时候,需要注意dex解压路径,android对这块限制很严格。 |
|
[原创]android中如何注入java
不是不放代码,咱论坛牛人多,我目前代码尚未完善,放出来怕被喷死 |
|
[讨论]如何拦截android中对象的方法
感谢提示,我看看去。 |
|
[原创]Android inline hook之实现原理
已经被 PTRACE_ATTACH 后,其他进程就不能在ptrace了,PTRACE_DETACH后其他进程就可以ptrace了。 就是这样呵呵。 |
|
[原创]Android inline hook之实现原理
已经被 PTRACE_ATTACH 后,其他进程就不能在ptrace了,PTRACE_DETACH后其他进程就可以ptrace了。 就是这样呵呵。 |
|
[原创]android中如何注入java
沙发自留 |
|
[原创]Android 进程系统调用劫持
mark下 以后学习 |
|
[原创]Android inline hook之实现原理
一个进程同时只能被 ptrace 一次~~~ |
|
[求助]关于Android下进程注入的ptrace_call
主要要root权限 |
|
[求助]ptrace(PTRACE_ATTACH, pid, 0, 0)
求非虫、古河等大大指教,给一个明确的答复。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值