买车报价APP sign分析

VSole2023-01-12 11:14:54

1、charles抓包图

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

2、寻找sign如何生成的

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

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

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

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

frida hook下入参。

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)
sign
本作品采用《CC 协议》,转载必须注明作者和本文链接
加密消息应用程序Signal已经反驳了其软件中所谓的零日漏洞的“病毒报告”,称它没有发现任何证据支持这一说法。
Signal在端到端加密消息协议中加入抗量子加密算法。
端到端加密消息应用程序开发商 Signal 刚刚披露:受上周通信巨头 Twilio 被入侵事件的影响,近 2000 名 Signal 用户的电话号码和短信验证码也遗憾被泄露。据悉,Twilio 有为 Signal 提供电话号码验证服务。
为了履行这些命令,WhatsApp等平台已开始发布自己的指南,即开发商提交的规则,以便将其用户的信息提供给当局。此外,Signal被要求不要将传票内容通知给用户。除了搜查令外,该平台还透露,针对这些请求,它连续收到四份保密命令。
Ida的trace功能,这种方法本身是非常好的一种方法,因为大部分的情况下这种方法更有效也更简单,但目前这种方式已知存在一些问题导致这种方式的使用受限。①慢,ida trace的方式会很慢,所以一般都是在缩小范围后再使用这种trace的方式来操作。
买车报价APP sign分析
2023-01-12 11:14:54
数字企业壳懂得都懂不可能全部脱下来的只能用哪些类就脱哪些了,略微麻烦点。想着通过url的地址去找对应的发请求的位置是不是可以,于是通过搜索url路径找到了一个类。这是具体的加密方法,没啥难度了。
首先使用jadx对apk进行逆向。?搜索关键字 QDSign,可以直接找到对应的类,可以看到参数经过加密得到。??进一步跟踪,发现了c类中有如下三个so方法,还有3个loadlibrary,分别进行了hook,发现c-lib动态注册了sign,sos动态注册了s,没有发现crypto有动态注册。
查找您的联系人不应将其透露给其他任何人。该报告证实,Telegram是少数不违反用户信任的消息传递应用程序之一。一些据称安全的应用程序从一开始就由政府机构资助,例如Anom、Signal。通过他们在加密行业的代理,NSA将有缺陷的标准强加给了其他国家使用的加密。警告世界上其他人不要“推出自己的加密”。不幸的是,在此之前,他们应用程序中的数据泄露和安全问题将不可避免。
timestamp: d}并在第1886行,找到了有关n的声明此时发现password被md5加密后,与pwdkey的值,进行字符串拼接后,在进行一次md5加密。直接搜索pwdkey,并在第27589行,找到了该值,发现该值是不变的。
对端加密消息应用 Signal 通过其官方博客公布了它收到的一张法庭传票,要求提供它没有收集的用户隐私数据。
VSole
网络安全专家