实战分析人X的HTTP协议

普通协议(HTTP)与安全协议(HTTPS)

客户端与服务器端

CydiaSubstrate框架

Frida Native层HOOK

需要相关资料的朋友,可以【加入此处即可打包获取】

一:抓包分析协议数据

第一次抓包:

POST http://api.m.renren.com/api/client/login HTTP/1.1
Accept-Encoding: identity
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: /
Connection: keep-alive
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; oppo R11 Plus Build/LMY47I)
Host: api.m.renren.com
Content-Length: 793
isverify=1&password=18beaa1df89d0f434fd33918da2d62b310f3579675e09e1ca726fb7532bd4b41&client_info=%7B%22uniqid%22%3A%22865166020506633%22%2C%22screen%22%3A%22720*1280%22%2C%22imei%22%3A%22865166020506633%22%2C%22other%22%3A%2246000%2C%22%2C%22mac%22%3A%2200%3A81%3Af0%3A3a%3A81%3Ae1%22%2C%22version%22%3A%229.3.8%22%2C%22os_type%22%3A11%2C%22terminal_type%22%3A2%2C%22from%22%3A9101041%2C%22os%22%3A%2222_5.1.1%22%2C%22imsi%22%3A%22460006017714263%22%2C%22model%22%3A%22oppo+R11+Plus%22%7D&gz=compression&api_key=9e1874c67e0b42d79cc16f787b644339&uniq_id=865166020506633&user=qianyu&format=JSON&v=1.0&call_id=1557232347378&rkey=be9f4755aa7fd0fc3ca8d3f46599b2b8&ext_info=%7Bstation_id%3D32305%7D&tab_sequence=1&sig=2d44d388b351ef50f9e392f025d4821d&verifycode=&sig=b6aa02b00934154cde248aa477500d4b

第二次抓包:

POST http://api.m.renren.com/api/client/login HTTP/1.1
Accept-Encoding: identity
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: /
Connection: keep-alive
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; oppo R11 Plus Build/LMY47I)
Host: api.m.renren.com
Content-Length: 793

isverify=1&password=91d8deb94c54262e2bd7f5402ca9c8af9ef05b7233159e8a0b4774bac6f1397f&client_info=%7B%22uniqid%22%3A%22865166020506633%22%2C%22screen%22%3A%22720*1280%22%2C%22imei%22%3A%22865166020506633%22%2C%22other%22%3A%2246000%2C%22%2C%22mac%22%3A%2200%3A81%3Af0%3A3a%3A81%3Ae1%22%2C%22version%22%3A%229.3.8%22%2C%22os_type%22%3A11%2C%22terminal_type%22%3A2%2C%22from%22%3A9101041%2C%22os%22%3A%2222_5.1.1%22%2C%22imsi%22%3A%22460006017714263%22%2C%22model%22%3A%22oppo+R11+Plus%22%7D&gz=compression&api_key=9e1874c67e0b42d79cc16f787b644339&uniq_id=865166020506633&user=qianyu&format=JSON&v=1.0&call_id=1557232479138&rkey=81601be5a731b71c2ee0ced57ce842a6&ext_info=%7Bstation_id%3D32305%7D&tab_sequence=1&sig=e16707ab08aba677a85025ebd73f3e3f&verifycode=&sig=e518e3f9e8037ddeeaefa0b6a40e69f5

在这里插入图片描述

在这里插入图片描述

二:搜索关键字段"verifycode"找到协议构造类

在这里插入图片描述

协议字段构造方法如下图,在a方法中的第一行代码(JsonObject v4 = ServiceProvider.A(false, true);)是关键点,完成了"client_info"字段的拼接。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三:分析关键字段"sig",需要搞清楚两个"sig"字段

动态调试smali代码无法查看相应寄存器的值,可以通过HOOK对应的方法打印参数信息。

在这里插入图片描述
在这里插入图片描述

四:Android Studio+smalidea插件动态调试smali代码

调试模式启动
adb shell am start -D -n com.renren.mobile.android/.ui.WelcomeScreen

进行端口转发
adb forward tcp:8700 jdwp:957
出现这个错误说明8700端口被占用
error: cannot bind listener: cannot bind to 127.0.0.1:8700: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)

解决办法
netstat -nao | findstr “8700”
根据PID找到该进程,结束进程
打开任务管理器—>查看—>选项列(S)—>勾选 PID,确定—>进程按钮栏配置好调试环境后就开始调试了,先在ServiceProvider.smali文件里面的a(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Landroid/content/Context;Lcom/renren/mobile/android/loginfree/LoginStatusListener;)V方法函数头下段,shift+F8往上回溯,就来到图下所在位置。

在这里插入图片描述

在LoginFromQuickRegisterFragment.smali文件里面找到onClick(Landroid/view/View;)V方法,找到登录逻辑核心实现如下图。

在这里插入图片描述

小结

1、使用抓包工具抓取人X的数据,通过对比工具分析哪些数据发生了改变,着重分析改变的字段及加密算法。
2、反编译APP,搜索协议中的关键字段信息进行定位。
3、分析相关字段的加密算法。
4、动态调试分析字段拼接流程。

如果你也对安卓逆向感兴趣。可以加入下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程

安卓逆向交流学习 Q群:876526335
vx:yijin_LX

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Android应用安全实战:Frida协议分析》是一本介绍Frida工具的使用和Android应用安全分析的书籍。Frida是一个强大的动态分析工具,可以帮助开发人员和安全研究人员对应用进行动态分析。本书以Frida为基础,介绍了如何对一些常见的安全问题进行定位和修复。 本书主要分为三部分,第一部分介绍了Frida工具的安装和使用方法,包括如何在Windows、Mac和Ubuntu三个系统上安装Frida,以及如何使用Frida对应用进行动态分析和漏洞挖掘。第二部分介绍了一些常见的安全问题,如反调试、class tampering、hook、rpc等问题,并详细介绍了如何通过Frida对这些问题进行分析和修复。第三部分介绍了一些应用案例分析,以及如何通过Frida对应用中的加密算法、网络协议、第三方代码等进行分析。 本书的特点在于实战性强,作者通过大量的实例和案例,让读者能够更加深入地理解Frida工具的使用方法,并能够将所学知识应用到实际的项目中。同时,本书还提供了一些工具和脚本,方便读者能够更加快速地进行分析和修复工作。 总的来说,本书是一本对于安卓开发人员、移动安全研究人员和安全工程师来说非常有价的工具书,无论是对于入门和提高都有很大的帮助。Frida工具的特点在于动态分析,能够帮助开发人员和安全工程师快速定位和修复常见的安全问题。而本书则是一个详细的实例教程,通过这份教程的学习,读者将能够掌握Frida工具的使用方法,并能够熟练地应用到实际的项目中。 ### 回答2: 《Android应用安全实战:Frida协议分析PDF》是一本针对移动应用安全的实战指南。这本书主要讲述了如何借助Frida这个强大的工具来进行移动应用的安全分析和漏洞挖掘。 Frida是一款可用于对移动应用进行实时动态分析的工具,它的优点在于可以轻松地hook任意函数和类,还可以在不用重新编译应用程序的情况下动态修改应用程序的行为。Frida的这些特性使得它成为了许多黑客和渗透测试人员使用的首选工具之一。 在《Android应用安全实战:Frida协议分析PDF》中,作者首先介绍了Frida工具的基本原理和使用方法,包括安装和配置Frida、使用Frida脚本、使用Frida进行hook等。接着,作者详细介绍了Android应用程序的各个组成部分和重要的安全机制,并给出了许多实例来演示如何通过Frida来绕过这些安全机制。 最后,作者还介绍了一些常用的Frida脚本和工具,比如Hooking SSLPinning脚本、Frida-Extract工具、在Android 8.0上使用Frida等。这些工具和脚本可以帮助读者更快更高效地进行移动应用的安全分析和漏洞挖掘。 总的来说,《Android应用安全实战:Frida协议分析PDF》是一本非常实用的书籍,对于渗透测试人员、黑客和移动应用开发人员来说都具有一定的参考价。通过学习和掌握Frida这个工具,可以让我们更好地发现和修复移动应用程序中的安全问题,从而提升我们的移动应用程序的安全性和可靠性。 ### 回答3: 《Android应用安全实战:Frida协议分析》是一本关于安卓应用安全的实战教程。该书的重点在于介绍如何使用Frida协议进行应用程序的逆向分析,得出应用程序的安全漏洞,并给出相应的解决方案。 Frida是一个能够在运行时动态注入JavaScript并调试代码的工具。这也意味着Frida能够直接访问运行在内存中的应用程序。这个优势使Frida成为了一个强大的安卓应用程序分析和调试工具。通过使用Frida,用户可以对应用程序进行监视、修改、甚至是攻击。 《Android应用安全实战:Frida协议分析》详细介绍了Frida的使用方法,包括Frida的架构、基本操作、配置和调试应用程序等。此外,该书还介绍了有关安卓应用程序逆向工程和安全审计的实操技能。通过本书的学习,在安卓应用程序的开发过程中,读者可以掌握一定的安全知识和技能,从而提高应用程序的安全性,避免攻击和漏洞的发生。 总之,《Android应用安全实战:Frida协议分析》是一本非常实用、易懂的安卓应用程序安全入门教材。在阅读该书并掌握其中的技能后,用户可以应用这些技能进行应用程序的逆向分析和安全审计,从而达到提高安卓应用程序安全性的目的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值