前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >某APP逆向分析与通讯解密

某APP逆向分析与通讯解密

作者头像
C4rpeDime
发布2022-04-26 15:24:07
1.5K0
发布2022-04-26 15:24:07
举报
文章被收录于专栏:黑白安全黑白安全

0x01 初始化

年轻人,你是否因看到这样的逆向结果而感到无力?

你是否为抓不到包而感觉渗透失去了意义?

回归正题,拿到app后初步了解后有下面几个问题:

  • 无法抓包
  • 做了加固
  • 通讯加密

也是常见APP反篡改的手段了,简单记录一下自己是如何解决这些问题的。

0x02 加载中

无法抓包

姿势其实特别多,大部分app的做法都只是反代理,挂vpn是不会拒绝连接的,所以原理上只需要建一个虚拟vpn,使app流量通过这个vpn中转,中间环节解密流量即可。

参考工具

安卓:HttpCanary

苹果:Surge (随便问问有没有师傅组队买surge mac版的授权)

做了加固

已知思路有三,

  • 脱壳
  • 模拟人工
  • Hook包中的相关函数直接进行测试

脱壳前

脱壳方式/工具也是蛮多的,引用一位师傅说过的话:

1.默念一声"我想脱个壳"。

2.启动 APP。

3.启动 frida-server。

4.python main.py。

默数三秒,脱好了。

第二种方式的demo:

第三中方式用的人最多,但是比较麻烦,加壳了找函数不方便,不加壳的话直接看代码硬怼就是行。

脱壳后

dex2jar,然后丢进反编译工具

找核心算法其实很容易,比如直接搜一下加密包中header的特征字段

跟踪到下面的加密部分:

圈起来的为止就是加密的关键点了,点击一下跳过去即可。

传入的第一个字符串是需要加密的值,第二个是密钥。密钥可以在上上图中getEncryptAES(paramRequest)跟过去找到:

加密算法代码已知,密钥已知,那顺手就可以copy出来自己加解密了:

还可以顺手写成burp插件,方便进行漏洞测试:

注册一个右键菜单方便在repeater里面加解密,注册一个Payload处理,方便用于爆破之类的操作。

打包一下就可以扔给burp了。

一切顺利成章。

0x03 加载成功

抓包问题可以以微信为测试目标进行尝试,能抓到微信的其他的基本也就都可以抓到了;脱壳不能指望静态脱壳,还是多考虑怎么从内存中提取出dex来;通讯解密/反校验需要java基础,跟着代码构造出正确的数据包即可,看多了其实也就那么几种算法,各个算法加解密的要素了然于心后还原出解密代码不过copy一下,再解决反编译工具的错误即可;写burp插件也是一个样子,看多了就和套模板,背答案做题目差不多。

解决抓包,解决脱壳,再解决通讯加密后就是常规的web测试方法了,一切变得索然无味。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-20),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 初始化
  • 0x02 加载中
    • 无法抓包
    • 0x03 加载成功
    相关产品与服务
    VPN 连接
    VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档