Crack App | 某合伙人登录参数 apisign 逻辑分析

简介: Crack App | 某合伙人登录参数 apisign 逻辑分析

目录

  • 包名
  • 抓包分析
  • 加密分析
  • Python 实现请求流程

今日目标

样本后台回复【20221013】获取

抓包分析

打开 app,是一个登陆的界面

输入账号密码之后点击登录可以看到下面的请求

提交的参数中有一个参数值是 apisign

这个参数就是我们需要分析得加密参数

加密分析

先查一下壳,没有加固

直接搞到 jadx 里面找找线索

直接检索 apisign 这个关键参数,可以看到下面的结果

追进去,可以看到写着用到了 md5 的加密,参与计算的还有一个 key 以及 data

从 md5.key 追进去可以看到 key 是一个固定的字符串

public static final String MD5_KEY = "d367fxxxxxxxxxxxxxxx3fe05"

可以理解为是一个盐值

所以这里就需要知道后面参数的 data.toString 的值是什么,这里用 frida hook 打印一下

我们直接 hook ToMD5 这个方法

// com.softgarden.baselibrary.utils
function printStack(){
    var threadef = Java.use('java.lang.Thread');
    var threadinstance = threadef.$new();
    var stack = threadinstance.currentThread().getStackTrace();
    for(var i = 0;i<stack.length;i++){
        send("Full call stack:" + stack[i].toString());
    }
}
function main(){
    Java.perform(function(){
        var md5Class = Java.use("com.softgarden.baselibrary.utils.MD5Util");
        md5Class.ToMD5.implementation = function(arg1,arg2){
            console.log("arg1 ===> ",arg1);
            console.log("arg2 ===> ",arg2);
            var result = this.ToMD5(arg1,arg2);
            printStack()
            console.log('result ===> ',result);
            return result;
        }
    })
}
setImmediate(main)

hook 结果如下

可以清楚的看到 arg2 的参数就是提交的账号和密码

通过加密网站的验证,可以知道这里用到的 MD5 并没有魔改就是简单的加了一个盐

直接使用 Python 实现一个 md5 即可

Python 实现请求流程

import requests
from hashlib import md5
headers = {
    'Host': 'www.xxx.com',
    'User-Agent': 'okhttp/3.9.1',
}
decrypt_text = 'dxxxxxxxxxxxxxxxxxxxxx05'+'{"password":"dddddddddd","phone":"15865865585"}'
apisign = md5(decrypt_text.encode('utf8')).hexdigest()
print(apisign)
data = {
  'data': '{"password":"dddddddddd","phone":"15865865585"}',
  'apisign': apisign
}
response = requests.post('http://xxxx/App/Login/login', headers=headers, data=data)
print(response.text)

完事~

End.

相关文章
|
1月前
|
数据采集 小程序 网络安全
云擎技术---分析工信部APP备案的“传闻”
APP备案并非新事物,自2005年起已有非经营性互联网信息服务备案制度。备案针对的是网站主办者,而非用户,不涉及个人用户网络访问。网络接入服务提供者包括ISP和IDC,不限于三大运营商。通知要求不为未备案网站提供接入,但不影响国外软件使用。个人开发者不能涉及经营性内容,备案审核时长1-20个工作日。境内服务器和国内应用商店需备案,境外则无需。手机厂商不会开启白名单制,仅实行黑名单制。APP备案与民营经济发展壮大意见不冲突,工信部有权颁布相关规定。该政策不存在逐步试探底线情况,所有解读均有法律依据。
31 3
云擎技术---分析工信部APP备案的“传闻”
|
3月前
|
网络协议 算法 Android开发
安卓逆向 -- 实战某峰窝APP(动态分析)
安卓逆向 -- 实战某峰窝APP(动态分析)
42 4
|
3月前
|
算法
某圈app算法分析
某圈app算法分析
19 0
|
3月前
|
算法 安全 数据安全/隐私保护
某影视APP算法逆向分析
某影视APP算法逆向分析
20 0
|
1月前
|
移动开发 小程序
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
|
2月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
106 3
|
2月前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
2月前
|
开发工具 数据安全/隐私保护 Android开发
【教程】APP 开发后如何上架?
【教程】APP 开发后如何上架?
|
2月前
|
API
uni-app 146朋友圈列表api开发
uni-app 146朋友圈列表api开发
19 0
|
1天前
|
Web App开发 数据采集 移动开发
开发uniapp过程中对app、微信小程序与h5的webview调试
开发uniapp过程中对app、微信小程序与h5的webview调试