先抓包

改后缀zip直接解压后发现,lib文件夹里有腾讯乐加固的特征。并通过jadx打开classes.dex可发现只有壳代码基本确定该apk被乐加固加固了

使用Fdex2进行脱壳
现在xposed中选中模块,然后在该界面点进Fdex2选择引力波,然后回到主界面点开引力波后即脱壳成功到图片上述的目录地址

如果发现没有包被脱出,可能是应该文件夹的访问权限问题,在这里设置成超级用户的访问权限就能看到脱出的数据

把脱出的dex发到电脑上继续分析

然后通过jadx逐个打开去查看,然后发现这个文件就非常可疑,代码进行过混淆,说明这部分的代码非常重要

再加上上面从xml文件中分析得出的源程序入口类MyApplication也能在这份文件里面搜索到,基本上确认了是这份源文件了

然后去请求参数signature尝试进行搜搜,出来的结果很多,需要进行判断

这行的内容比较可疑,需要的包的其他请求参数都有涉及在内

整行代码是
aa a3 = a2.e().b("sys", "Android").b("sysVersion", Build.VERSION.RELEASE).b("appVersion", MyApplication.getInstance().getAppVersion()).b("appVersionCode", String.valueOf(MyApplication.getInstance().getAppVersionCode())).b("udid", udid).b("clientType", "android").b("timestamp", valueOf).b("signature", a(udid, valueOf)).a();
通过jadx的反混淆工具进行进一步的分析

通过推测mo295b方法的作用就是将传入的参数2的值赋给参数1


于是乎signature的值就是m12059a(udid, valueOf)的返回值

udid, valueOf的值在上面有被定义,而m12059a也可以在下面找到

于是继续右键跟进m11218a方法。这里应该就是signature的实现地方了

后面则需要python调用java去执行这些java代码,看分析是否正确。由于JPype在window系统上的兼容性不好,所以在ubuntu虚拟机上配置。配置出现一些错误。在在线java执行网址进行调试https://c.runoob.com/compile/10

# 最终代码
import java.security.MessageDigest;public class HelloWorld {public static void main(String []args) {String valueOf1 = String.valueOf(System.currentTimeMillis() / 1000);String valueOf2 = String.format("%s&&%s&&%s", new Object[]{"IMEI910000000048867-IMSINNNNNNNN", valueOf1, "f1190aca-d08e-4041-8666-29931cd89dde"});System.out.println(valueOf2);StringBuffer stringBuffer = new StringBuffer();try {MessageDigest instance = MessageDigest.getInstance("MD5");instance.update(valueOf2.getBytes());for (byte b : instance.digest()) {stringBuffer.append(Integer.toString((b >>> 4) & 15, 16)).append(Integer.toString(b & 15, 16));}} catch (Exception e) {}System.out.println("----------------------------------------");System.out.println(stringBuffer.toString());}}

怎么通过JPype执行
在ubuntu新建空白文件,将上述代码复制进去,并以类名命名,以java为文件后缀

在当前目录下通过javac将java文件编译成class文件

将class文件打包成jar包

在pycharm中对jar包进行调用
import jpype
from jpype import JClass# 获得java的执行路径
jvmPath = jpype.getDefaultJVMPath()
print(jvmPath,"-jvmPath")
jarpath = "/home/sam/Documents/java_code/test/"
# 启动虚拟机,并引入jar包
jpype.startJVM(jvmPath,"-ea","-Djava.class.path=%s"%(jarpath+"Myway.jar"))
# 通过JClass接口生成类
JDClass = JClass("Myway")
# 对类进行实例化
jd = JDClass()
# 对类方法进行调用
encry_sig = jd.tt([])
jpype.java.lang.System.out.println(encry_sig)
# 关闭虚拟机
jpype.shutdownJVM()

安卓逆向-iCitySuzhou的请求参数signature | Fdex2脱壳相关推荐

  1. 安卓逆向-KG音乐2021最新版下载接口分析

    安卓逆向-KG音乐2021最新版下载API分析 安卓逆向-KG音乐最新版API Java代码实现 后记 安卓逆向-KG音乐最新版API 吐槽一下,相对于其他几个大型音乐平台讲,KG音乐的API设计非常 ...

  2. 安卓逆向Xposed HOOK TB直播APP的x-sign参数

    最近学习安卓逆向,接触一下TB系的APP,了解大厂APP是做数据安全的,这篇文章主要介绍某宝直播APP的签名参数x-sign的HOOK过程,当然,其他的参数也是可以HOOK的.本文只用于学习交流,请勿 ...

  3. Python爬虫:逆向分析某酷音乐请求参数

    文章目录 前言 1. 请求分析 2. 获取参数 3. 提取信息 结束语 前言   免责声明:     本篇博文的初衷是分享自己学习逆向分析时的个人感悟,所涉及的内容仅供学习.交流,请勿将其用于非法用途 ...

  4. app安卓逆向x-sign,x-sgext,x_mini_wua,x_umt加密参数解析

    安卓逆向某生鲜平台app 本文仅作为学习交流,禁止用于商业使用 1.背景 阿里系当前采用的加密版本是6.3,6.2版本的大家几乎都解决了,6.3的网上资料很少,这里讲讲6.3的解密过程 1.阿里系通用 ...

  5. 安卓逆向Xposed HOOK TB直播APP的x-sign参数(二)

    最近学习安卓逆向,接触一下TB系的APP,了解大厂APP是做数据安全的,这篇文章主要介绍某宝直播APP的签名参数x-sign的HOOK过程,当然,其他的参数也是可以HOOK的.本文只用于学习交流,请勿 ...

  6. 【JS逆向】xx社区 帖子 请求参数加密(nonce)

    注意:文章内容仅用于学习和技术交流,如有侵权请联系我删除. 学者应洁身自好,切勿做出违法的事情,旨在提供逆向思路. ➣➣欢迎关注本人微信公众号:Anonymous NoteBook➣➣ 分享好玩有趣的 ...

  7. 安卓逆向小案例——阿里系某电影票务APP加密参数还原-Unidbg篇

    安卓逆向小案例--阿里系某电影票务APP加密参数还原-Unidbg篇 一.前期准备 使用unidbg还原参数时,首先需要找到指定的native方法和对应的so文件.而锁定生成加密参数的native方法 ...

  8. 安卓逆向例子--某菠菜APP token pwd 参数

    我最近发现有很多小伙伴拿我上一次写的博客的东西进行盈利,就....以后不写大厂的吧. 本文只涉及 静态分析,建议无基础的同学,自行补足Java 基础,不要盲目的跳高,更不可眼高手低.  附APP样本例 ...

  9. Python爬虫:逆向分析酷我音乐请求参数(支持SQ超品音质)

    文章目录 前言 1. 请求分析 2. 获取参数 3. 完整代码 结束语 前言   免责声明:     本篇博文的初衷是分享自己学习逆向分析时的个人感悟,所涉及的内容仅供学习.交流,请勿将其用于非法用途 ...

最新文章

  1. 阎崇年:《袁崇焕传》自序
  2. CentOS x86_64系统手动释放内存
  3. python入门经典100例-Python3经典100例(Python3入门习题) 含答案 doc版
  4. python case when用法_oracle菜鸟学习之 select case when的使用
  5. 【基础推导】MPC控制器及其车辆模型详细推导 (附代码链接及详细推导说明)
  6. shell脚本中 EOF的意思
  7. 有2n个硬币,其中除一个略重外,其余2n-1个都一样重。
  8. 苹果手机linux系统版本号,Linux下查看系统版本号信息的方法(转)
  9. NLPCC数据集汇总
  10. centos网络显示已连接但无法打开网页
  11. win服务器系统更新失败怎么办,win10系统更新失败怎么办
  12. 扫描转换html,html+css实现图片扫描仪特效
  13. 华硕无畏 16 2023参数配置 华硕无畏 16 2023评测
  14. DataWhale 组队学习爬虫 Task2
  15. 外观模式-简化子系统的复杂性
  16. 什么是数据科学家_为什么数据科学家应该使用功能?
  17. centos8安装python3.6_Centos下安装Python3.6
  18. 四大渲染农场渲染价格对比
  19. java关于Zxing 生成带Logo 二维码图片失真问题
  20. 计算机无法共享打印,解决win7电脑打印机无法共享|打印机共享提示0x000006d9应如何解决...

热门文章

  1. php解:2006 年百度之星程序设计大赛复赛题目 4 ----彩球游戏
  2. 工业设计课程作业——基于Arduino制作的宋代点茶文化小夜灯
  3. mysql dts_DTS(数据传输)
  4. UE4 管理游戏的音量 开关
  5. 【内网流量操控技术四】DNS隧道之iodine
  6. 源代码防泄密产品介绍
  7. 【有奖问卷】全球3万多名程序开发员都在参与的调研!丰富抽奖奖品+福袋奖励...
  8. Dijkstra算法实现求有向图中一顶点到其余各个顶点的最短路径
  9. C# 字符串首字母大写其余小写
  10. March 7.2022.