某影视APP算法逆向分析

简介: 某影视APP算法逆向分析

一、抓取数据包

1、请求头有%加十六进制,说以是url编码,先解密一下

GET  http://m.mapps.m1905.cn/User/sendVer?request=jYgPer7AuEqdM+DYqs/AbNb35UrMvjLwt4+f0p3RHXc=  HTTP/1.1

2、需要找的数值是requests的组成、pid(常量值)、key、did(设备编号)

GET  http://m.mapps.m1905.cn/User/sendVer?request=jYgPer7AuEqdM%2BDYqs%2FAbNb35UrMvjLwt4%2Bf0p3RHXc%3D HTTP/1.1
sid:
pid: 236
key: 69b39cb24632252f7bb891bdb1f0de85
did: 010067028741939
uid:
ver: 100/95/2016020901
User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.2; HD1900 Build/N2G47O)
Host: m.mapps.m1905.cn
Connection: Keep-Alive
Accept-Encoding: gzip

二、搜索链接里关键字"User/sendVer"

0a2653c851af460fa595bd959398a8f1.png

1、查看aay.b()函数,DESede算法

key:iufles8787rewjk1qkq9dj76,iv:vs0ld7w3

2、由于DESede是对称加密算法,密文是:jYgPer7AuEqdM+DYqs/AbNb35UrMvjLwt4+f0p3RHXc=,可以反推一下得到加密内容为:mobile=15836353612&templateid=1

0eacb84100b54626af849e6b562bf92a.png

三、搜索关键字key

2d65d23f6d4748949b924e4057485923.png

1、查看v0.i()函数

public String i() {
        return abh.a(abb.c() + "m1905_2014");
    }

2、查看abb.c()函数,获取设备id

public static String c() {
        String v0_2;
        try {
            TelephonyManager v0_1 =  (TelephonyManager)BaseApplication.a().getSystemService("phone");
            v0_2 = v0_1 == null ? "" : v0_1.getDeviceId();
        }
        catch(Exception v0) {
            v0_2 = "";
        }
        return v0_2;
    }

3、查看abh.a()函数,获取md5值

public class abh {
    public static final String a(String arg9) {
        int v0 = 0;
        if(!TextUtils.isEmpty(arg9)) {
            char[] v2 = new char[]{'0', '1', '2', '3', '4', '5',  '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
            try {
                byte[] v1 = arg9.getBytes();
                MessageDigest v3 =  MessageDigest.getInstance("MD5");
                v3.update(v1);
                byte[] v3_1 = v3.digest();
                char[] v5 = new char[(((int)v1)) * 2];
                int v1_1 = 0;
                while(v0 < v3_1.length) {
                    int v6 = v3_1[v0];
                    int v7 = v7 + 1;
                    char v8 = v2[v8 >>> 4 & 15];
                    v5[v1_1] = v8;
                    ++v1_1;
                    v5[v7] = v2[v6 & 15];
                    ++v0;
                }
                arg9 = new String(v5);
            }
            catch(Exception v0_1) {
                arg9 = null;
            }
        }
        return arg9;
    }
}

4、最终就是设备id+m1905_2014,然后再算md5

2e9b90b2ca334476abebe75bafe6eeaa.png

四、响应值解密

6de278e6d6694ce5bb08e7e842b7e74b.png

禁止非法,后果自负

目录
相关文章
|
15天前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
27天前
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
2月前
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
5天前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
59 3
|
4月前
|
机器学习/深度学习 边缘计算 算法
NOMA和OFDMA优化算法分析
NOMA和OFDMA优化算法分析
244 127
|
6月前
|
数据采集 机器学习/深度学习 算法
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
239 4
|
4月前
|
JavaScript
TypeOrmModule 从 app.module.ts 抽离到 database.module.ts 后出现错误的原因分析
本文分析了TypeORM实体元数据错误的成因,主要涉及实体注册方式、路径解析差异及模块结构变化导致的关系解析问题,并提供了具体解决方案和最佳实践建议。
125 56
|
25天前
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
2月前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案
|
3月前
|
人工智能 自然语言处理 算法
2025 年 7 月境内深度合成服务算法备案情况分析报告
2025年7月,中央网信办发布第十二批深度合成算法备案信息,全国389款产品通过备案,服务提供者占比超七成。截至7月14日,全国累计备案达3834款,覆盖文本、图像、音视频等多模态场景,广泛应用于生活服务、医疗、金融等领域。广东以135款居首,数字人、AI客服等C端应用主导,民营企业成主力,国企聚焦公共服务。随着AI政策推动,备案已成为AI产品合规上线关键环节。

热门文章

最新文章