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.

相关文章
|
26天前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
1月前
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
2月前
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
21天前
|
存储 前端开发 安全
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
120 5
|
1月前
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
2月前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案
|
22天前
|
移动开发 小程序 Android开发
基于 uni-app 开发的废品回收类多端应用功能与界面说明
本文将对一款基于 uni-app 开发的废品回收类多端应用,从多端支持范围、核心功能模块及部分界面展示进行客观说明,相关资源信息也将一并呈现。
63 0
|
3月前
|
人工智能 文字识别 小程序
旅游社用什么工具收报名 + 资料?不开发 App 也能自动收集信息
本文探讨了旅游行业中报名信息收集的常见痛点及解决方案,重点介绍了二维码表单工具在提升信息收集效率、简化操作流程方面的优势。通过对比多种工具,分析其适用场景与实际应用逻辑,为一线旅游从业者提供高效、低成本的执行参考。
|
4月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
3月前
|
Rust 安全 前端开发
Github 轻松斩获30k+ Star,桌面应用开发太丝滑啦,Tauri框架能重塑桌面App开发?别错过,抓紧上车
Tauri 是一个基于 Rust 的开源框架,用于构建轻量级、高性能、安全的跨平台桌面及移动应用。它利用系统 WebView 渲染前端界面,后端由 Rust 编写,具备出色的性能和安全性。相比 Electron,Tauri 应用体积更小、启动更快,且默认权限更安全。它支持 React、Vue、Svelte 等主流前端框架,并提供自动更新、CLI 工具链、资源注入优化等功能,适用于生产力工具、开发者工具、数据分析、AI 应用等多种场景。目前 Tauri 在 GitHub 上已获得超过 30,000 Star,社区活跃,是现代桌面应用开发的理想选择。
230 0

热门文章

最新文章