R0 CREW

RE приложения TikTok 13.1.3. Требуется расшифровать параметры для device_register

На данный момент для того чтобы зарегистрировать устройство нужно:

  1. url для запроса (есть)
  2. Тело для post запроса в котором зашифрован json с параметрами для устройства (нету точности в параметрах)
  3. Функция шифрования (есть) . На 5 версии все ок работало. На 13 тоже должно работать
  4. Заголовки запроса (есть)

TikTok приложение посылает на TikTok сервер запрос:

curl -X POST -H "Host:log2.musical.ly" -H "Connection:keep-alive" -H "Content-Length:660" -H "Accept-Encoding:gzip" -H "X-SS-QUERIES:dGMCD76ot3awANG2fsgrAefIrbjUj0h4sPe6DvxFZh180nmH2rdzDJP0tBZ%2BcDUBfA%2FV4doKvJf4VawAAOu%2ByhyWDII%2BhuzsnqwgLlCM%2FjNc8fV7" -H "sdk-version:1" -H "Content-Type:application/octet-stream;tt-data=a" -H "X-SS-STUB:58204E392A76C912D61D4AC2139DD9E5" -H "x-tt-trace-id:00-99a57c33c785056ea96876ccc0bad378-99a57c33c785056e-01" -H "User-Agent:com.zhiliaoapp.musically/2019091803 (Linux; U; Android 9; en_GB; FIG-LX1; Build/HUAWEIFIG-L31; Cronet/58.0.2991.0)" -H "X-Khronos:1583430886" -H "X-Gorgon:83005ff00000e4f54053e523d1c4a9b9ccf1a2175a263e6cb706" -d "tc  =ؿ재 .� �3;�>P7U~gJ��ɔ`OLl:��Z3����.^� ��Z��  �m ���k!� ��70� /���+�H��wC�� ~g�G�G��  ���
9��qB�fK�p�6qOim+g�����(��۽��3��\e�M =� �>�ʣ��I� G �Ma� ���u�?� �  �a�{�* ��lm|&-e����� ٿC �ۋ ������ mC� ��Ђ�w] �tlc�� � ~ \�g$T?��6�s'<� rX5՘�>��^ ' �W�� k �F>e  ;�Y��?�O*��WIZ ��UAe��  ^��p�G�� ��^L�  ��A�إE �DQ������� �u� ݙ E]  ? ]" �^�!H��Ӣ�p ���R���z��l  ��g_� �t� �f��E+C����n��0CN�|#�����pR��)!��^5�$�-rm�و�:�ڻ$�ک  h ��� � Ɂ� |ɤ��L �O���$mH�N x�XֽB $�����ю�� p�C ��0�s>  �ڬ�!�VD�yg ~��iNY /�� �P�V�l  �  ���u:� / $�jB�L?ѧP����?�  A��FJ/h��� E8�!��Ƣ���b� Ѝ�o��l��-�$��'|� ;�$ c?-� ԕѹ�������� ^|x� �s �^Kf[�;DE p���재 .P��3\��{" "https://log2.musical.ly/service/2/device_register/?ac=wifi&channel=googleplay&aid=1233&app_name=musical_ly&version_code=130103&version_name=13.1.3&device_platform=android&ab_version=13.1.3&ssmix=a&device_type=FIG-LX1&device_brand=HUAWEI&language=en&os_api=28&os_version=9&openudid=af4e67a27f007723&manifest_version_code=2019091803&resolution=1080*2032&dpi=480&update_version_code=2019091803&_rticket=1583430886018&app_type=normal&sys_region=GB&is_my_cn=0&pass-route=1&mcc_mnc=25702&pass-region=1&timezone_name=Europe%2FMinsk&carrier_region_v2=257&app_language=en&carrier_region=BY&ac2=wifi&uoo=0&timezone_offset=10800&build_number=13.1.3&locale=en&region=GB&ts=1583430885&tt_data=a"

Все непонятные символы — это зашифрованное тело до шифрования выглядит структурно примерно так:

{"magic_tag":"ss_app_log","_gen_time":"1584693446115","header":{"appkey":"57bfa27c67e58e7d920028d3","udid":"21583567128a06a","openudid":"9896990a3a194521","sdk_version":"2.5.5.8","package":"com.ss.android.ugc.aweme","channel":"googleplay","display_name":"\u6296\u97f3\u77ed\u89c6\u9891","app_version":"13.1.3","version_code":"130103","timezone":"3","access":"wifi","os":"android","os_version":"9","os_api":"28","device_model":"FIG-LX1","device_brand":"HUAWEI","device_manufacturer":"HUAWEI","language":"en","resolution":"1080*2032","display_density":"191","density_dpi":"mdpi","mc":"54:c5:72:e0:98:50","carrier":"Life:) GSM","mcc_mnc":"25002","clientudid":"dfaa8a86-50fe-d589-e180-2c5b7eb7d594","install_id":"","device_id":"","sig_hash":"aea615ab910015038f73c47e45d21466","aid":"1233","rom":"G361HXXU0AQK10","release_build":"c4e7178_20190401","update_version_code":"2019091803","manifest_version_code":"2019091803","cpu_abi":"armeabi-v7a","build_serial":"2311671a","serial_number":"2311671a","sim_serial_number":[{"sim_serial_number":"81563787888753294055"}],"not_request_sender":"0","rom_version":"LMY48BA.G361HXXU0AQK10","region":"BY","tz_name":"Europe%2FMinsk","tz_offset":"10800","sim_region":"BY","google_aid":"5aaac47f-2f87-47ef-9d71-cc0e0eae065b","app_language":"en"}}

Задачи:

  1. Нужно знать четкую структуру тела до шифрования, а также знать какие значения должны быть и какие параметры возможно опционально (в коде приложения это обычно видно)
    Все это дело для 13.1.3 версии тиктока