一次美团外卖apk分析学习

2021年2月26日作

本文目的只是学习探究,如有冒犯公司,请联系作者下架文章

qq:2831243095,欢迎一起探讨学习

本文主要探究美团外卖app商家数据接口

从抓包开始,美团会走私请求,所以你会发现配置代理在电脑上抓的包并不全面
解决办法呢,就是利用root后的设备安装 proxyDroid 来强制应用使用代理

proxyDroid下载地址:自行百度搜索

开启强制代理后用Fiddler Everywhere正常抓包

万里长征第一步,搞定了
通过参数分析得知主要有两个参数

mtgsig

waimai_sign (看起来挺敏感的,实则就是纸老虎吓唬人的)

这里在开始的时候我犯了一个弥天大错 siua

siua (这是一个特殊的参数,虽然表面上看着没什么用)

我在测试请求的时候,把 =iua 这个参数删掉请求正常返回,我就在自己的小本本上写下了: siua无用 (悔不当初)

得到了参数,开始逆向apk,寻找参数的生成方式,我用的工具是Bytecode Viewer1

  • mtgsig

全局搜索 “mtgsig” ,一路读代码,发现最后调用的是一个名为main的native方法

经过frida hook之后成功得到参数
发现该参数是对请求中的params和data进行签名校验,
直接调用签名生成

{"a0": "1.5","a1": "e68c4c18-35ec-4972-84e4-32a0836455a8","a2": "61f5ea87404820e7fe6cf58662a0693f587d557c","a3": 2,"a4": 1614309108,"a5": "2m0ZZuFqsef5wIm3uGZAW0C2lqH8CLUdDIRu0cMzeZKy5SNT3DbvBP5zM7uTBeh+bYjtZQiN5S7zAA7fUJhl7KGEcZ5BV5LK5or+/1jj99mmIGqA8oHbC5QOGUp4wd+ZUZZeB+zyQ8vrzW4Fue1mzQIdLy4xOXcINT39zJjcKW4XVVbT45Bdg42E5b/tpq6XImJ6jikbyGlHPENeExYbavwbYfQx/jTLED2uAiBD02Z99GBStpFBp3SEeH0W1nHWfFy3uutA2rRTFNDMj9kZkjKU6r+yzAsMnL5bexzQ79Oc2IFqiM+Fbp/v7RU9ErE5pIM=","a6": 0,"d1": "a597896771052653f45cc20df8a5a018aee333d7"
}

紧接着开始写代码请求,一套操作猛如虎,写完开始运行!

至此,作者嘴角开始微微上扬
心想,就这?

就在作者得意忘形,仰天大笑时,果不其然,报错了。
一看返回的是啥,哦豁:

至此,初步版本程序一蹶不振,一直返回这个,直接yang痿,连手机上都无法正常访问了
作者眉头狠皱:小东西,有点意思
接着就是一个下午揪着一头帅气的头发苦苦思索

就在一筹莫展之际,抬头跟桌子前面对坐在图书馆的妹子对视一眼,眼睛一瞪,脑袋一闪,有了!

那妹子长得真心可以,还是个考研的医学生,带着一本蓝色生死恋系列中的生理学(别问我为啥知道,问就是我有一个梦想),奈何灵光一闪,顾不得其他,埋头狂写,那妹子最后走的时候看了我一眼摇了摇头似乎。

手机上也无法访问!那我换个手机开个模拟器抓参数对比一下不就来了吗?针不错~

最后经过对比复制参数校验发现真凶

siua

作者当时就卧槽了
只有接着逆向了,查找这个看似平凡的 siua 是从何而来
最后发现竟也是一个native方法,小丑竟是我自己

接着就是打开ida pro进行苦逼操作了
发现siua是对设备的一些参数的签名,每个设备只能签出来一个
开始伪造,成功!

至此,逆向分析学习结束
欢迎加作者qq一起学习,更欢迎介绍妹子给我[斜眼笑]


  1. 一个不错的逆向分析工具,支持apk、jar ↩︎

一次美团外卖apk分析学习相关推荐

  1. 美团外卖Android平台化的复用实践

    美团外卖平台化复用主要是指多端代码复用,正如美团外卖iOS多端复用的推动.支撑与思考文章所述,多端包含有两层意思:其一是相同业务的多入口,指美团外卖业务需要在美团外卖App(下文简称外卖App)和美团 ...

  2. 美团外卖Android Lint代码检查实践

    概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量.除了Android原生提供的几百个Lint规则,还可以开发自定义L ...

  3. React Native在美团外卖客户端的实践

    MRN简介 MRN(Meituan React Native) 是基于开源的React Native框架改造并完善而成的一套动态化方案,在开发体验上基本能与原生RN保持一致,同时从业务需求的角度满足从 ...

  4. Android Studio初学者实例:Fragment学习--仿美团外卖界面

    本次课程为Fragment为主题,课程的示例仿美团外卖界面,不同于底部导航栏的Fragment案例,此界面分为左侧切换与顶部切换.本文先是发布代码与效果,后续讲解将会在后续补充.先看看效果: 首先是布 ...

  5. React Native在美团外卖客户端的实践,已有千人收藏

    最下层是Android/iOS系统服务层,因为MRN是跨端的,所以需要引入这一层.相对单一平台来说,由于MRN的引入,整个App的架构不可避免地需要考虑Android和iOS平台本身的差异性. 倒数第 ...

  6. 美团外卖Android Crash治理之路

    Crash率是衡量一个App好坏的重要指标之一,如果你忽略了它的存在,它就会愈演愈烈,最后造成大量用户的流失,进而给公司带来无法估量的损失.本文讲述美团外卖Android客户端团队在将App的Cras ...

  7. Android 高仿美团外卖详情页

    目录 1.需求分析 2.具体实现 2.1效果展示 2.2布局分析 2.3代码分析 2.3.1自定义 CoordinatorLayout.Behavior 2.3.2自定义 RecyclerView.I ...

  8. 仿美团外卖菜单界面的实现

    仿美团外卖菜单界面的实现 布局文件 总布局 <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  9. CH12-综合项目—仿美团外卖

    文章目录 目标 一.项目分析 目标 项目概述 开发环境 模块说明 二.效果展示 目标 店铺界面 店铺详情界面 店铺详情界面 确认清空购物车的对话框 菜品详情界面 订单界面和支付界面 三.服务器数据准备 ...

最新文章

  1. codeforces D MUH and Cube Walls(kmp)
  2. java 加载class文件路径_动手实现MVC: 1. Java 扫描并加载包路径下class文件
  3. 设置Netbeans 6.5为英文界面
  4. 【tool】将虚拟机从 VMware workstation 转到 vsphere
  5. 《我们不一样》团队项目用户验收评审
  6. Hive 之 分析窗口函数
  7. 算法 Tricks(五)—— 将一个序列量化为何值时平方误差最小
  8. layDate——初步使用
  9. Vijos1755 靶形数独 Sudoku NOIP2009 提高组 T4 舞蹈链 DLX
  10. 物联网模块跨阵M1控制LED
  11. 天线要设计为四分之一波长的原因
  12. XSS原理dvwaxssvalidator使用
  13. PDM与Excel利用VB脚本进行互导
  14. 去除文件系统、只读等属性
  15. 基于3D关节点的人体动作识别综述(转)
  16. 易语言安卓模拟器adb模块制作认识adb
  17. 通过语言包,让云豹短视频源码实现国际化运营
  18. ant build.xml 配置详解
  19. 从arduino板开始做到阿里云app控制--WeMos D1或ESP8266连接阿里云文章合集及源代码
  20. gravity和layout_gravity的区别(有时使用layout_gravity=center时失效的原因)

热门文章

  1. 安卓钉子户的倔强:只有18.3%的用户会考虑换用iPhone 13
  2. rg1 蓝光危害rg0_蓝光危害检测标准IEC/TR 62778
  3. 检查版本更新,跳转到腾讯应用宝进行下载
  4. Java精进-手写持久层框架
  5. [转载]Node.js模块化机制原理探究
  6. python小黄猫--经纬度转换为坐标系x,y
  7. Adaptive Icons - Android O 自适应图标简单用法
  8. spark rdd分区与任务的关系
  9. Android Build类
  10. 压铸件浇口去除导致裂纹与缺料问题的分析与解决