某江app算法分析

简介: 某江app算法分析

一、抓包分析

1、数据包

GET  http://m.api.zt.jsw.com.cn/v2/member?password=a123456&clientid=1&device_id=010067028741939&ip=1.1.1.1&system_name=android&sign=e96e177e2b9ed89680ac754916333527&siteid=10001&time=1630198142862&type=android&account=15836353612&modules=cloudlogin%3A1 HTTP/1.1
Content-Length: 0
Host: m.api.zt.jsw.com.cn
Connection: Keep-Alive
Accept-Encoding: gzip

2、分析参数,只有sign是密文

0a2653c851af460fa595bd959398a8f1.png

二、将app拖进jeb分析

1、搜索关键词"sign"

0eacb84100b54626af849e6b562bf92a.png

2、tab键转换成java代码,需要查看b.a方法

public RequestParams a(RequestParams params, Context context) {
        params.put("device_id", PhoneInfoUtils.getDeviceId(context));
        params.put("clientid", "1");
        params.put("ip", AppUtil.getLocalIP());
        long timestamp = System.currentTimeMillis();
        params.put("siteid", "10001");
        params.put("system_name", "android");
        params.put("type", "android");
        params.put("sign", b.a(params.getURLHashMap(), timestamp + ""));
        params.put("time", timestamp + "");
        return params;
    }

3、双击进入b.a方法,倒着看,v4是最终结果,v9_2是第一次md5,v6是第二次md5,v9_1是md5的参数

public static String a(HashMap arg14, String time) {
        LinkedHashMap sortParams = new LinkedHashMap();
        Object[] key_arr = arg14.keySet().toArray();
        Arrays.sort(key_arr);
        int v10;
        for(v10 = 0; v10 < key_arr.length; v10 = (((int)v9)) + 1) {
            Object key = key_arr[v10];
            try {
                String v12 = key.toString();
                String v9 = URLEncoder.encode(((String)arg14.get(key)).toString(), "UTF-8");
                sortParams.put(v12, v9);
            }
            catch(UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        StringBuilder result = new StringBuilder();
        for(Object v1: sortParams.entrySet()) {
            Map.Entry entry = (Map.Entry)v1;
            if(result.length() > 0) {
                result.append("&");
            }
            result.append(((String)entry.getKey()));
            result.append("=");
            result.append(((String)entry.getValue()));
        }
        String v9_1 = result.toString().replace("*", "%2A").replace("%7E", "~").replace("+",  "%20");
        crack.log(v9_1);
        String v6 = MD5.md5(v9_1);
        crack.log(v6);
        String v9_2 = v6 + "1fa50ba25ed527f3fd1eb9467686f2bb" + time;
        crack.log(v9_2);
        String v4 = MD5.md5(v9_2);
        crack.log(v4);
        return v4;
    }

4、在上面三处处下断

2d65d23f6d4748949b924e4057485923.png

5、动态调试,触发断点

v9=account=15836353612&clientid=1&device_id=010067028741939&ip=1.1.1.1&modules=cloudlogin%3A1&password=a123456789&siteid=10001&system_name=android&type=android

2e9b90b2ca334476abebe75bafe6eeaa.png

V6=585179fa211c64189ef1cfb45b8b5e52

6、v6是v9的md5值

4cebaac233b3433da32a72337a77fc60.png

7、第二个

v9=2db65aefd5f993ee290b7b709edc8f46+1fa50ba25ed527f3fd1eb9467686f2bb+1630223825602,再进行一次md5加密,记得去了+,这里只是让大家看清楚

4cebaac233b3433da32a72337a77fc60.png

禁止非法,后果自负

目录
相关文章
|
3月前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
3月前
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
4月前
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
3月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
247 3
|
6月前
|
机器学习/深度学习 边缘计算 算法
NOMA和OFDMA优化算法分析
NOMA和OFDMA优化算法分析
340 127
|
8月前
|
数据采集 机器学习/深度学习 算法
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
501 4
|
3月前
|
存储 边缘计算 算法
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
|
6月前
|
JavaScript
TypeOrmModule 从 app.module.ts 抽离到 database.module.ts 后出现错误的原因分析
本文分析了TypeORM实体元数据错误的成因,主要涉及实体注册方式、路径解析差异及模块结构变化导致的关系解析问题,并提供了具体解决方案和最佳实践建议。
175 56
|
3月前
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
4月前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案

热门文章

最新文章