Android 简单的so层逆向

前言

最近搞了一下安卓。简单学习记录一下。

目标程序: xiao shui mian

也就是某个参数的逆向

准备环境

  1. 安卓机
  2. scrcpy
  3. adb
  4. frida
  5. 解包软件(不列举了)

这种环境安装这里就不多说了。教程也很多。

参数逆向分析

先抓包看看参数

这里我使用的是postern抓包。因为如果要用网络代理的话可能会有检测。这里一步到位了

如下图配置

然后打开charles 配置下。记得安装证书 这里简单的配置我跳过了。

我们这里直接点进 社区的某个评论

然后我们抓包看看参数

如下图 sig 是我们所需要逆向的参数。

反编译逆向分析

这里直接把apk丢到Jadx中就可以了。

如下图操作即可。

然后发现 他在Java层是由Sinner.sign 返回来的。继续点进去。

然后发现这里上面是逻辑层的判断。下面是调用了 sbase的getSig

这里继续点进去。发现是调用了 lib中的base

如下图文件的位置

这里直接右击解压apk文件。然后找到对应的位置。

把这个libbase 放到 IDA中。记得选择IDA64

点击搜索

然后点进去。发现这就是个md5加密。

然后按tab 进去看方法、发现传了3个参数。

那后面就简单了。先用frida hook下基址。

代码如下

Java.perform(function () {var dlsymadd = Module.findExportByName("libbase.so", 'dlsym');Interceptor.attach(dlsymadd, {onEnter: function (args) {this.info = args[1];}, onLeave: function (retval) {var module = Process.findModuleByAddress(retval);if (module == null) {return retval;}// native方法var funcName = this.info.readCString();console.log(funcName)if (funcName.indexOf("GetSig") !== -1) {console.log(module.name);console.log(module.base);console.log('\t', funcName);}return retval;}})
});

执行以下命令

frida -U -f  com.psyone.brainmusic  -l static_find_so.js

找到基址了。

然后就根据基质。hook 这个传参就行了。

这里通过Interceptor.attach 来hook 两个传参就行了。

var funcAddress = ptr("0x701bdb8000") // 替换偏移量为实际值
var funcAdd = funcAddress.add(0x1c2c)

然后运行文件 这里切记要用大F

 frida -U -F -l 新的js文件

这里可以打开抓包软件 对比值是否一致。

先看下原本请求

再看下hook到的 然后发现原来是前后加盐了。

我们放到自己的代码中运行下看看是不是3b6198d0e19a919d7db354c4d1dfd5d6

然后发现是一致的 那这个参数就hook成功了。

最近也是刚学安卓。其实也没怎么学 就平时问问大佬。写的不好的 希望各位见谅。

结语

有兴趣的同学可以关注下我的个人公众号和星球
公众号链接
星球链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【仿真建模-anylogic】ViewArea解析

Author:赵志乾 Date:2024-06-27 Declaration:All Right Reserved!!! 1. 应用场景 view area又叫视图区域,其作用是在presentation中标记一块区域,便于动画演示过程中快速切换可视区…

海豚调度调优 | 如何解决任务被禁用出现的Bug

💡 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 祝开卷有益。 本系列教程基于 DolphinScheduler 2.0.5 做的优化。&#xff…

PTA—C语言期末复习(选择题)

1. 按照标识符的要求,(A)不能组成标识符。 A.连接符 B.下划线 C.大小写字母 D.数字字符 在大多数编程语言中,标识符通常由字母(包括大写和小写)、数字和下划线组成,但不能以数字开头&#xff0c…

如何解决centos停止维护后更换Debian11平替?

再有9天时间centos7.x就将停止维护,最近很多人已经再更换系统了!有推荐alibabacloud,opencloud,debian,ubuntu,centos-stream,tencentos,anolis,rockey,almal,oracle,arch,Fedora,opensuse 很多人不知道选什么,这里就主要介绍一下 如果你是使用宝塔面板 并且想要无缝衔…

java 数据新增、更新、删除监听,并记录日志或其他业务

数据新增、更新、删除监听,并记录日志或其他业务 1.使用场景 日志记录、KPI考核(业务进行到某个阶段,对人员的考核)等等 实体监听器 实体增加注解 EntityListeners({KpiOrderCounter.class}) /*** 订单管理考核** author sul…

1 数据结构算法:目录

1 哈希应用-CSDN博客 2 双指针-CSDN博客 3 滑动窗口-CSDN博客

记录PC微信小程序支付无响应问题

项目结构是小程序webview 访问h5,h5掉起支付时候,通过通信调用小程序的wx.requestPayment,完成支付。 测试发现,pc微信打开小程序,掉起微信支付无响应,也不进入任何回调 所以,此时支付必须跳转…

qiankun如何实现在子应用打开不带子应用前缀的新窗口页面?

qiankun 是一个基于 single-spa 的微前端实现方案,用于将多个前端应用整合到同一个主应用中。在 qiankun 的架构中,子应用通常是通过 URL 的路径来激活和挂载的。但是,在子应用中打开一个新窗口或标签页,并且这个页面不是子应用的…

JDBC以及事务

1、JDBC是什么? JDBC是Java DataBase Connectivity(Java语言链接数据库) 2、JDBC的本质 JDBC是一套接口,有调用者(java工程师)和实现者(SUN公司)(实现类被称为驱动&…

Android13系统导航栏添加音量加减键按钮功能

不知道为什么拿到芯片原厂发布给我们的Android13系统源码编译后,导航栏没有音量加减键,客户有反馈这个问题,所以特意加了一下,修改记录如下:frameworks/base目录下 commit 9cb2244d61a237cab03c540bfcca6e4fac2bea2c …

Linux OpenGrok搭建

文章目录 一、目的二、环境三、相关概念3.1 OpenGrok3.2 CTags3.3 Tomcat 四、OpenGrok搭建4.1 安装jdk4.2 安装ctags依赖4.3 安装universal-ctags4.3.1 下载universal-ctags4.3.2 编译&&安装universal-ctags 4.4 安装Tomcat4.4.1 下载&&解压Tomcat4.4.2 启动T…

继续捡钱,每天几百块!

每日操作计划: 标普信息科技(161128),溢价8.5%,限购100,一拖七,单户每天700*8.5%59元 印度基金LOF(164824),溢价2.6%,限购100,一拖七,单户每天700*2.6%18元 美元债LOF(…

【leetcode系列】46.全排列

题目:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入&am…

算法力扣刷题记录 二十【18题. 四数之和】

前言 哈希篇,继续。 记录 二十【18题. 四数之和】 一、题目阅读 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一…

为什么要本地化您的多媒体内容?

当我们访问网站、应用程序和社交媒体时,体验不再局限于陈旧的文本和静态图像。现代处理能力和连接速度提高了快速加载视频、音频和动画的可能性。 这一切都提供了更具沉浸感和互动性的用户体验。多媒体是数字营销中最有效的内容之一,因为它对用户更具吸…

vue-cli 项目打包优化-基础篇

1、项目打包完运行空白 引用资源路径问题,打包完的【index.html】文件引用其他文件的引用地址不对 参考配置:https://cli.vuejs.org/zh/config 修改vue.config.js ,根据与 后端 或 运维 沟通修改 module.export {// 默认 publicPath: //…

使用API有效率地管理Dynadot域名,为文件夹中的域名设置域名转发

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

全彩屏负氧离子监测站

TH-FZ5在追求绿色生态、健康出行的今天,景区不仅仅是人们休闲游玩的好去处,更是人们体验大自然、感受清新空气的重要场所。为了进一步提升游客的游览体验,许多景区纷纷引入了全彩屏负氧离子监测站,这一创新举措不仅为景区增添了科…

【怀庄之醉白酒】怀庄之醉酱香白酒哪款好?

【怀庄之醉酱香白酒】在怀庄之醉酱香白酒的丰富系列中,怀庄之醉尊品、怀庄之醉三星和怀庄之醉匠心之作是三款受到广泛欢迎的产品。 每一款酒都具备其独特的风味和适合的饮用场合。以下是对这三款酒特性的分析: 怀庄之醉 尊品:怀庄之醉 尊品…

云通SIPX,您的码号资源智能调度专家!

在数字化转型的浪潮中,号码资源作为企业与客户沟通的重要桥梁,其管理效率直接关系到企业运营的成败。随着运营商对号码资源管理的规范化和精细化,企业对高效、智能的号码资源管理需求日益增长,以实现对外呼叫的降本增效。 一、什么…