逆向某平台分析过程指导

一颗小胡椒2022-03-23 16:30:09

抓包报文分析

1、charles抓包分析报文 

登录和注册发送验证码都带有⼀个sign字段。

其他参数都为固定参数 ⽐如请求图中的:

只有这个sign每次都是变化的,那我们就开始分析这个sign。

操作步骤

① 先查apk是否加固 查询发现没加固。 

② 直接上jdax打开apk,能正常反编译。

③ 发现网络框架使⽤的okhttp。

代码分析

因为使⽤的okhttp框架那么自然直接搜索OKhttpClient 在哪被初始化 jadx直接搜索到。

看名字猜测应该是网络核心父类,接着按x找到相关引用类找到:

看名字就猜到了http相关的⼯具类,接着继续找关键字sign,因为网络相关的类都在framework包下的 helper⼦⽬录中所有随便翻翻找到⼀个。

打开⼀看找到app相关的native⽅法都在这类中定义按x找到相关引用的类中 有⼀个。

看方法名就猜到了应该是计算sign的⽅法,打开看果然是:

计算⽅法为: 

① 调用buildSignRequestParams(str,map)方法将请求参数赋值给hashMap,并将hashMap中的值按照 key进⾏排序,重新赋值给map。

② 遍历排序后的hashmap的取出value进⾏拼接传递给buildSignValue()⽅法,调⽤native⽅法⽤frida Hook这两个⽅法调⽤也证明了这两点:

③ 接下来开始分析native方法 getServerApi() 找到使用的so 包为libNativeHelper.so。

扔到ida看导出函数发现是jni动态注册没找到getServerApi()这个⽅法,接下来使⽤unidbg进行分析 call_jni_onload 后找到偏移地址0x12795。

在ida中G 跳转到偏移地址。

查看sub_4DF0函数F5⽣成伪代码。

阅读代码修改原有的字段名称。祭出大杀器unidbg Hookz。

多次调用方法发现入参为⼀串固定字符串值,先暂定它为加密因子吧!hook伪代码中的strcat(参数1,参数2)。

参数1为之前调⽤java 层 native方法中请求参数排序后的value 字符串,参数2位固定的加密因子将两个字 符串拼接后⽣成新的待加密串。 

接着分析 sub_4538(&v20)函数。

这个4个常量 在结合sign的⻓度为32 很明显的可以猜到使⽤的MD5加密,具体在往下看。 分析sub_4564()函数:

hook函数sub45F4函数 得到的入参为 md5标识和待加密串,接着点进去查看这个函数具体实现:

最终hook这两个函数都没发现⽣成具体的sign值 加密串也没有最终被修改 于是随⼿拿之前得到的加密串去做个MD5发现直接就跟sign⼀样 所以⼤概得出这个sign算法就是标准的 MD5。

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 通过其官方博客公布了它收到的一张法庭传票,要求提供它没有收集的用户隐私数据。
一颗小胡椒
暂无描述