2、xx潮玩app登陆算法分析【Android逆向分析学习】

学习安卓逆向分析的一个小菜鸟,记录分析的“快乐时光”,小白图个乐,大佬乎喷

 分析的APP

酷乐潮玩

包名:com.klcw.app.member

版本号:2.9.15

最低安装版本:Android 5.0  (LOLLIPOP)

抓包分析

APP安装到模拟器中,打开抓包软件,打开APP后,没有提示网络异常或者打开后闪退;

说明APP没有检测代理抓包,和证书校验

===================================

然后输入手机号和密码 后 抓取到一个登陆包

 

肉眼查看,sign 和 params 是被加密的;

猜测一下,sign 值 是32位的,应该是md5 加密


params 是base64编码过的,可能是 aes 或者 RSA 加密
打开jadx 开始 搜索定位关键词

这次使用 “app_key” 这个关键词去搜索,

因为其他的关键词 估计出现的频率会非常的高,影响找寻关键代码


反编译好后,开始搜索 app_key

出现了六条搜索记录

可以看到 ,大部分的匹配并不是完全的匹配到

只有第一个可以完全匹配关键词

==============================

这个是第一个点,然后在看 节点部分 

软件的包名是 :com.klcw.app.member

而第一个是 com.alipay.sdk  这个一看就是阿里支付接口了 肯定不是

那么下面几个也不想是login登陆的地方  前面都带有pay_ 这个猜测应该是支付的key

==================================

最后一个是 安卓的 肯定不对了

一个登陆的函数 基本上APP都是自己写的  不可能调用第三方的接口

所以这个时候,我就开始更换一个关键词搜索 

params  就选择这个关键词搜索吧


为了能够搜索更加的精准一点 加上 双引号 “params”


果然,搜搜到了 68个 和  params 关键词匹配的地方

这个时候就郁闷了。。。

还是按照之前的方法,首先看一下 节点上面 有没有 带login的关键词

然后 是自己的包 的 

可以看到 带 login 字样的 特别的多;

然后开始了漫长的 查找过程>>>>>>>>>>>>>>


最终说实话,我没有看到关键点。。。。。。。


然后,我打开了神器    GDA  

通过搜索 ::“app_key” 关键词  可以找到 一大堆的数据 


然后 可以看到 前面有 两个 json 组包的地方 


第一个 打开后发现不对  参数不对

然后打开第二个 json 组包的方法 ,这下就对了

 

str = NetworkHelper.getTimeStr();
str2 = Base64.encodeToString(p1.getBytes(), 3);

JSONObject jSONObject = new JSONObject();
jSONObject.put("app_key", str1);
jSONObject.put("method", p0);
jSONObject.put("sign", CryptoUtil.EncryptionByMD5(new StringBuilder().append(str2).append(str1).append(str).append(p0).toString()));
jSONObject.put("params", str2);
jSONObject.put("timestamp", str);
 return jSONObject;

可以发现 sign 确实是 md5 加密的


不过 params  让我猜错了, 它仅仅只是 一个 base64位的编码而已 

那么这个时候其实我们就可以拿 抓包的数据进行编码处理,得到一个 正常的值

{

"account":"13888888888",
"password":"a12345678",
"tenant_num_id":"8",
"data_sign":"0",
"use_platform":"2",
"channel_num_id":"99"

}

这个是解密的值,
"tenant_num_id":"8",
"data_sign":"0",
"use_platform":"2",
"channel_num_id":"99"

这个几个参数 在上面进行组包的时候 就有 

然后 这个sign 值 也非常的简单


就是这个 params的值 + app_key + timestamp + method 

然后进行md5的加密 


eyJhY2NvdW50IjoiMTM4ODg4ODg4ODgiLCJwYXNzd29yZCI6ImExMjM0NTY3OCIsInRlbmFudF9udW1faWQiOiI4IiwiZGF0YV9zaWduIjoiMCIsInVzZV9wbGF0Zm9ybSI6IjIiLCJjaGFubmVsX251bV9pZCI6Ijk5In0800020211221164501gb.member.new.password.login

MD5 加密后 ::::    90e26999fa421556839bfc4069e4720f

 

 

和 抓包里面的数据是一模一样的   

心得:

    通过这次的APP的分析,其实可以得出一个结论

    有时候 如果 一款反编译的工具  搜索不到关键词的值的时候

    可以更换一下工具重新的尝试一下,说不定 就可以展示出你需要的关键代码


    所以,GDA yyds!!!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值