一、用工具抓包

二、分析apk是否加壳

没有加壳,直接用jadx打开分析
查找data=参数

文件:su_ning_jin_rong.js

Java.perform(function () {var encrypt1 = Java.use("org.bouncycastle.crypto.engines.SM2Engine");console.log(encrypt1);encrypt1.encrypt.overload('[B', 'int', 'int').implementation = function (args1,args2,args3) {console.log("args1-1", args1,args2,args3);//JS输出内容为[object Object]  转换成数组,然后转换成字节console.log(JSON.stringify(args1),args2,args3)var args = this.encrypt(args1,args2,args3);console.log("args-1", args);return args}
});

三、用Frida HOOK 登录入参数

# -*- coding: utf-8 -*-import logging
import frida
import sys
logging.basicConfig(level=logging.DEBUG)def on_message(message, data):print(message)with open('su_ning_jin_rong.js', 'r', encoding='utf-8') as f:sta = ''.join(f.readlines())rdev = frida.get_remote_device()
processes = rdev.enumerate_processes()  # 安卓手机中的所有进程
print(processes)
# android.content.Intent android.content.Context android.view.ViewGroup  java.lang.String, java.util.List  [Ljava.lang.String;(String[]), javax.net.ssl.SSLSession  SSLSession
session = rdev.attach("com.suning.mobile.epa")
print(session)
script = session.create_script(sta)script.on("message", on_message)
script.load()
sys.stdin.read()

四、用Frida HOOK SM2 公钥

Java.perform(function () {var encrypt1 = Java.use("k.a.a.a.a.a");console.log(encrypt1);encrypt1.b.overload('java.lang.String', '[B', '[B').implementation = function (args1,args2,args3) {console.log("args1-1", args1, args2, args3);//JS输出内容为[object Object]  转换成数组,然后转换成字节// console.log(JSON.stringify(args1),args2,args3)console.log(args1)console.log(JSON.stringify(args2))console.log(JSON.stringify(args3))var args = this.b(args1,args2,args3);console.log("args-1:", args);return args}
});
import logging
import frida
import syslogging.basicConfig(level=logging.DEBUG)def on_message(message, data):print(message)with open('su_ning_jin_rong_key.js', 'r', encoding='utf-8') as f:sta = ''.join(f.readlines())rdev = frida.get_remote_device()
processes = rdev.enumerate_processes()  # 安卓手机中的所有进程
print(processes)
# android.content.Intent android.content.Context android.view.ViewGroup  java.lang.String, java.util.List  [Ljava.lang.String;(String[]), javax.net.ssl.SSLSession  SSLSession
session = rdev.attach("com.suning.mobile.epa")
print(session)
script = session.create_script(sta)script.on("message", on_message)
script.load()
sys.stdin.read()

五、安装gmssl

pip install gmssl

import binascii
import json
from gmssl import sm2public_key = '47882F6B93CE57EA6903DEE9387E1BDC6D42763EFF2D93167FE92CD1D0A9C31A3D20BC796A0D7C60003BDDF3DF2C841F4E78C36A25720DFD44E9991490770AF4'
sm2_crypt = sm2.CryptSM2(public_key=public_key, private_key='')
data = json.dumps({"mobileNo": "13899999999", "sceneId": "FTIS-M-001"}, separators=(',', ':')).encode()enc_data = sm2_crypt.encrypt(data)
result = binascii.b2a_hex(enc_data).upper().decode()
print(result)a=[123,34,109,111,98,105,108,101,78,111,34,58,34,49,51,57,49,56,50,51,56,51,52,52,34,44,34,115,99,101,110,101,73,100,34,58,34,70,84,73,83,45,77,45,48,48,49,34,125]
print(bytes(a))

六、获取公钥public_key

JS文件:su_ning_jin_rong_key.js

Java.perform(function () {var encrypt1 = Java.use("k.a.a.a.a.a");console.log(encrypt1);encrypt1.b.overload('java.lang.String', '[B', '[B').implementation = function (args1,args2,args3) {console.log("args1-1", args1, args2, args3);//JS输出内容为[object Object]  转换成数组,然后转换成字节// console.log(JSON.stringify(args1),args2,args3)console.log(args1)console.log(JSON.stringify(args2))console.log(JSON.stringify(args3))var args = this.b(args1,args2,args3);console.log("args-1:", args);return args}
});

七、HOOK 公钥public_key

import logging
import frida
import syslogging.basicConfig(level=logging.DEBUG)def on_message(message, data):print(message)with open('su_ning_jin_rong_key.js', 'r', encoding='utf-8') as f:sta = ''.join(f.readlines())rdev = frida.get_remote_device()
processes = rdev.enumerate_processes()  # 安卓手机中的所有进程
print(processes)
# android.content.Intent android.content.Context android.view.ViewGroup  java.lang.String, java.util.List  [Ljava.lang.String;(String[]), javax.net.ssl.SSLSession  SSLSession
session = rdev.attach("com.suning.mobile.epa")
print(session)
script = session.create_script(sta)script.on("message", on_message)
script.load()
sys.stdin.read()

八、加密

Android逆向—苏宁金融app的data参数分析相关推荐

  1. 某次元app之data参数分析

    今天我们要分析的app 是5Y2K5qyh5YWD54mI5pys5Y+3djUuMC44 ,小伙伴们可以去各大应用商定自行下载. 同系列文章推荐下: 1.聚美app之 _sign参数分析 2.大润发 ...

  2. 聚美app之 _sign参数分析

    今天我们要分析的app 是聚美优品, 版本号v8.781 (当前最新版),小伙伴们可以去各大应用商定自行下载. 转载请注明出处: https://blog.csdn.net/weixin_388198 ...

  3. 大润发优鲜app之paramsMD5参数分析

    今天我们要分析的app 是大润发优鲜, 版本号1.4.0,小伙伴们可以去各大应用商定自行下载,软件使用360壳且混淆,APP校验了HTTPS证书,需要使用xposed的JustTrustMe模块. 参 ...

  4. 苏宁金融App全链路灰度实践

    背景 \\ 在这个移动互联网日渐成熟的今天,手机端流量占比高达85%.大家为了抢夺用户手机屏幕上的一席之地,杀成红海,产品的极限飙车.急速迭代.整个系统的日趋复杂可是研发时间一再压缩,变成了移动产品质 ...

  5. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | dvmDexFileOpenPartial | dexFileParse | 脱壳点 | 获取 dex 文件在内存中的首地址 )

    文章目录 前言 一.DexPrepare.cpp 中 rewriteDex() 方法分析 二.DvmDex.cpp 中 dvmDexFileOpenPartial() 方法分析 ( 脱壳点 ) 三.D ...

  6. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmContinueOptimizati() 函数分析 )

    文章目录 前言 一.DexPrepare.cpp 中 dvmContinueOptimizati() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DEX 优化流程分析 | D ...

  7. 飞瓜快数app之sign参数分析

    趁着还有一些记忆,赶紧记录下. 今天我们要分析的app 是飞瓜快数,版本号v1.0.8 ,小伙伴们可以去各大应用商定自行下载. 只做参数分析,用来学习,如有侵权,请联系博主,第一时间删除. 转载请注明 ...

  8. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )

    文章目录 前言 一.DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 二./bin/dexopt 源码分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ...

  9. Android逆向之八门神器原理解析(主要分析其修改内存原理)

    实现dump出指定进程的内存文件 进阶 进程注入 参考教程:Android注入完全剖析 问题解决 1.执行memdump时报错:error: only position independent exe ...

最新文章

  1. JS中Node节点总结
  2. oracle 11g 11.2.0.1 设置HuagePage导致TRC 变大 变多
  3. 少的力量,强大到你难以想象
  4. 开发:异常收集之 ibatis+Oracle 查询时: ORA-00911错误
  5. VSCode打开中文乱码
  6. 实录:oracle下大表清理整改
  7. Redis--位图BitMap
  8. MongoDB客户端Robo 3T安装使用
  9. 三线摆法测刚体转动惯量实验结论_关于刚体转动的前概念研究
  10. mt6573 环境配置
  11. 新浪短网址API接口的获取以及API接口的调用文档分享
  12. 计算机管理的服务打不开,win7系统管理服务打不开的解决方法
  13. smart-link monitor-link
  14. Go :运行linkx测试(附完整源码)
  15. Jmeter安装配置详细教程
  16. 网络常用密码忘记破解方法
  17. 238. 银河英雄传说(并查集,扩展域)
  18. mp4格式怎么转换成gif格式?简单3步完成视频制作gif
  19. NiuMu PayPal/Stripe轮询支付多商户(1个主商户N个子商户)后台操作指南
  20. 医疗专业计算机考试题库,计算机专业考试题库(附答案)

热门文章

  1. Lecture11: (增强)拉格朗日松弛技术
  2. C++学习笔记:(八)模板
  3. VoIP网络电话,VoIP渐成摇钱树 市场容量已达20亿美元
  4. Postgres - 数据类型
  5. android 如何调查并解决 ANR
  6. 旅行回忆录----九寨沟、黄龙篇
  7. 华为畅享9 Plus前沿硬件技术齐上阵 千元机游戏“旗舰”机体验
  8. 主机1访问主机2时数据在二层网络的流程。
  9. STINGY SAT
  10. “全国大学生计算机等级考试一级”英语翻译