1 简介
最近因为某些原因,主要看了几乎能找到的安卓相关的fuzz脚本。当然时间原因具体实际测试的并不是特别多,下面就发现的一些问题,以及个人想法分享一下。
2 实际应用过程中的收获
2.1 binder fuzz的基础
(1) binder 机制
Android的Binder机制
Binder其实也不是Android提出来的一套新的进程间通信机制,它是基于OpenBinder来实现的。Binder是一种进程间通信机制,它是一种类似于COM和CORBA分布式组件架构,提供远程过程调用(RPC)功能。
那么何为Binder?
直观来说,Binder是Android中的一个类,它继承了IBinder接口;
从IPC角度来说,Binder是Android中的一种跨进程通信方式,Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,该通信方式在Linux中没有;
从Android Framework角度来说,Binder是ServiceManager连接各种Manager(ActivityManager、WindowManager等)和相应ManagerService的桥梁;
从Android应用层来说,Binder是客户端和服务端进行通信的媒介,当你Bind Service的时候,服务端会返回一个包含了服务端业务调用的Binder对象,通过这个Binder对象,客户端就可以获取服务端提供的服务或者数据,这里的服务包括普通