工具
- jadx
- frida-15.1.1
- charles
- postman
- 包名(Y29tLmRoZ2F0ZS5idXllcm1vYg==)
抓包
使用postman测试发现以上参数只需要sign和deviceId两个参数;
看sign参数位数猜测可能是MD5,deviceId的形式类似于uuid4(此处只是猜测)
解包后搜索相关参数
进去看看是不是我们需要的参数
继续追进去看看
hook一下这个方法试试
那么sign参数显而易见
最后我们追进去看一下deviceId参数
到这里已经显而易见了。。。
附件:
参数解密:
import hashlib
import uuiddef get_text(info):k_list = list(info.keys())k_list.sort()m_str = ''for key in k_list:if isinstance(key, str):m_str = m_str + keyelse:m_str = m_str + str(key)if info[key] is None:m_str = m_str + ""elif isinstance(info[key], bool):if info[key] is True:m_str = m_str + 'true'else:m_str = m_str + 'false'else:m_str = m_str + str(info[key])str_md5 = hashlib.md5((m_str + 'AA5D9E81').encode(encoding='utf-8')).hexdigest()return str_md5.upper()if __name__ == '__main__':deviceId = uuid.uuid4()dic = {'shipToCountry': 'ANY','dspm': 'appen.sp.list','sinfo': '1','channel': 'dhgate','pageSize': '20','scht': 'ss1','language': 'en','deviceId': str(deviceId),'version': '5.6.8','d1_session': '','pageNum': '1','filter': '1','adid': '','pageType': 'search','dispCurrency': 'USD','client': 'android','wholesalePrice': '0','key': 'ford'}print(deviceId)print(get_text(dic))
输出: