安卓逆向 -- POST数据解密

简介: 安卓逆向 -- POST数据解密

一、通过上几节课我们知道要找的加密数据如下

{"Encrypt":"NIszaqFPos1vd0pFqKlB42Np5itPxaNH\/\/FDsRnlBfgL4lcVxjXii4KhogG\/C4u8yj2BCWdrDBlE\nm\/tlCFbgkTeVrEwGYpBtmuwEYeSFr7zfAr\/2Gtv7Sw4Wz9u3unWuTw34VLT\/1mbgDILNi9D8Ajku\nTRKnYuVNl7sINjvCbcAvBfcj8kJLeTyot7GVH4h6jQw\/BzC5GW2wjO91F0AFa8fEr\/g\/8gYnisBB\n3gxZ5J8=\n"}

二、通过动态调试时,知道v2存放了加密值

image.png

三、在smali代码处,按table键,切换到java代码,把鼠标移动到encrypt处会看到加密后的结果

image.png

四、看到deskeye,desIV,基本可以判断是des加密方式,返回smali代码,v0是明文,v5和v6正好对应deskkey和desIV

v5="65102933"
v6="32028092"
v0={"equtype":"ANDROID","loginImei":"Android010067028741939","sign":"F89CAB514B907A69CFE0A476EEF4AD32","timeStamp":"1628078089688","userPwd":"123456","username":"15836353612"}

image.png

五、双击encodeDESMap进入,再双击DESSecurity进入,按table切换到java代码,是CBC模式的DES加密,key进行了一次md5,

image.png

六、最后提交的的加密内容(需要JS加密库),下面还需要分析sign值

function jimitj(user, pass) {
    var time = new Date().getTime();
    var sign = getSign(user, pass, time);
    var mw = '{"equtype":"ANDROID","loginImei":"Android359250050380441","sign":"' + sign + '","timeStamp":"' + time + '","userPwd":"' + pass + '","username":"' + user + '"}';
    var key=CryptoJS.enc.Hex.parse(CryptoJS.MD5('65102933').toString());
    var iv=CryptoJS.enc.Utf8.parse('32028092');
   var res= CryptoJS.DES.encrypt(mw,key,{
        iv:iv,
        mode:CryptoJS.mode.CBC,
        padding:CryptoJS.pad.Pkcs7
    }).toString();
    return res;
}

七、sign值代码(需要JS加密库)

image.png

function getSign(user,pass,time){
    var signstr="equtype=ANDROID&loginImei=Android359250050380441&timeStamp="+time+"&userPwd="+pass+"&username="+user+"&key=sdlkjsdljf0j2fsjk";
    return CryptoJS.MD5(signstr).toString().toUpperCase();
}

禁止非法,后果自负

目录
相关文章
|
9月前
|
人工智能 自然语言处理 小程序
微信小程序+淘宝API,无缝购物体验提升复购率!
在电商竞争激烈的当下,微信小程序与淘宝API的整合为商家提供了一条提升用户体验与复购率的创新路径。本文详解其整合原理、实现步骤及优势,助力商家打造无缝购物体验,提升转化效率。
387 0
|
12月前
|
JSON 数据格式
利用HTTP POST协议实现简单的RPC协议,并使用WireShark进行抓包分析
通过这种方式,我们可以利用HTTP POST实现简单的RPC协议,并使用WireShark进行抓包分析。这种方式简单易懂,实用性强,可以应用于各种网络编程场景。
509 16
|
编译器 测试技术 C语言
vscode+CMakeLists+mingw配置Opencv4.5.5
vscode+CMakeLists+mingw配置Opencv4.5.5
1195 0
|
JSON Java 数据格式
Java系列之:如何取出嵌套JSON中的数据值
这篇文章介绍了如何在Java中取出嵌套JSON数据值的方法,通过使用`JSONObject`类及其`getJSONObject`和`get`方法来逐步解析和提取所需的数据。
Java系列之:如何取出嵌套JSON中的数据值
|
Web App开发 数据挖掘 Python
Python 阿里云盾滑块验证
Python 阿里云盾滑块验证
1299 0
Python 阿里云盾滑块验证
|
数据采集 前端开发 数据库
Python实现post请求虾皮shopee商品详情数据接口
Python实现post请求虾皮shopee商品详情数据接口
|
Nacos 数据库 数据安全/隐私保护
Seata下载安装步骤
Seata下载安装步骤
1770 0
|
安全 网络协议
端口扫描神器:御剑 保姆级教程(附链接)
端口扫描神器:御剑 保姆级教程(附链接)
|
关系型数据库 Linux Nacos
Linux 环境下使用 Docker 部署 Seata 1.7.1 (图文教程)
Linux 环境下使用 Docker 部署 Seata 1.7.1 (图文教程)
|
算法 数据安全/隐私保护 索引
App逆向百例|09|某App hkey分析还原
App逆向百例|09|某App hkey分析还原
955 0

热门文章

最新文章

下一篇
开通oss服务