首页
社区
课程
招聘
[原创] 安卓协议逆向 mtxx 分析与实现
发表于: 2023-1-10 14:36 10096

[原创] 安卓协议逆向 mtxx 分析与实现

2023-1-10 14:36
10096

app 版本:9.5.3.0
设备:K40 刷 piexl 11 rom
抓包工具:Charles
反汇编工具:JEB、JADX
inject:frida

GET /v2/search/feeds.json?client_timestamp=1671885699194&client_timezone=GMT%2B8&is_gdpr=0&client_channel_id=taobao&client_model=M2012K11AC&local_abtest=%5B%5D&cpuModel=qcom-SM8250&client_brand=Redmi&resolution=1080*2278&client_id=1089867602&sigVersion=1.3&runtimeMaxMemory=512&ad_sdk_version=5.10.20&feed_sort=normal&is_test=0&keyword=%E7%BE%8E%E7%94%B2&client_network=wifi&ram=7611&cpuVendor=%E9%AB%98%E9%80%9A&count=12&version=9.5.3.0&search_type=0&is_basic=0&country_code=CN&app_hot_start_times=1&attachFlag=409&client_session=36454fcbf949454cd2afa56c6d22a166&is64Bit=0&client_is_root=1&client_operator=&gid=2863613419&is_close_global_ad=0&client_language=zh_CN&cn_switch_on=0&sig=2c49ce7212100885736aa5e79ac70dd8&sigTime=1671885699194&client_os=11&lang=1&is_privacy=0&user_agent=mtxx-9530-Xiaomi-M2012K11AC-android-11-285d5ace&is_ohos=0&sigEnv=0&appAreaType=1&personality_not_recommend=0&community_version=2.0.0&android_sdk_int=30&ad_personality_not_recommend=0&is_device_support_64=1 HTTP/1.1
ab_info: {"ab_codes":[{"code":15619,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":19219,"count":0,"experiment_type":3,"status":1,"lr":0},{"code":16412,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":16928,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":19495,"count":0,"experiment_type":3,"status":1,"lr":0},{"code":19533,"count":4,"experiment_type":3,"status":1,"lr":1671885085070},{"code":10109,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":16805,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":12454,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":19133,"count":0,"experiment_type":3,"status":1,"lr":0},{"code":12230,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":17615,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":17623,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":13797,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":12009,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":13301,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":14838,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":15353,"count":0,"experiment_type":3,"status":5,"lr":0},{"code":14844,"count":0,"experiment_type":3,"status":5,"lr":0}],"last_access":1671885695251,"timeout":2047483000,"version":"5.6.1"}
User-Agent: mtxx-9530-Xiaomi-M2012K11AC-android-11-285d5ace
Host: api.xiuxiu.meitu.com
Connection: Keep-Alive
Accept-Encoding: gzip
traceIdHigh: 2863613419
traceIdLow: 1753099219224232333

一个个分析下来仅 sig、sigTime、client_session、client_timestamp 几个参数是会变动的,其余都应该是固定的

拖入 jadx 先搜索 client_session 得到两个结果,非常好确认,定位到 com.meitu.meitupic.framework.util.g 类中:

大致判断 client_session 应该就是个时间戳,跟进 k 方法中看看:

上 frida hook 直接看结果:

输入烧烤 hook 结果:

args1: 1671893086682
result: 8479b44135cab6f54bf0c0a0f0274daa

对照其抓包结果 client_session 值校验无误,其中 arg1 就是 client_timestamp 值,一下解决两。

继续分析 sig。
通过上面分析的 com.meitu.meitupic.framework.util.g 查找 sig 得到了相关引用位置,最终定位到 com.meitu.secret.SigEntity 下的 generatorSig 方法:

查看其参数:

参数一:String str, 参数二: String[] strArr, 参数三: String str2, 参数四: Object obj

看其上层调用:

SigEntity generatorSig = SigEntity.generatorSig(A2, (String[]) arrayList.toArray(new String[arrayList.size()]), com.meitu.meitupic.framework.common.c.a, BaseApplication.getApplication());

参数一、二为形参先放着,跟进参数三可得:

可见参数三是一个固定值,再跟进看参数四:

一个对象,返回的是 obj ,Java 中可通过对象的实例获取到对象的属性值,猜测其中藏有 sig 及 sigTime。

遇事不决,frida 最是直接:

输入烧烤 hook 结果:

arg1: search/feeds.json
arg2: 1671898697836,,GMT+8,0,2863613419,taobao,M2012K11AC,[],qcom-SM8250,0,Redmi,1080*2278,zh_CN,1089867602,0,512,5.10.20,11,normal,0,烧烤,1,0,wifi,mtxx-9530-Xiaomi-M2012K11AC-android-11-285d5ace,7611,高通,12,0,0,1,0,9.5.3.0,0,0,2.0.0,CN,1,409,30,0,9b2dc941affe929a86ca97227211d55b,0,1,1
arg3: 6184556633574670337
arg4: com.meitu.remote.hotfix.app.RemoteHotfixApplication@2d01c1
result_sig: 4e3a4cecec59b439a636ba7c01154225
result_sigTime: 1671898697866

对照其抓包结果 sig、sigTime值校验无误,其中参数一为固定值:search/feeds.json,参数二为查找的内容加一些手机相关字段。

参数都解决了,剩下就是批量抓包了,构建 frida rpc 脚本:

上 py 调用 rpc 脚本:

结果如下,完美实现:

ret_dict: ff5a6e7b2fbfc04d8bccde169c4f6436
client_session: ff5a6e7b2fbfc04d8bccde169c4f6436
[] sig: d8e113b90ef5b440f8de162f4db41470
[
] sigTime: d8e113b90ef5b440f8de162f4db41470
d8e113b90ef5b440f8de162f4db41470
{"degrade":0,"ret":0,"error_code":0,"error":"Ok","msg":"成功","data":{"next_cursor":"j4cjTo","items":[{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6693892116056133887||1||453||29||13||125||21||-1||-1||6693892115863195733||1671897700491||0||-1||-1||-1||-1||-1||19||7||102||1555939137||0","color_number":"#715A54","feed_id":6693892116056133887,"user":{"uid":1555939137,"screen_name":"夏小沫wendy","avatar_url":"http://maavatar1.meitudata.com/603a7042e9f8a6335.jpg","friendship_status":0,"identity_type":2,"identity_status":1},"medias":[{"media_id":6693892116169380187,"type":2,"url":"https://xiuxiu.video.xiuxiustatic.com/DVvzmNzujjde8L8vaZkfmDXvaZlo3_H264_1_219e9da90156b2.mp4?k=022a1103e61d528cccad388f53ce4bea&t=63a7cb24","duration":15.628000259399414,"dispatch_video":"{\"sourceUrl\":\"http://xiuxiu.video.xiuxiustatic.com/DVvzmNzujjde8L8vaZkfmDXvaZlo3.mp4?k=63d07a91fd880947db833f14dff6133c&t=63a7cb24\",\"paramUrl\":\"http://xx1.video.xiuxiustatic.com/DVvzmNzujjde8L8vaZkfmDXvaZlo3.mp4\",\"264\":{\"720\":\"http://xiuxiu.video.xiuxiustatic.com/DVvzmNzujjde8L8vaZkfmDXvaZlo3_H264_1_219e9da90156b2.mp4?k=022a1103e61d528cccad388f53ce4bea&t=63a7cb24\"},\"mid\":6857394548345161264}","template":{"id":6693892115863195733,"user":{"uid":1555939137,"type":0,"screen_name":"夏小沫wendy","avatar_url":"http://maavatar1.meitudata.com/603a7042e9f8a6335.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":7,"bt_text":"使用配方","origin_pic":""}],"type":0,"is_liked":0,"is_favorited":0,"like_count":453,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/QzPRdQRfGYxJDg99xj3Tdz9n65zZV.jpg","commend":{"width":1080,"height":1080,"dx":0,"dy":420,"ori_width":1080,"ori_height":1920},"commend_cover":{"width":1080,"height":1080,"dx":0,"dy":407,"ori_width":1080,"ori_height":1920},"comment":1,"width":1080,"height":1920,"caption":"有烧烤串串的夏天才完整\uD83C\uDF62","music":{"music_id":250103423},"tag_text":"使用量:1079","comment_count":29,"pic_comment_count":13,"stream_type":3,"from":"jdFz","template_use_count":1079,"clip_count":3,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6800673325448190623||0||353||131||111||4546||4||-1||-1||6800672948862612910||1671897700491||0||-1||-1||-1||-1||-1||19||9||0||1702418669||0","color_number":"#8A622F","feed_id":6800673325448190623,"user":{"uid":1702418669,"screen_name":"是云纤呀","avatar_url":"http://maavatar1.meitudata.com/6321d8b9399fc8513.jpg","friendship_status":0,"identity_type":2,"identity_status":1},"medias":[{"media_id":6800673325745986380,"type":1,"template":{"id":6800672948862612910,"user":{"uid":1702418669,"type":0,"screen_name":"是云纤呀","avatar_url":"http://maavatar1.meitudata.com/6321d8b9399fc8513.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":9,"bt_text":"使用配方","cover_color":"#B39779FF","gif":"http://xiuxiu.video.xiuxiustatic.com/68202471094904701691626073624.mp4?k=2360df466721770fab454ab510e6abc2&t=63a7cb24","origin_pic":"http://xximg1.meitudata.com/llp4jnwunb91o4LeovNCRxlJDmn3g.jpg"}],"type":0,"is_liked":0,"is_favorited":0,"like_count":353,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/nwpQJKGTN0Y4qQp0XJ36H2je5DlGdo.jpg","commend":{"width":1030,"height":1030,"dx":5,"dy":0,"ori_width":1080,"ori_height":1030},"commend_cover":{"width":1030,"height":1030,"dx":5,"dy":0,"ori_width":1080,"ori_height":1030},"comment":1,"width":1080,"height":1030,"caption":"烧烤局|暖色调|美味时刻\n(图片来自网络)\n✨ 文案:希望我可以成为你生活的一部分\n✨ 一件导入图片即可\n@MT小助手 @MT情报局 @美图秀秀","tag_text":"使用量:15.1万","comment_count":131,"pic_comment_count":111,"stream_type":1,"from":"BNcD","template_use_count":150770,"clip_count":0,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6734816817566209843||0||668||36||32||3874||6||-1||-1||6734816543292288045||1671897700491||0||-1||-1||-1||-1||-1||19||9||7817||1470392151||0","color_number":"#795729","feed_id":6734816817566209843,"user":{"uid":1470392151,"screen_name":"April清","avatar_url":"http://maavatar1.meitudata.com/5af6ec6600ecd6608.jpg","friendship_status":0,"identity_type":0,"identity_status":0},"medias":[{"media_id":6734816817674481546,"type":1,"template":{"id":6734816543292288045,"user":{"uid":1470392151,"type":0,"screen_name":"April清","avatar_url":"http://maavatar1.meitudata.com/5af6ec6600ecd6608.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":9,"bt_text":"使用配方","cover_color":"#B39979FF","origin_pic":""}],"type":0,"is_liked":0,"is_favorited":0,"like_count":668,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/bZKa8nzSzodjp33wLdLTaRwVgLz4Y.jpg","commend":{"width":1280,"height":1280,"dx":0,"dy":0,"ori_width":1280,"ori_height":1280},"commend_cover":{"width":1280,"height":1280,"dx":0,"dy":0,"ori_width":1280,"ori_height":1280},"comment":1,"width":1280,"height":1280,"caption":"\uD83E\uDD0E深夜食堂 | 烧烤撸串 | 美食滤镜\uD83E\uDD0E","tag_text":"使用量:5.4万","comment_count":36,"pic_comment_count":32,"stream_type":1,"from":"Jnfz","template_use_count":53973,"clip_count":0,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6736200990377143287||1||743||13||0||150||0||-1||-1||6736200990221953863||1671897700491||0||-1||-1||-1||-1||-1||19||7||1||1051671670||0","color_number":"#4A6180","feed_id":6736200990377143287,"user":{"uid":1051671670,"screen_name":"寻味雅安(队长)","avatar_url":"http://maavatar1.meitudata.com/5f413c1419a4f1654.jpg","friendship_status":0,"identity_type":0,"identity_status":0},"medias":[{"media_id":6736200990482000990,"type":2,"url":"https://xiuxiu.video.xiuxiustatic.com/15qD6e6SaQwYBkRe05jsPa9DB0p4Z_H264_1_4576478cf7d39e.mp4?k=536c38a1adb2908d278ea446dce9042d&t=63a7cb24","duration":18.183332443237305,"dispatch_video":"{\"sourceUrl\":\"http://xiuxiu.video.xiuxiustatic.com/15qD6e6SaQwYBkRe05jsPa9DB0p4Z.mp4?k=b89e66ad20e6836c3c2d27a5ea08dc8a&t=63a7cb24\",\"paramUrl\":\"http://xx1.video.xiuxiustatic.com/15qD6e6SaQwYBkRe05jsPa9DB0p4Z.mp4\",\"264\":{\"720\":\"http://xiuxiu.video.xiuxiustatic.com/15qD6e6SaQwYBkRe05jsPa9DB0p4Z_H264_1_4576478cf7d39e.mp4?k=536c38a1adb2908d278ea446dce9042d&t=63a7cb24\"},\"mid\":6857567044931451349}","template":{"id":6736200990221953863,"user":{"uid":1051671670,"type":0,"screen_name":"寻味雅安(队长)","avatar_url":"http://maavatar1.meitudata.com/5f413c1419a4f1654.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":7,"bt_text":"使用配方","origin_pic":""}],"type":0,"is_liked":0,"is_favorited":0,"like_count":743,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/PRKzjdjH4qz9oDeD0XWu1bJp2949N.jpg","commend":{"width":1080,"height":1080,"dx":0,"dy":420,"ori_width":1080,"ori_height":1920},"commend_cover":{"width":1080,"height":1080,"dx":0,"dy":124,"ori_width":1080,"ori_height":1920},"comment":1,"width":1080,"height":1920,"caption":"不能错过的石棉烧烤,余生最想和谁去一次?","music":{"music_id":6736200990226148181},"tag_text":"使用量:17","comment_count":13,"pic_comment_count":0,"stream_type":3,"from":"WBi5","template_use_count":17,"clip_count":1,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6681055958636976227||1||597||25||0||121||10||-1||-1||6681055958431455187||1671897700491||0||-1||-1||-1||-1||-1||19||7||8||1537953244||0","color_number":"#A28623","feed_id":6681055958636976227,"user":{"uid":1537953244,"screen_name":"\uD83D\uDC97菲’Texas","avatar_url":"https://xximg1.meitudata.com/Cover6734846030955959165.jpg","friendship_status":0,"identity_type":0,"identity_status":0},"medias":[{"media_id":6681055958775388362,"type":2,"url":"https://xiuxiu.video.xiuxiustatic.com/a433p3yCeEJoQ9pya1JCWvDY5zXk6_H264_1_16c097c5f37beb.mp4?k=ee460339acd989d99a6859d4e1e7c4b1&t=63a7cb24","duration":93.53,"dispatch_video":"{\"sourceUrl\":\"http://xiuxiu.video.xiuxiustatic.com/a433p3yCeEJoQ9pya1JCWvDY5zXk6.mp4?k=ce602178a2b693716ad616783f925a97&t=63a7cb24\",\"paramUrl\":\"http://xx1.video.xiuxiustatic.com/a433p3yCeEJoQ9pya1JCWvDY5zXk6.mp4\",\"264\":{\"720\":\"http://xiuxiu.video.xiuxiustatic.com/a433p3yCeEJoQ9pya1JCWvDY5zXk6_H264_1_16c097c5f37beb.mp4?k=ee460339acd989d99a6859d4e1e7c4b1&t=63a7cb24\"},\"mid\":6858691739818947828}","template":{"id":6681055958431455187,"user":{"uid":1537953244,"type":0,"screen_name":"\uD83D\uDC97菲’Texas","avatar_url":"https://xximg1.meitudata.com/Cover6734846030955959165.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":7,"bt_text":"使用配方","origin_pic":""}],"type":0,"is_liked":0,"is_favorited":0,"like_count":597,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/8pDDZD9cXO2y9XbxvLaNsYd3GyJ1Ee.jpg","commend":{"width":1080,"height":1080,"dx":0,"dy":420,"ori_width":1080,"ori_height":1920},"comment":1,"width":1080,"height":1920,"caption":"香脆美味\uD83E\uDD91秘制酱香烤鱿鱼\uD83E\uDD42胜于烧烤店美味","music":{"music_id":250103276},"tag_text":"使用量:43","comment_count":25,"pic_comment_count":0,"stream_type":3,"from":"LYuX","template_use_count":43,"clip_count":12,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6699966838942483363||1||461||72||21||143||9||-1||-1||6699966838791488251||1671897700491||0||-1||-1||-1||-1||-1||19||7||469||1081313892||0","color_number":"#BBAB78","feed_id":6699966838942483363,"user":{"uid":1081313892,"screen_name":"70后缪姐","avatar_url":"http://maavatar1.meitudata.com/60e68fedcd6126786.jpg","friendship_status":0,"identity_type":2,"identity_status":0},"medias":[{"media_id":6699966839064118362,"type":2,"url":"https://xiuxiu.video.xiuxiustatic.com/Nx4PjOLUknaVKV1KqELtmZmq6DxlQ_H264_1_26c537abb8a53f.mp4?k=ec3c4850b3fa60d10efa6f42d3cefa77&t=63a7cb24","duration":18.716,"dispatch_video":"{\"sourceUrl\":\"http://xiuxiu.video.xiuxiustatic.com/Nx4PjOLUknaVKV1KqELtmZmq6DxlQ.mp4?k=51a064bafc27bb36bb6220adf5ee8f78&t=63a7cb24\",\"paramUrl\":\"http://xx1.video.xiuxiustatic.com/Nx4PjOLUknaVKV1KqELtmZmq6DxlQ.mp4\",\"264\":{\"720\":\"http://xiuxiu.video.xiuxiustatic.com/Nx4PjOLUknaVKV1KqELtmZmq6DxlQ_H264_1_26c537abb8a53f.mp4?k=ec3c4850b3fa60d10efa6f42d3cefa77&t=63a7cb24\"},\"mid\":6859061345255441389}","template":{"id":6699966838791488251,"user":{"uid":1081313892,"type":0,"screen_name":"70后缪姐","avatar_url":"http://maavatar1.meitudata.com/60e68fedcd6126786.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":7,"bt_text":"使用配方","origin_pic":""}],"type":0,"is_liked":0,"is_favorited":0,"like_count":461,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/l6zn3vJiJZgDNQyE639SRxR9E4GRz.jpg","commend":{"width":1080,"height":1080,"dx":0,"dy":420,"ori_width":1080,"ori_height":1920},"commend_cover":{"width":1080,"height":1080,"dx":0,"dy":166,"ori_width":1080,"ori_height":1920},"comment":1,"width":1080,"height":1920,"caption":"美食分享丨美食模板","music":{"music_id":6699966838938289058},"tag_text":"使用量:641","comment_count":72,"pic_comment_count":21,"stream_type":3,"from":"nNhJ","template_use_count":641,"clip_count":1,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6786216361695668648||0||257||20||16||2581||8||-1||-1||6786216113573226915||1671897700491||0||-1||-1||-1||-1||-1||19||9||0||1577229028||0","color_number":"#88602D","feed_id":6786216361695668648,"user":{"uid":1577229028,"screen_name":"TangCherish","avatar_url":"http://maavatar1.meitudata.com/606f27f1d96b97707.jpg","friendship_status":0,"identity_type":0,"identity_status":0},"medias":[{"media_id":6786216361955715671,"type":1,"template":{"id":6786216113573226915,"user":{"uid":1577229028,"type":0,"screen_name":"TangCherish","avatar_url":"http://maavatar1.meitudata.com/606f27f1d96b97707.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":9,"bt_text":"使用配方","cover_color":"#B39B79FF","gif":"http://xiuxiu.video.xiuxiustatic.com/67862163621067107271617960062.mp4?k=d4ebbb4dbd6a75b06d4a8e3cbaf773fc&t=63a7cb24","origin_pic":"http://xximg1.meitudata.com/zE2G2JWh1Pgg2ejm0lNfdY9oOya3z.jpg"}],"type":0,"is_liked":0,"is_favorited":0,"like_count":257,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/yE2Z2BJh50G6ba8VjNKtdwkNx1WZE.jpg","commend":{"width":1308,"height":1308,"dx":0,"dy":170,"ori_width":1308,"ori_height":1648},"commend_cover":{"width":1308,"height":1308,"dx":0,"dy":170,"ori_width":1308,"ori_height":1648},"comment":1,"width":1308,"height":1648,"caption":"没有啤酒饮料的烧烤~\n周末愉快\n图片来自微博,侵删","tag_text":"使用量:4.9万","comment_count":20,"pic_comment_count":16,"stream_type":1,"from":"6QHo","template_use_count":48730,"clip_count":0,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6973438690031860308||1||447||15||0||100||0||-1||-1||6973438689914419765||1671897700491||0||-1||-1||-1||-1||-1||19||7||0||1877722754||0","color_number":"#BE8D53","feed_id":6973438690031860308,"user":{"uid":1877722754,"screen_name":"TenieYoo","avatar_url":"http://maavatar1.meitudata.com/62810d327e7f89415.jpg","friendship_status":0,"identity_type":0,"identity_status":0},"medias":[{"media_id":6973438690535176995,"type":2,"url":"http://xiuxiu.video.xiuxiustatic.com/WR1jbabtJKbkz4RBVOfGvPEYPeGy_H264_1_22e46572e972e0.mp4?k=be7479f6e813642a12c3ef7daac45b64&t=63a7cb24","duration":40.233333587646484,"dispatch_video":"{\"sourceUrl\":\"http://xiuxiu.video.xiuxiustatic.com/WR1jbabtJKbkz4RBVOfGvPEYPeGy.mp4?k=5772b5f352066db78d2d97dcccd20e28&t=63a7cb24\",\"paramUrl\":\"http://xx1.video.xiuxiustatic.com/WR1jbabtJKbkz4RBVOfGvPEYPeGy.mp4\",\"264\":{\"720\":\"http://xiuxiu.video.xiuxiustatic.com/WR1jbabtJKbkz4RBVOfGvPEYPeGy_H264_1_22e46572e972e0.mp4?k=be7479f6e813642a12c3ef7daac45b64&t=63a7cb24\"},\"265\":{\"720\":\"http://xiuxiu.video.xiuxiustatic.com/WR1jbabtJKbkz4RBVOfGvPEYPeGy_H265_wz_22e46b5bb36e50.mp4?k=7138d3cf83359217bba942ee09c37721&t=63a7cb24\"},\"mid\":6973438687485916955}","template":{"id":6973438689914419765,"user":{"uid":1877722754,"type":0,"screen_name":"TenieYoo","avatar_url":"http://maavatar1.meitudata.com/62810d327e7f89415.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":7,"bt_text":"使用配方","origin_pic":""}],"type":0,"is_liked":0,"is_favorited":0,"like_count":447,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/lGL16E6Iq5NdNaQBaYEgtRX5m656N4.jpg","commend":{"width":1080,"height":1080,"dx":0,"dy":0,"ori_width":1080,"ori_height":1440},"commend_cover":{"width":1080,"height":1080,"dx":0,"dy":0,"ori_width":1080,"ori_height":1440},"comment":1,"width":1080,"height":1440,"caption":"Mini Vlog|这是什么破店⁉️这么好吃❤️‍\uD83D\uDD25","tag_text":"使用量:19","comment_count":15,"pic_comment_count":0,"stream_type":3,"from":"K5SX","template_use_count":19,"clip_count":17,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6706854659074578749||1||2153||69||37||663||35||-1||-1||6706854659003275526||1671897700491||0||-1||-1||-1||-1||-1||19||7||340||63829469||0","color_number":"#9E8447","feed_id":6706854659074578749,"user":{"uid":63829469,"screen_name":"热爱生活的小虾虾","avatar_url":"http://maavatar1.meitudata.com/5e9fb54e830b8683.jpg","friendship_status":0,"identity_type":2,"identity_status":1},"medias":[{"media_id":6706854659242351043,"type":2,"url":"https://xiuxiu.video.xiuxiustatic.com/j5dgWWizXqLz26NpqEWCx2PERXLXO_H264_1_18e07224e44ac.mp4?k=bbdcabbc0e9a2823e5f0bf81eb055a6a&t=63a7cb24","duration":20.634000778198242,"dispatch_video":"{\"sourceUrl\":\"http://xiuxiu.video.xiuxiustatic.com/j5dgWWizXqLz26NpqEWCx2PERXLXO.mp4?k=0fcd303e22600576a5835721445fb6e4&t=63a7cb24\",\"paramUrl\":\"http://xx1.video.xiuxiustatic.com/j5dgWWizXqLz26NpqEWCx2PERXLXO.mp4\",\"264\":{\"720\":\"http://xiuxiu.video.xiuxiustatic.com/j5dgWWizXqLz26NpqEWCx2PERXLXO_H264_1_18e07224e44ac.mp4?k=bbdcabbc0e9a2823e5f0bf81eb055a6a&t=63a7cb24\"},\"mid\":6856918188199797819}","template":{"id":6706854659003275526,"user":{"uid":63829469,"type":0,"screen_name":"热爱生活的小虾虾","avatar_url":"http://maavatar1.meitudata.com/5e9fb54e830b8683.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":7,"bt_text":"使用配方","origin_pic":""}],"type":0,"is_liked":0,"is_favorited":0,"like_count":2153,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/nGOg66Flvn5l6qQ9ljf2jlEWLGyx.jpg","commend":{"width":1080,"height":1080,"dx":0,"dy":337,"ori_width":1080,"ori_height":1920},"commend_cover":{"width":1080,"height":1080,"dx":0,"dy":334,"ori_width":1080,"ori_height":1920},"comment":1,"width":1080,"height":1920,"caption":"不要吃外卖了!自己动手做","music":{"music_id":250104997},"tag_text":"使用量:3749","comment_count":69,"pic_comment_count":37,"stream_type":3,"from":"qjtL","template_use_count":3749,"clip_count":7,"has_pic_collection":0,"has_material":0},{"item_type":1,"corner_mark":"","scm":"60006.1.0.0$$$6756951631085727414||0||1605||5715||5569||44942||52||-1||-1||6756951413598483623||1671897700491||0||-1||-1||-1||-1||-1||19||9||131175||1075134424||0","color_number":"#7A3B29","feed_id":6756951631085727414,"user":{"uid":1075134424,"screen_name":"可颂\uD83E\uDD50","avatar_url":"http://maavatar1.meitudata.com/60695d40f2f9a1541.jpg","friendship_status":0,"identity_type":2,"identity_status":0},"medias":[{"media_id":6756951631240128739,"type":1,"template":{"id":6756951413598483623,"user":{"uid":1075134424,"type":0,"screen_name":"可颂\uD83E\uDD50","avatar_url":"http://maavatar1.meitudata.com/60695d40f2f9a1541.jpg","country_id":0,"province_id":0,"city_id":0,"is_invited":0,"mt_num":0},"labels":[],"scheme":"","name":""},"bt_type":9,"bt_text":"使用配方","cover_color":"#B38F79FF","gif":"http://xiuxiu.video.xiuxiustatic.com/68202486135888485701626073983.mp4?k=43fbb57a62dfa83aa010a5f08ab4de29&t=63a7cb24","origin_pic":"http://xximg1.meitudata.com/jqP2ed1hzE5KaejXZz21Sx2pvKw3JJ.jpg"}],"type":0,"is_liked":0,"is_favorited":0,"like_count":1605,"text_link_params":[],"code":60006,"thumb":"https://xximg1.meitudata.com/DP2kaLYtmKXa5KoK5zmBcm6OxZPYGk.jpg","commend":{"width":1440,"height":1440,"dx":0,"dy":0,"ori_width":1440,"ori_height":1440},"commend_cover":{"width":1440,"height":1440,"dx":0,"dy":0,"ori_width":1440,"ori_height":1440},"comment":1,"width":1440,"height":1440,"caption":"美食综艺晒照,烧烤大作战\n闪闪发光的美味啊!","tag_text":"使用量:540.2万","comment_count":5715,"pic_comment_count":5569,"stream_type":1,"from":"84Ia","template_use

 
String k2 = k(currentTimeMillis);
if (!TextUtils.isEmpty(k2)) {
    concurrentHashMap.put("client_session", k2);
}
String k2 = k(currentTimeMillis);
if (!TextUtils.isEmpty(k2)) {
    concurrentHashMap.put("client_session", k2);
}
private static String k(long j2) {
    com.meitu.library.appcia.trace.b.i(184462);
    if (!TextUtils.isEmpty(D) && D.length() >= 10) {
        int i2 = (int) (j2 % 10);
        StringBuilder sb = new StringBuilder(D.substring(0, 10));
        sb.replace(i2, i2 + 1, String.valueOf(i2));
        String a2 = com.meitu.library.util.a.a(sb.toString());
        com.meitu.library.appcia.trace.b.b(184462);
        return a2;
    }
    com.meitu.library.appcia.trace.b.b(184462);
    return "";
}
private static String k(long j2) {
    com.meitu.library.appcia.trace.b.i(184462);
    if (!TextUtils.isEmpty(D) && D.length() >= 10) {
        int i2 = (int) (j2 % 10);
        StringBuilder sb = new StringBuilder(D.substring(0, 10));
        sb.replace(i2, i2 + 1, String.valueOf(i2));
        String a2 = com.meitu.library.util.a.a(sb.toString());
        com.meitu.library.appcia.trace.b.b(184462);
        return a2;
    }
    com.meitu.library.appcia.trace.b.b(184462);
    return "";
}
function main() {
    Java.perform(function () {
        var client_session = Java.use("com.meitu.meitupic.framework.util.g");
        client_session.k.implementation = function (arg1) {
            console.log("++++++++++++++++++++++++++++++++++++++++")
            console.log("args1: " + arg1)
            var result = this.k(arg1);
            console.log("result: " + result)
            console.log("++++++++++++++++++++++++++++++++++++++++")
            return result;
        }
    });
}
setImmediate(main)
function main() {
    Java.perform(function () {
        var client_session = Java.use("com.meitu.meitupic.framework.util.g");
        client_session.k.implementation = function (arg1) {
            console.log("++++++++++++++++++++++++++++++++++++++++")
            console.log("args1: " + arg1)
            var result = this.k(arg1);
            console.log("result: " + result)
            console.log("++++++++++++++++++++++++++++++++++++++++")
            return result;
        }
    });
}
setImmediate(main)
 
 
public static SigEntity generatorSig(@NonNull String str, @NonNull String[] strArr, @NonNull String str2, @NonNull Object obj) {
 b.i(101093);
 if (!(obj instanceof Context)) {
  AndroidRuntimeException androidRuntimeException = new AndroidRuntimeException("req ctx");
  b.b(101093);
  throw androidRuntimeException;
 }
 byte[][] bArr = new byte[strArr.length];
 for (int i2 = 0; i2 < strArr.length; i2++) {
  if (strArr[i2] == null) {
   strArr[i2] = "";
  }
  bArr[i2] = strArr[i2].getBytes();
 }
 SigEntity buildSigEntity = buildSigEntity(ElfReader.b(str, bArr, str2, (Context) obj));
 b.b(101093);
 return buildSigEntity;
}
public static SigEntity generatorSig(@NonNull String str, @NonNull String[] strArr, @NonNull String str2, @NonNull Object obj) {
 b.i(101093);
 if (!(obj instanceof Context)) {
  AndroidRuntimeException androidRuntimeException = new AndroidRuntimeException("req ctx");
  b.b(101093);
  throw androidRuntimeException;
 }
 byte[][] bArr = new byte[strArr.length];
 for (int i2 = 0; i2 < strArr.length; i2++) {
  if (strArr[i2] == null) {
   strArr[i2] = "";
  }
  bArr[i2] = strArr[i2].getBytes();
 }
 SigEntity buildSigEntity = buildSigEntity(ElfReader.b(str, bArr, str2, (Context) obj));
 b.b(101093);
 return buildSigEntity;
}
 
 
public class c {
    public static String a;
    static {
        com.meitu.library.appcia.trace.b.i(183635);
        a = "6184556633574670337";
        com.meitu.library.appcia.trace.b.b(183635);
    }
}
public class c {
    public static String a;
    static {
        com.meitu.library.appcia.trace.b.i(183635);
        a = "6184556633574670337";
        com.meitu.library.appcia.trace.b.b(183635);
    }
}
public static Application getApplication() {
    b.i(82595);
    Application application = mBaseApplication;
    b.b(82595);
    return application;
}
public static Application getApplication() {
    b.i(82595);
    Application application = mBaseApplication;
    b.b(82595);
    return application;
}
 
function main() {
    Java.perform(function () {
        var SigEntity = Java.use("com.meitu.secret.SigEntity");
        SigEntity.generatorSig.overload('java.lang.String', '[Ljava.lang.String;', 'java.lang.String', 'java.lang.Object').implementation =
        function (arg1, arg2, arg3, arg4) {
            console.log("++++++++++++++++++++++++++++++++++++++++")
            console.log("arg1: ", arg1)
            console.log("arg2: ", arg2)  
            console.log("arg3: ", arg3)
            console.log("arg4: ", arg4)
            var result = this.generatorSig(arg1, arg2, arg3, arg4);
            console.log("result_sig: ", result.sig.value);
            console.log("result_sigTime: ", result.sigTime.value);
            console.log("++++++++++++++++++++++++++++++++++++++++")
            return result;
        }
    });
}
setImmediate(main)
function main() {
    Java.perform(function () {
        var SigEntity = Java.use("com.meitu.secret.SigEntity");
        SigEntity.generatorSig.overload('java.lang.String', '[Ljava.lang.String;', 'java.lang.String', 'java.lang.Object').implementation =
        function (arg1, arg2, arg3, arg4) {
            console.log("++++++++++++++++++++++++++++++++++++++++")
            console.log("arg1: ", arg1)
            console.log("arg2: ", arg2)  
            console.log("arg3: ", arg3)
            console.log("arg4: ", arg4)
            var result = this.generatorSig(arg1, arg2, arg3, arg4);
            console.log("result_sig: ", result.sig.value);
            console.log("result_sigTime: ", result.sigTime.value);
            console.log("++++++++++++++++++++++++++++++++++++++++")
            return result;
        }
    });
}
setImmediate(main)
 
rpc.exports = {
    "sig": function (params) {
        var ret_dict = {};
        Java.perform(function () {
            var SigEntity = Java.use("com.meitu.secret.SigEntity");
            var arg1 = "search/feeds.json";
            var arg2 = params
            var arg3 = "6184556633574670337";
            var BaseApplication = Java.use('com.meitu.library.application.BaseApplication');
            var arg4 = BaseApplication.getApplication();
            var result = SigEntity.generatorSig(arg1, arg2, arg3, arg4);
            ret_dict["sig"] = result.sig.value;
            ret_dict["sigTime"] = result.sigTime.value;
            console.log("[*] sig:", result.sig.value);
            console.log("[*] sigTime:", result.sig.value);
        });
        return ret_dict;
    },
    "cnt": function (timestamp) {
        var ret_dict = null;
        Java.perform(function () {
            var client_session = Java.use("com.meitu.meitupic.framework.util.g");
            ret_dict = client_session.k(timestamp);
            console.log("ret_dict: ", ret_dict);
        });
        return ret_dict;
    }
}
rpc.exports = {
    "sig": function (params) {
        var ret_dict = {};
        Java.perform(function () {
            var SigEntity = Java.use("com.meitu.secret.SigEntity");
            var arg1 = "search/feeds.json";

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2023-1-11 11:14 被行简编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (1)
游客
登录 | 注册 方可回帖
返回
//