200收个ADB验证协议
远程地址 192.168.2.227远程端口 5555
1.HOST端发CNXN指令【后带有效负载数据: ‘host::’】;
0000000043 4E 58 4E 00 00 00 0100 00 04 00 16 00 00 00 CNXN.... ........
0000001077 08 00 00 BC B1 A7 B168 6F 73 74 3A 3A 66 65 w...急П host::fe
0000002061 74 75 72 65 73 3D 7368 65 6C 6C 5F 32 atures=s hell_2
------------------------------------------------------------------------------
2.Android设备端发送AUTH指令【后带有效负载数据 : 鉴权数据】;
当HOST端连接Android机时。Android机向HOST端发送AUTH TOKEN(1)类型的AUTH报文消息
请求认证,其中包含源自Android机 /dev/urandom 的20字节的随机token。
DEX数据 数据描述
41 55 54 4801 00 00 00 AUTH....
00 00 00 0014 00 00 00 ........
1f 09 00 00be aa ab b7 ........
57 37 19 9a95 70 e5 e6 W7...p.. [后跟长度为20的TOKEN数据]
1a c9 41 302d 2b 6e 75 ..A0-+nu
71 6e b1 ef qn..
0000000041 55 54 48 01 00 00 0000 00 00 00 14 00 00 00 AUTH.... ........
0000001028 09 00 00 BE AA AB B7A0 A0 13 99 ED 48 72 61 (...惊 牋.欗Hra
000000207A 78 6F 54 94 76 16 21C9 44 CD 64 zxoT攙.! 蒁蚫
------------------------------------------------------------------------------
3.HOST端发AUTH指令【后带有效负载数据 : 鉴权数据】;
HOST端用自己的私钥对该随机token进行签名(SHA1+RSA),
回送ADB_AUTH_SIGNATURE(2)类型的AUTH报文消息到Android机。
2. HOST端向Android端回送SIGNATURE的AUTH:
DEX数据 数据描述
41 55 54 4802 00 00 00AUTH....
00 00 00 0000 01 00 00........
43 85 00 00be aa ab b7C.......
48 53 03 dee5 1b 76 89HS....v. [后跟长度为256的SIGNATURE数据]
0000000041 55 54 48 02 00 00 0000 00 00 00 00 01 00 00 AUTH.... ........
00000010A6 7F 00 00 BE AA AB B745 51 02 4D 37 58 D2 D3 �..惊 EQ.M7X矣
00000020FC E4 67 4F 4C 74 D4 2344 48 E7 B1 26 3A A3 33 gOLt�# DH绫&:�3
0000003024 14 DD 98 E7 D8 6C A74E 09 DF 96 D2 D4 66 8E $.輼缲l� N.邧以f�
00000040FA BD E4 56 05 34 06 84DA 1D 8D 65 E2 2D 67 F1 銿.4.� �.峞�-g�
0000005099 C0 1F 79 54 13 BC 337E 08 80 16 87 52 C6 A6 櫪.yT.�3 ~.€.嘡痞
000000609D 8A 75 43 E0 B8 7B C1F8 D6 F1 CA 8E AD 85 3C 潑uC喔{� 袷幁�<
000000706B 47 74 76 B8 D4 AA 5A70 8E CA E7 C5 E4 30 2D kGtv冈猌 p幨缗�0-
00000080EC 66 4C 8F E9 5E B8 20BB A1 5F 65 39 1D 58 D4 靎L忛^�弧_e9.X�
0000009046 FF 84 C7 36 44 3F 4FBA 8E 9C 20 AF E8 0E 03 F勄6D?O 簬� ..
000000A0FA 2B 4D 4F 3F 68 6E 2478 E9 13 97 9A D7 D0 BD �+MO?hn$ x�.棜仔�
000000B005 06 39 3E 6E 51 D2 4BB2 B9 95 D6 0E AD 96 9E ..9>nQ襅 补曋.瓥�
000000C050 D4 DA 89 4B B8 A4 02E1 76 17 9B 0D E4 74 4A P在塊袱. 醰.�.鋞J
000000D072 CC FB B5 37 0E 21 67A1 60 9C A8 97 9F C2 7C r帖�7.!g 湪棢聕
000000E0D6 E6 65 12 F5 A7 E0 0FD0 80 0F 0E EF EC F1 96 宙e.酾�. 衻..镬駯
000000F080 B7 BA 02 0A 34 07 585F 08 B3 5C E6 7C EC 2E €泛..4.X _.砛鎩�.
00000100A9 C9 9C C4 93 84 59 5FE5 13 04 0B FB 21 40 38 ┥溎搫Y_ �...�!@8
000001101E C7 1F F3 BC C0 07 C3 .�.蠹�.�
adbkey
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDJX5000wtYjDJN
EtLEjcpf5fBMe1CD9Y6pZu4hL6gVlYCmWOZWhpJjGL8cytqcUeUIFzS0FgE/15B7
DgbDxPXJj0oeh90szfcxNxutZE+b6EjbjR1e3L0BOYBSGKVUFxuF8XaEWDdO9bjc
c8iFrwcDvt5X/vZdOBR0BWMe6TTlr8xtQa5QfjHVEzVuF4bKK7Q8UjXZspiwvEmC
mMHQDjsF65eDYvxxkR6NOJhXQ2cFA01fTfVwMz5gBFMa1saHz98gVdhSH4y3sksz
jZG89MbTdln8yZqgcBnvWtPF4JwXP9PCnpWizFWgEPITnsjsr5nE8qr/0uXlNCP8
k6iatdvbAgMBAAECggEAXIrqTipm3myfeTgbUGTxCh07z4okOGCTDVrWOL4T+sdX
9hqI0F7Ly2rF+U9oI8qm/I7dk51BObuxFDwf87wCUHzfTSSXCk4lOaLfv1GIHFgl
k3BIfR3oZjWsuQ3GfNyZs3aCRtPbpxfZusYi8vy6tofy2nG7ep+ZFrCbGsuFmb/d
o+ICFrvmeB7QMNGjz9t1Clg+djN63scjtEKYi94kVqrb34Ly7P8DrVyGjdhL+ADe
0HwqnbcmPCX8oGkISlaFHpUx4eouk+SEsjJqnQdi6gGBk58LHzALuOsFo0Pop/Xj
OwOIjlNZ75LR+a6O8vuRf8mAG0Xi0yePq6U7x6rkMQKBgQDwgrrMlgTH/CHT/fe5
u99jtuNxuunclHPEXPGtEM5ouKTQLT47J8YV1Hkf3fKKi5z4TNlwZ126vjFa8+KQ
qWGD7Gxz29grg6YXMCi3dC8UU5FF8Jw+deC7sMjtyvLIOebx6GO1SOFU2sPNHjPq
YFOCF37BTWPu+gOVaOZrOCy6LQKBgQDWV6J0psEtKHCnzaQ9t8Ih7SvqgIQ3bMKg
Jdqmzi+v2nd2JG3eEcMj88Ck8TVOXs4O4qkOg013F50kMf1eC3Tn4j3yCz9eXRwg
gibqXuxJjEi8FL1knPnL0SLIbp3Tw4UWriBCIqKqqKrRLeuWIg46s97GR6QJfZsN
vftGFMXbJwKBgFe7OCycpI3WmPhdcdncgDY9ZmX8Coad2ETOqpG4ybJFeEk/1614
ardX0/8d1PVYzB9+2Oo5qmUOL66/u+uM/bdDrKPuk8H7ucBHnvKcfPfrK9jZVgUq
tpmAeSrUlw8Wn/mqDYT5Wsi7LCVMWR+rl4qiy2fztPpdVKVRqIt/6EDZAoGAZFgI
dOXwP8zT2Kr7/ey+FJXs3k6mFzByePjfwQF7766uCIALc1ALdBRUFqPZmcPmYa+Z
B3NO27cRWPWSMOnaJAiViW/cjbe3SDzGLSidI91p26s18xlOFC3nQ8ANYSsCbli8
P1npn01xEpaV2OY+lRrJ6zd0wwCriyZqsSdebTcCgYAmgBcN5uQxhPthJKZ66oC6
i0mb1LzGKDFj33zS8oL5b+wnKCLqol3BNvtwEnSZfHo/EDsuq5RjeesiKRFIj5jp
fRLrvdVBErU80XTEkK1zhrygSuUPxmxTYw7sK/7iHWjn58Hz17U3q547Qb6nbdpu
MWzMkjt8m1PiPSMfPgmSJQ==
-----END PRIVATE KEY-----
adbkey.pub
QAAAAK1XGZfb27WaqJP8IzTl5dL/qvLEma/syJ4T8hCgVcyilZ7C0z8XnODF01rvGXCgmsn8WXbTxvS8kY0zS7K3jB9S2FUg38+HxtYaUwRgPjNw9U1fTQMFZ0NXmDiNHpFx/GKDl+sFOw7QwZiCSbywmLLZNVI8tCvKhhduNRPVMX5QrkFtzK/lNOkeYwV0FDhd9v5X3r4DB6+FyHPcuPVON1iEdvGFGxdUpRhSgDkBvdxeHY3bSOibT2StGzcx980s3YceSo/J9cTDBg57kNc/ARa0NBcI5VGc2socvxhjkoZW5limgJUVqC8h7mapjvWDUHtM8OVfyo3E0hJNMoxYC9M0nV/JxZqsK+hHVKb1lEPuXqTShfhutWp3C52Jt9MqWt4LJ5hf55RNqrRWWAQoec1DjiWkC4t0WgCA5fQCjj80fs246daamn5zW1TH/q6e7H77EzRdfr+io2YSHP5pPaeSkDDE9grvcS6zMXYxK0fZJBJcXeZCKYDtdkrXhurH+gQVwl8y4S8Sj0v8lHcEZtguN39c+w/qZqX996Txk5DwLQ/P8uo/TH3kkiVPpoEYOI6vaUDo/6XMZ4ei91JQoeQRNNUGlXd3AdltoTlp+KXAaoeA5I+KWCbuNWvFRqR4Cv1DowIdtvPGXIPaoqqwqHN5aVZkx9KDsW359LXq41ktBdq2wwEAAQA= unknown@unknown
PC机(以windows为例)上启动了adb.exe进程时,adb会在本地生成一对密钥adbkey(私钥)与adbkey.pub(公钥);
根据弹框提示“The computer's RSA key fingerprint is:xxxx”,可以看出是一对RSA算法的密钥,其中公钥是用来发送给手机的;
当你执行“adb shell”时,adb.exe会将当前PC的公钥(或者公钥的hash值)(fingerprint)发送给android设备;这时,如果android上已经保存了这台PC的公钥,则匹配出对应的公钥进行认证,建立adb连接;如果android上没有保存这台PC的公钥,则会弹出提示框,让你确认是否允许这台机器进行adb连接,当你点击了允许授权之后,android就会保存了这台PC的adbkey.pub(公钥);
感谢分享好东西 RE: 200收个ADB验证协议 [修改]
页:
[1]