好友
阅读权限10
听众
最后登录1970-1-1
|
1.抓包
注册界面是这样
随便输入手机号码 ,点击获取验证码,发现有两个请求,
根据接口可以看出, 第一个请求是验证手机号码是否注册,第二个请求为获取验证码
分析参数发现两个请求 只有 signature 和nonce 不同 . 很明显参数有加密校验
2.脱壳
使用fdex2脱壳 , 过程 略.
3,分析参数加密过程
搜索关键字signature 发现太多了,
搜索nonce 很快就发现了有用的地方
很明显 这就是我们要找的
转成java 发现appid 是写死的,与抓包相符
可以看出 很简单 我们只需要找三个数据 currentTime,randomStr,signature
从命名上可以知道 分别为 时间戳 随机字符串,签名. 那我们就一个一个分析
三个都是在 StringUtils中, 进入看看
getCurrentTime() 方法如下, 获取系统时间,转成字符串, 截取前十位 ,就是 currentTime 的值
getRandom()放发如下,也很简单
下面分析 signature
[Java] 纯文本查看 复制代码 String signature = StringUtils.getMd5String("aQmo3zbxT6bhsmaZweCd", currentTime, randomStr).toLowerCase();
把 一个固定的字符串, 时间戳, 随机字符串 传入,生成签名的值
[Java] 纯文本查看 复制代码 public static String getMd5String(String arg1, String arg2, String arg3) {
ArrayList v0 = new ArrayList();
((List)v0).add(arg1);
((List)v0).add(arg2);
((List)v0).add(arg3);
Collections.sort(((List)v0));
arg1 = "";
int v2;
for(v2 = 0; v2 < ((List)v0).size(); ++v2) {
arg1 = arg1 + ((List)v0).get(v2);
}
return SHA1.getinStances().getMd5(arg1);
}
上面代码中的SHA1 为自定义类. 复制出来就可以用,其中有一些用不到的方法可以删掉.
到此 参数就都出来了.
分析的app版本为2.7.5
下载地址: https://www.lanzouj.com/i5j3zna
新手第一帖,请大佬多多指教
如有违规,烦请管理删除.
|
-
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|