wireshark打开数据包,文件->导出对象->HTTP,在最后面可以看到有两个br类型的文件:secret,test。
    使用Brotli分别解压两个文件,test解压得到proto文件

    1. syntax = "proto3";
    2. message PBResponse {
    3. int32 code = 1;
    4. int64 flag_part_convert_to_hex_plz = 2;
    5. message data {
    6. string junk_data = 2;
    7. string flag_part = 1;
    8. }
    9. repeated data dataList = 3;
    10. int32 flag_part_plz_convert_to_hex = 4;
    11. string flag_last_part = 5;
    12. }
    13. message PBRequest {
    14. string cate_id = 1;
    15. int32 page = 2;
    16. int32 pageSize = 3;
    17. }

    使用protoc通过proto文件解密secret,

    1. ./protoc --decode PBResponse secret.proto < secret

    得到PBResponse消息

    1. code: 200
    2. flag_part_convert_to_hex_plz: 15100450
    3. dataList {
    4. flag_part: "e2345"
    5. junk_data: "7af2c"
    6. }
    7. dataList {
    8. flag_part: "7889b0"
    9. junk_data: "82bc0"
    10. }
    11. flag_part_plz_convert_to_hex: 16453958
    12. flag_last_part: "d172a38dc"

    将上面的flag_part_convert_to_hex_plz部分内容转为16进制,再与flag_part连接起来,得到最终的flag。
    什么寄吧东西,听都没听过