protobuf 黑盒调用 blackboxprotobuf 不用proto文件 application/x-protobuf 超短保姆级教程

2023-10-26

看了网上很多教程使用blackboxprotobuf,有一个小坑,在复制protobuf到代码里面的时候,应该转成hex或者base64,在代码里面转码,这样才能出数据

JS逆向-Protobuf逆向解析

装上blackboxprotobuf

https://github.com/nccgroup/blackboxprotobuf
里面介绍啥也没写

pip install blackboxprotobuf

charles或fiddler抓包

在这里插入图片描述
复制所有到vscode.按住shift+alt,列选中hex部分.
在这里插入图片描述
把复制的内容丢到 import blackboxprotobuf,base64 print(blackboxprotobuf.decode_message(base64.b64decode('base64内容')))

输出为json

({'1': b'fdgdfghwer@gmail.com', '2': b'sdffh234sdfsdf', '3': 643, '4': b'en', '5': b'Asia/Shanghai', '6': b'03AIIukzgLSizHqFySxBYM54Omyhqiw7xRueLtVV5MzdxsqYT8JA4DmURC1JUNJQbgZfcEbFtGLUAbJ6SNQKZmoH8DvNNofli3Bj4MCJvCZoRU5Q720vIMIHNir5IlaG3EjZU8-YC--uCC_kZxQsKqthXXKR5aV5IPCsjNQzqJhtHhAjnLM8B_3rwK5qmQxg3xv7OoDfHpUnwHZk8ZO8Htp7jhcXhpFJr2j5kPb0lV-jwYZ7WS-82oytPxSfDhPIiwmtBbxr0jodlZveHjKcwvWlrJE5jAWo3VOdpTfuJAnxljDLjbSOxazsG2XDfpkt0CCbeVAxKk9YeSA_-j8iioQUN5MT13_LLtUfj2NNwbvJhWkYiOHU-NU6H_ScZXpjwZPAVvVela3aMK1eL7Nh7AMnLsB_XlS62XT__7E7PfCORNcNHxO556Jd8MWZnb3VOlVBlHxTj4luVB7vLGsDCqfLYApTFxXqpQ9du4u8gR9Sdh5NstjZ_HXZxCasCD2MUVTxleNggCr033Z5Hdyvm-dnAwVRA8KwvEnu6WEQcwBpYpBXX1lK8LSebMm5uFBUrn2tXgrrAaFfhg6u8J_EFTcTAySGaxA9ZgRPZercvKzdEC7Bbyol4MpPL4Epz9kYWxWuNMTo_smL-_F_cKMR8jb106HgLQ04ptKEn5ZeGK_u_aMBC7feMdS3dXLkOU3EbRKHbQLLLt4hs5kDv6sDiRGWrz0DT5FbfcgeFXTR_5A-6eQo0HzfkxfK3D1e2i25A4rAH5Hs-YNw3o21Nl0ZVdf8-rZiq0YcI2qGtddrHgsOvO9Srog6hy7o1EkL7qin990qUIKznIMPkrRLoHYgYC6goJqeXeArXIKaa-GBAf10Y1bij9IGl4QXgO5lMKDBagNcCOG77ghZeigA4YYDtjW5a19iIDi-wtP_lYCpFmDxhhF_CyjPfWE6ROF-eFyaXfBQSLWOArNjvr5xI--6ANWolHgfVA0xlpvnO5GgLjsLaGx7K29J78ojlmnNiFzSBjpjFYmgi6KTiY2PvSaR2ws4YV-KOXaFrmsMPAle534eFY25KOr-8dkAGNz716vJ1vDe6vIjbgaJA7flgK-LoqU_gGiCA0khDH2lA_4ymdg415_Q6CPFMcvJ364DHyxSlnTQ2k1usss15erDx_brNKeZv2I2Eyenm_40CtWvFaFQ70AVsJN7yfl_wfKQ2ug36dbaUmV5Gw0rM5Uc1hA-2uKiGr2U-KZDV1w8LPod4NtW5SV8fpXZ17yoPJl6TjseFHkukVI2kDpIuph5siJHntbEDajUOh-V0J5cFXF30UK-MYpupcMyLXBwXDiFNxW7QUUJhWM2InDHgtrbh6x4-oUrtuL859KkzTnDTA4nvxH20ABRfHFqrWc2NfySPbpSBfYaoOlMfEzXfXsoL3pABrxZxm-q9uoSqy4cG8h-YUHo5zby4o9kc4UiZQhd5V4ag4jhplx9yKJclMh-SM1l4pAYYlxQHEJXD0nPWvc8j19COVSRNLrlP6yLllaZrj4db65Av8UfnStJIaEhMVLvnqsaHDywGQb-K0kXhD17yRwVQMFzPnoekdQKY', '7': 5, '8': 0, '9': b'sdf', '10': b'sdgsd'}



{'1': {'type': 'bytes', 'name': ''}, '2': {'type': 'bytes', 'name': ''}, '3': {'type': 'int', 'name': ''}, '4': {'type': 'bytes', 'name': ''}, '5': {'type': 'bytes', 'name': ''}, '6': {'type': 'bytes', 'name': ''}, '7': {'type': 'int', 'name': ''}, '8': {'type': 'int', 'name': ''}, '9': {'type': 'bytes', 'name': ''}, '10': {'type': 'bytes', 'name': ''}})

第一行是内容,第二行是黑盒格式.

import blackboxprotobuf,base64
message_type = {
'1': {'type': 'bytes', 'name': 'email'},
'2': {'type': 'bytes', 'name': 'password'},
'3': {'type': 'int', 'name': 'countryCode'},
'4': {'type': 'bytes', 'name': 'langCode'},
'5': {'type': 'bytes', 'name': 'timeZone'},
'6': {'type': 'bytes', 'name': 'captchaResponse'},
'7': {'type': 'int', 'name': 'captchaType'},
'8': {'type': 'int', 'name': 'variant'},
'9': {'type': 'bytes', 'name': 'firstName'},
'10': {'type': 'bytes', 'name': 'lastName'},
}
before_data = {'1': "fdgdfghwer@gmail.com",
'2': "sdffh234sdfsdf",
'3': 643,
'4': "en",
'5': "Asia/Shanghai",
'6': "03AIIukzgLSizHqFySxBYM54Omyhqiw7xRueLtVV5MzdxsqYT8JA4DmURC1JUNJQbgZfcEbFtGLUAbJ6SNQKZmoH8DvNNofli3Bj4MCJvCZoRU5Q720vIMIHNir5IlaG3EjZU8-YC--uCC_kZxQsKqthXXKR5aV5IPCsjNQzqJhtHhAjnLM8B_3rwK5qmQxg3xv7OoDfHpUnwHZk8ZO8Htp7jhcXhpFJr2j5kPb0lV-jwYZ7WS-82oytPxSfDhPIiwmtBbxr0jodlZveHjKcwvWlrJE5jAWo3VOdpTfuJAnxljDLjbSOxazsG2XDfpkt0CCbeVAxKk9YeSA_-j8iioQUN5MT13_LLtUfj2NNwbvJhWkYiOHU-NU6H_ScZXpjwZPAVvVela3aMK1eL7Nh7AMnLsB_XlS62XT__7E7PfCORNcNHxO556Jd8MWZnb3VOlVBlHxTj4luVB7vLGsDCqfLYApTFxXqpQ9du4u8gR9Sdh5NstjZ_HXZxCasCD2MUVTxleNggCr033Z5Hdyvm-dnAwVRA8KwvEnu6WEQcwBpYpBXX1lK8LSebMm5uFBUrn2tXgrrAaFfhg6u8J_EFTcTAySGaxA9ZgRPZercvKzdEC7Bbyol4MpPL4Epz9kYWxWuNMTo_smL-_F_cKMR8jb106HgLQ04ptKEn5ZeGK_u_aMBC7feMdS3dXLkOU3EbRKHbQLLLt4hs5kDv6sDiRGWrz0DT5FbfcgeFXTR_5A-6eQo0HzfkxfK3D1e2i25A4rAH5Hs-YNw3o21Nl0ZVdf8-rZiq0YcI2qGtddrHgsOvO9Srog6hy7o1EkL7qin990qUIKznIMPkrRLoHYgYC6goJqeXeArXIKaa-GBAf10Y1bij9IGl4QXgO5lMKDBagNcCOG77ghZeigA4YYDtjW5a19iIDi-wtP_lYCpFmDxhhF_CyjPfWE6ROF-eFyaXfBQSLWOArNjvr5xI--6ANWolHgfVA0xlpvnO5GgLjsLaGx7K29J78ojlmnNiFzSBjpjFYmgi6KTiY2PvSaR2ws4YV-KOXaFrmsMPAle534eFY25KOr-8dkAGNz716vJ1vDe6vIjbgaJA7flgK-LoqU_gGiCA0khDH2lA_4ymdg415_Q6CPFMcvJ364DHyxSlnTQ2k1usss15erDx_brNKeZv2I2Eyenm_40CtWvFaFQ70AVsJN7yfl_wfKQ2ug36dbaUmV5Gw0rM5Uc1hA-2uKiGr2U-KZDV1w8LPod4NtW5SV8fpXZ17yoPJl6TjseFHkukVI2kDpIuph5siJHntbEDajUOh-V0J5cFXF30UK-MYpupcMyLXBwXDiFNxW7QUUJhWM2InDHgtrbh6x4-oUrtuL859KkzTnDTA4nvxH20ABRfHFqrWc2NfySPbpSBfYaoOlMfEzXfXsoL3pABrxZxm-q9uoSqy4cG8h-YUHo5zby4o9kc4UiZQhd5V4ag4jhplx9yKJclMh-SM1l4pAYYlxQHEJXD0nPWvc8j19COVSRNLrlP6yLllaZrj4db65Av8UfnStJIaEhMVLvnqsaHDywGQb-K0kXhD17yRwVQMFzPnoekdQKY",
'7': 5,
'8': 0,
'9': "sdf",
'10': "sdgsd"
}
form_data = blackboxprotobuf.encode_message(before_data, message_type)
print(form_data)

照着格式写内容,"name"只是备注,可以不填~

输出来的就是能用的protobuf了.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

protobuf 黑盒调用 blackboxprotobuf 不用proto文件 application/x-protobuf 超短保姆级教程 的相关文章

随机推荐