您还没有登录哦,登陆后观看更多内容!
您需要 登录 才可以下载或查看,没有帐号?点击注册
x
安装app到模拟器打开登录界面,账号密码登录 先抓包.......
1.png (133.18 KB, 下载次数: 0)
2018-8-9 15:27 上传
包数据:
POST http://www.baixing.com/api/mobile/user.login/ HTTP/1.1
Accept: text/xml,text/javascript,text/html
User-Agent: BaixingMobileApi
Content-Type: application/x-www-form-urlencoded
Accept-Language: zh-CN, en-us, en
Accept-Encoding: gzip
APP_VERSION: 6.0.1
UDID: 2b5a0e6907d8286a
User-Agent: com.quanleimu.activity/6.0.1;meizu;meizu;m2 note;5.1.1;720x1280;
BAPI-NONCE: 2b5a0e6907d8286a
BAPI-HASH: 65401c2efd81d0e6ffad1de12e01e1ed
BAPI-APP-KEY: api_androidbaixing
Host: www.baixing.com
Connection: Keep-Alive
Content-Length: 62
{"type":"mobile","password":"123456","identity":"15845454545"}
加密数据为:BAPI-HASH: 65401c2efd81d0e6ffad1de12e01e1ed
我们就要分析BAPI-HASH加密 为签名算法,以往我们用jeb(逆向神器)进行反编译app调试,可这个app忒简单,jeb的话5分钟讲完了没了
在一方面,带大家(初学者,老鸟请绕路)认识另一款工具:IDEA,有一款插件为samli 百度自行下载安装即可
首先我们用APPIDE 或者Android Killer 进行反编译,效果如下......
2.png (147.89 KB, 下载次数: 0)
2018-8-9 15:35 上传
反编译完成 我们进行关键字搜索,搜索完成发现就一处包含
3.png (15.93 KB, 下载次数: 0)
2018-8-9 15:37 上传
双击进入来到这里
4.png (38.95 KB, 下载次数: 0)
2018-8-9 15:38 上传
代码为:
const-string v7, "BAPI-HASH"
invoke-static {v0}, Lcom/baixing/tools/NetworkUtil;->getMD5([B)Ljava/lang/String;
这种代码第一次见的人可能比较懵逼,这就是samli语句,我们来理解下
const-string v7, "BAPI-HASH" const常量 值为:"BAPI-HASH" 放到v7
invoke-static {v0}, Lcom/baixing/tools/NetworkUtil;->getMD5([B)Ljava/lang/String;
调用名为getMD5的静态方法,该方法在com/baixing/tools/NetworkUtil;类中 getMD5([B) 此处B为传递的参数 最后String为返回类型
getMD5 这个就是他的加密函数 我们在这里下段进行调试查看传递的值,打开IDEA
导入用appide反编译的项目 根据APPIDE的路径在IDEA中跟随到相同位置
5.png (104.7 KB, 下载次数: 0)
2018-8-9 16:00 上传
在getMD5函数所在行下段进行调试 同时打开ddms
6.png (93.93 KB, 下载次数: 0)
2018-8-9 16:02 上传
找到我们要调试的进程 选中 并查看端口 8700
回到IDEA,工具栏-运行-Debug
7.png (21.91 KB, 下载次数: 0)
2018-8-9 16:03 上传
依次选择
8.png (62.88 KB, 下载次数: 0)
2018-8-9 16:05 上传
点击调试自动出现调试窗口,然后模拟器点击登录发现成功断下
9.png (164.33 KB, 下载次数: 0)
2018-8-9 16:06 上传
此时停在当前处
10.png (74.76 KB, 下载次数: 0)
2018-8-9 16:08 上传
当前数据就是将要进行md5的数据,但我们看他的数据类型是byte ,易语言就是字节集 那么他是以字节集类型传递进去的 只需要把这些数据已字节集形式拼接起来到文本就是明文,我们在进入到md5函数里看
11.png (82.62 KB, 下载次数: 0)
2018-8-9 16:10 上传
发现他们的值是一样的,那么我们来转换一下
12.png (24.37 KB, 下载次数: 0)
2018-8-9 16:21 上传
明文出现保存一下进行md5 IDEA恢复进程 查看fd抓到的包进行对比
13.png (32.54 KB, 下载次数: 0)
2018-8-9 16:23 上传
发现数据相同,ok,分析完毕
文中提到的工具可百度自行下载,本人已与百度达成战略合作关系,请任意使用百度搜索下载,不收取一分钱,23333333333.......