顺F速运,你被爱加M坑了
—
加密情况
首先我们到顺F官网,下载顺F速运APP,当然,是Android版,毕竟穷。
接下来,得看看怎么用,当然顺便用Wireshark抓包,点那个显眼的立即登录按钮。
使用手机号登录,随便敲敲,看看报文情况。
原来数据是HTTP承载的,host为ezgo.sf-express.com,POST体内为BASE64编码,使用Fiddler自带工具尝试解码,得到的是十六进制数据串,看样子,数据进行了加密,那只能从APK中去查找算法和密钥了。
上Android Killer。
咦,被加壳了,爱加密的壳呀,只能看看能不能脱壳了。
—
找密钥学算法
经过一番折腾,第一层皮被脱掉了,但是DEX里面很多函数被抽取掉了,看样子,爱加M的壳用了点功,再仔细看看,里面还是有些东西没有被抽取掉,大部分是一些第三方库。
查找下BASE64算法和URL,竟然找到了。
看样子,爱加M把关键的加密方法给漏掉了,就随便忽悠了下,顺丰速运程序员哥哥估计哭晕在厕所了。
我们找到了密钥,16字节,四个int,就是上图中的f.c变量。
然后,找到了算法,这是什么算法呢。下面介绍一点技巧,通过关键数据获取算法的技巧。
一般来说,大部分软件都会使用加密算法,但是,它们都不会自创算法,而是使用一些经典的常见的算法。
我们分析算法,需要找到算法的特征,特征包括什么呢?大数和逻辑。
在算法smali里,找到了几个整数。那我们就去网上搜索吧,一番搜索,就得到了算法。
使用算法和密钥,试一试,果然解出了结果。
params={"requstParams":{"mobileRegion":"CN","mobile":"18454312344","codeType":"06"},"method":"user.sendPublicCaptcha"}
再看看其他数据,也都能解呀。
自己动手试试,看看能不能找到顺F速运使用的加密算法名称,找完后,发送“顺顺顺”获取答案。
长按进行关注。
顺F速运,你被爱加M坑了的更多相关文章
- 顺F速运国际版,你的密码漏点了
- 加密情况分析 对APP的分析过程,当然首先是安装,使用,抓包啦. 同样地,登录,抓包看看. 使用账号密码登录. - 壳呢? 虽然直接解密了顺F国际版的加密数据,但还是有必要看看它的APK. 经过分 ...
- F. Gourmet and Banquet(贪心加二分求值)
题目链接:http://codeforces.com/problemset/problem/589/F A gourmet came into the banquet hall, where the ...
- Angular4项目运行时URL自动加#方法
import {HashLocationStrategy , LocationStrategy} from '@angular/common'; @NgModule({ declarations: ...
- 【转】clang warning 警告清单(备查,建议直接command + F 速查 )
Warning Message -WCFString-literal input conversion stopped due to an input byte that does not belon ...
- Android动态加载入坑指南
曾几何时,国内各大公司掀起了一股研究Android动态加载的技术,两年多过去了,动态加载技术俨然成了Android开发中必须掌握的技术.那么动态加载技术是什么呢,这里谈谈我的个人看法,如有雷同,纯属偶 ...
- 【运维相关】MongoDB那些坑
前言 某个早期技术债务项目线上有一个mongoDB服务,用途很简单,存一些文件而已.不过用户那边突然报个bug说上边的图片丢失了,起初没当回事认为是代码遇到错了,直到后来看了用户详细的bug复现后,登 ...
- 顺F分享,你是在裸奔吗?
" 对顺F旗下各APP顺藤摸瓜分析--顺F分享." 前文对顺F速运和顺F速运国际版进行了分析,二者使用同一套接口,虽然保护强度不高,但对代码和数据的保护却区别对待,实在让人诧异. ...
- Linux运维笔记--第二部
第2部-重要目录结构详解 1.回顾Linux目录结构知识 /dev/ 设备目录 /etc/ 系统配置及服务配置文件,启动命令的目录 /proc ...
- extjs4.0 treepanel节点的选中、展开! 数据的重新加载
1.extjs4.0API较3.0有非常大变化2.多级子父节点的选中和展开.3.数据的重新加载.tree.getStore().load4.节点的移除,从树中根据ID获取节点 tree.getStor ...
随机推荐
- shell生成指定长度的随机数
生成指定长度是随机数 # 8位纯数字的随机数 tr -cd '0-9' </dev/urandom | head -c 8 # 16位包含字母.数字的随机数 tr -cd '[:alnum:]' ...
- Selenium(七):选择框(radio框、checkbox框、select框)
1. 选择框 本章使用的html代码: <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- viewPager作为RecyclerView的itemView出现的显示问题
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/174 ViewPager作为RecyclerView的it ...
- Sql之for update
for updateselect * from xxxxxxx where namemc='筛查' for update那是一种行级锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁 ...
- git submodule git 子模块管理相关操作
Git 子模块操作相关的一些命令备忘: # 当使用git clone下来的工程中带有submodule时,初始的时候 submodule的内容并不会自动下载下来的,需执行如下命令: git submo ...
- Python语法速查: 1. 数据类型与内置函数
返回目录 (1)常用内置数据类型 分类 类型名称 描述 数字 int 整数 float 浮点数 complex 复数 bool 布尔值 序列 str 字符串(不可变序列) list 列表 tuple ...
- Druid-代码段-5-1
所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应主流程5,连接的回收: //DruidPooledConnection类的close方法 @Override public vo ...
- element-ui中的hover 光标移入某一个具体的td 有hover效果
<template> <div> <el-table :data="tableData" style="width: 100%"& ...
- jsp连接mysql出现不支持认证协议的解决办法
错误提示 com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Client does not support authent ...
- acwing 47. 二叉树中和为某一值的路径
地址 https://www.acwing.com/problem/content/description/45/ 输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径. 从树的根结 ...