买车报价APP sign分析

admin 2023年1月12日02:19:29移动安全评论5 views1814字阅读6分2秒阅读模式

买车报价APP sign分析

本文为看雪论坛优秀文章

看雪论坛作者ID:那年没下雪


1、charles抓包图

买车报价APP sign分析

很明显这里面要分析的就是这个p_sign,那么直接把APK扔jadx看看,果然没那么简单加壳了还是某数字企业壳,这下难度增高了、这里省略脱壳的步骤。数字企业壳懂得都懂不可能全部脱下来的只能用哪些类就脱哪些了,略微麻烦点。


2、寻找sign如何生成的

这里直接通过p_sign是很难搜索到对应代码块的,这里大概尝试了N种方法都没有找到有价值的信息。想着通过url的地址去找对应的发请求的位置是不是可以,于是通过搜索url路径找到了一个类。


买车报价APP sign分析

买车报价APP sign分析


通过Hook AppUrlConstant类的getAPPDomain方法找到、然后打印堆栈信息找到跟这个方法相关的一些类,截图如下:


买车报价APP sign分析


那么接下来就从图上这几个类分析了,最终定位在BaseRequest这个类,在这个类里找到了我们需要分析的p_sign,下面的事情就简单了看看它是怎么生成的了。


买车报价APP sign分析

买车报价APP sign分析


这是具体的加密方法,没啥难度了。


frida  hook下入参。

买车报价APP sign分析

D291A30K cityid 430100 kw 宝马X5 lat28.233212lon112.958713 p_appid price.android p_appversion7.4.5 p_chanel tecentmarket p_deviceid 0ac783fa_2b73_4185_871c_84c380da38d7 p_osversion 10 p_timestamp 1649402430107 type 0 D291A30K


基本上一目了然就是把appKey和请求参数加固定参数拼接起来做MD5运算,然后在对md5结果做一些处理。


frida代码也贴上:

        Java.perform(function(){            let AppUrlConstant = Java.use("com.cubic.choosecar.data.AppUrlConstant");            AppUrlConstant.getAPPDomain.implementation = function(){                console.log('getAPPDomain is called');                let ret = this.getAPPDomain();                console.log('getAPPDomain ret value is ' + ret);                printStack();                return ret;            };            let EncryptionHelper = Java.use("com.autohome.baojia.baojialib.tools.EncryptionHelper");            EncryptionHelper.md5s.overload('java.lang.String').implementation = function(str){                console.log('md5s is called str ',str);                let ret = this.md5s(str);                console.log('md5s ret value is ' + ret);                return ret;            };                 })}function printStack() {    Java.perform(function () {       console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));    });}function print(maps){    var JSONObject = Java.use("org.json.JSONObject")    var result = JSONObject.$new(maps)    console.log(result.toString())}setImmediate(main)




买车报价APP sign分析


看雪ID:那年没下雪

https://bbs.kanxue.com/user-home-884888.htm

*本文由看雪论坛 那年没下雪 原创,转载请注明来自看雪社区

买车报价APP sign分析

# 往期推荐

1.CVE-2022-21882提权漏洞学习笔记

2.wibu证书 - 初探

3.win10 1909逆向之APIC中断和实验

4.EMET下EAF机制分析以及模拟实现

5.sql注入学习分享

6.V8 Array.prototype.concat函数出现过的issues和他们的POC们


买车报价APP sign分析


买车报价APP sign分析

球分享

买车报价APP sign分析

球点赞

买车报价APP sign分析

球在看


买车报价APP sign分析

点击“阅读原文”,了解更多!

原文始发于微信公众号(看雪学苑):买车报价APP sign分析

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月12日02:19:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  买车报价APP sign分析 http://cn-sec.com/archives/1513826.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: