某某支持通讯的逆向分析 (仅供学习交流)

某某支持通讯的逆向分析 (仅供学习交流)

某某支持通讯的逆向分析 (仅供学习交流)-闲游此生
某某支持通讯的逆向分析 (仅供学习交流)
此内容为付费阅读,请付费后查看
99999
付费阅读
已售 1

仅供学习交流,文中演示得程序版本已经过期无法使用!如有侵权请联系底部邮箱

前言

这篇文章其实想发很久了,从去年的11月一直留到现在,我准备简单的聊一聊,因为已经过期了,文中分析得已经没办法用于新版,所以我决定发出来,简单的进行演示。

介绍

本文逆向得软件为:某某支持 V2.8.41,逆向分析如何与服务器进行通讯,等一些加密算法。

通过观察程序安装目录,可以得知这是个Qt5应用程序,并且程序没有进行加壳等操作

图片[1]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

图片[2]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

逆向过程

首先打开任意抓包程序,进行登录发现提示错误,关闭抓包软件则正常通讯,看来正常的代理抓包是行不通了

图片[3]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

然后我使用了

可以成功抓到通讯,我们来简单看一下都是什么请求响应

可以看到接口是请求加密通讯,响应则是明文且无签名,请求也是没有签名,然后我就给你们看两个重点的请求吧

  • /crypto/cert/upgrade:获取两个证书
  • /api/platform/login:登录请求

好,大致的方向有了我们直接使用x32dbg调试程序,程序没有进行反调试等防御机制,所以可以随意得动态调试分析

开始调试分析 (旧图,因为是之前分析的)

图片[4]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

图片[5]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

然后呢我们先从pc id入手,先看看他是怎么生成得,这里我们通过定位字符串,跟踪到了这里,我们通过步入分析,可以发现生成pcid得函数,然后我们步入进行分析看看他是怎么生成的pcid

图片[6]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

然后为了节省篇幅,我这里就直接跳过分析这个hwid得步骤了,这个其实是获取了CPUID,如图

图片[7]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

如何我们继续步入分析可以发现pcid是把CPUID进行了哈希处理得到的,通过调用另外一个dll

图片[8]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

然后对于这种情况,没有进行保护和混淆,我直接使用了IDA进行了静态分析伪代码,可以发现这个导出函数是通过输入的参数进行MD5或者SHA256哈希操作

图片[9]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

通过观察他输入的参数,我们可以得知这是进行了SHA256哈希操作,然后输出一个HEX字符串

图片[10]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

图片[11]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

图片[12]-某某支持通讯的逆向分析 (仅供学习交流)-闲游此生

经过验证,符合预期,我们进行下一步,直接跳到怎么加密请求体,也就是cipher和iv那个json是怎么获取到的

结论

作者的一些话

其实你读到这里你会发现,这作者怎么节省这么多篇幅,其实我也不想的,但是由于一些意外导致之前逆向得一些记录文字也好图片也好丢失了,而这个版本也是过期了,不过期我不会公开分析得,所以就只好直接省略,不过这个案例,我觉得他的设计方案整体不错得,对于通讯我们可以进行借鉴学习,然后就是加固,不要像他一样直接AES明文传递了相当于。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容