此篇在于分析指令、数据包的流向,分析local socket与smart socket、remote socket的关联以及分析PC与Android设备是如何传递数据信息的(从本地转发到远端)
该文章是之前自己写的博客,现在搬运到知乎,和大家一起分享。
如果有分析不到位的地方,还请各位大虾们指正,欢迎交流!^_^
传输层(transport.c)详细分析
在 transport.c 中:
①transport注册
init_transport_registration();
-->adb_socketpair(s)//创建socketpair
transport_registration_send = s[0];
transport_registration_recv = s[1];
fdevent_install(&transport_registration_fde,transport_registration_recv,transport_registration_func,0);
fdevent_set(&transport_registration_fde,FDE_READ);
注:当 transport_registration_send 有写事件的时候触发 tr