Android逆向-数据修改逻辑修改视图修改

目录

0x00 相关工具及环境

0x01 APP逆向 - 数据修改

0x02 APP逆向 - 逻辑修改

0x03 APP逆向 - 视图修改


希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢!  

个人博客链接:CH4SER的个人BLOG – Welcome To Ch4ser's Blog

0x00 相关工具及环境

1、安卓模拟器(最好root的真机)
2、Magisk&XP&LSP框架 HOOK环境
安装参考:https://blog.csdn.net/danran550/article/details/132256027
3、Jadx-Gui 反编译Java代码查看器
4、ApkScan-PKID 查壳工具
5、MT管理器&NP管理器 打包签名综合类
6、开发组手&开发者组手 信息获取综合类
7、算法组手&XP&LSP框架模块 常见HOOK
8、Smali语法查询 Smali逻辑修改辅助
9、脱壳相关:https://mp.weixin.qq.com/s/poQPuvaQPadQxRu_WGvy1A

**资源下载地址:https://pan.baidu.com/s/1IGPNSt0U973Pki7tiOZw5A?pwd=8888

0x01 APP逆向 - 数据修改

wuaipojie第一关:根据关卡要求尝试替换App中的文字

​使用MT管理器提取wuaipojie安装包,搜索"hello 52pojie"

xml后缀是APK的应用清单信息,它描述了应用的名字、版本、权限、引用的库文件等等信息。反编译Jf.xml后继续搜索"hello 52pojie",替换文字。

保存退出,选择自动签名,安装新打包的wuaipojie,可以看到文字已被替换。

如果想要替换下面的俄语,需要用到开发者助手,点击开始,这样便可以复制App中的俄语

同样MT管理器搜索定位到resources.arsc,是编译后的二进制资源文件(一个映射表),映射着资源和id,通过id可以定位到对应资源位置。

使用Arsc编辑器打开继续搜索俄语,替换文字,保存退出并签名打包安装,可以看到文字已被替换

0x02 APP逆向 - 逻辑修改

wuaipojie第二关:考虑绕过限制做到不需要硬币也可以三连

MT管理器搜索"请先获取10个硬币哦"定位到classes.dex,这是Java源码编译后生成的Java字节码文件,是APK运行的主要逻辑。

使用Dex编辑器++继续搜索定位到具体Smali代码,如下:

Smali代码我看着比较困难,所以使用NP管理器将其转换为Java代码查看(MT的要收费)。

整个Java代码逻辑大致为长按会判断intRef值是否大于10,大于则执行三连操作,否则弹窗提示。

于是来到MT这边的Smali代码,搜索定位0xa(也就是16进制的10) ,得知寄存器v0值为0xa。

搜索v0出现的位置,即下面的if判断:if-ge p0, v0, :cond_15

也就是说,如果p0大于等于v0,那么就跳到cond_15,猜测cond_15就是执行三连,于是我们可以考虑将判断条件-ge改为-le,也就是硬币小于等于10才执行三连即可。

保存退出,重新加签打包安装,可以看到硬币数为0也可以执行三连操作了。

0x03 APP逆向 - 视图修改

wuaipojie第三关:点开后过一会儿就会弹窗广告,按返回键无效,只能选择前往论坛或退出软件,考虑屏蔽广告。

需要用到MT或NP的Activity记录功能,抓取并复制广告的类名com.zj.wuaipojie.ui.AdActivity

在classes.dex搜索类名com.zj.wuaipojie.ui.AdActivity

NP管理器将Smali转为Java代码,发现loadAd方法设置弹窗延迟为3000ms

在MT这边Smali代码定位0xbb8(16进制的3000),这里Smali代码将0xbb8赋值给寄存器v2,然后将v2传入调用sendEmptyMessageDelayed方法,猜测就是延迟的毫秒数3000ms。考虑将v2赋值0x0,是不是就不会弹窗了呢?

保存编译退出,加签安装,发现不再弹窗广告。 

屏蔽广告的操作还可以通过hook脚本操作,使用Magisk Delta、LSPosed、算法助手

可以看到广告同样也是不弹的

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

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

相关文章

RocketMQ学习笔记:零拷贝

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、零拷贝技术1.1、什么是零拷贝1.2、mmap()1.3、Java中的零拷贝 1、零拷贝技术 1.1、什么是零拷贝 使用传统的IO,从硬盘读取数据然后发送到网络需要经过四个步骤。 通过DMA复…

css简单动画实现

html源码 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>西安工程大学</title><link …

下载安装anaconda和pytorch的详细方法,以及遇到的问题和解决办法

下载安装Anaconda 首先需要下载Anaconda&#xff0c;可以到官网Anaconda官网或者这里提供一个镜像网站去下载anaconda镜像网站 安装步骤可参考该文章&#xff1a;Anaconda安装步骤&#xff0c;本篇不再赘述 注意环境变量的配置&#xff0c;安装好Anaconda之后一定要在环境变量…

深入并广泛了解Redis常见的缓存使用问题

Redis 作为一门主流技术&#xff0c;缓存应用场景非常多&#xff0c;很多大中小厂的项目中都会使用redis作为缓存层使用。 但是Redis作为缓存&#xff0c;也会面临各种使用问题&#xff0c;比如数据一致性&#xff0c;缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩&#…

원클릭으로 주류 전자상거래 플랫폼 상품 상세 데이터 수집 및 접속 시연 예제 (한국어판)

클릭 한 번으로 전자상거래 플랫폼 데이터를 캡처하는 것은 일반적으로 웹 페이지에서 정보를 자동으로 추출 할 수있는 네트워크 파충류 기술과 관련됩니다.그러나 모든 형태의 데이터 수집은 해당 웹 사이트의 사용 약관 및 개인 정보 보호 정책 및 현지 법률 및 규정을 준수…

Python处理包含不可打印/显示字符的中文字符串

Python处理包含不可打印/显示字符的中文字符串 在利用Python分析一个日志文件时&#xff0c;发现python读取文件总是报错: (result, consumed) self._buffer_decode(data, self.errors, final) UnicodeDecodeError: utf-8 codec cant decode byte 0xe3 in position 210: inva…

深入探索Yarn:安装与使用指南

Yarn 是一个由 Facebook 开发的 JavaScript 包管理器&#xff0c;旨在提供更快、更可靠的包管理体验。它与 npm 类似&#xff0c;但在某些方面更加高效和可靠。本文将介绍如何安装 Yarn&#xff0c;并展示如何使用它来管理 JavaScript 项目的依赖。 1. 安装 Yarn Yarn 可以通…

香港服务器与SEO的关系(香港服务器对SEO影响大吗?)

香港服务器与 SEO 的关系是一个备受关注的话题&#xff0c;不少站长在选择了香港服务器后&#xff0c;便会疑问&#xff1a;香港服务器对SEO的影响是否显著?那么&#xff0c;在这里就跟大家聊聊两者的关系以及影响大小。 其实&#xff0c;不少站长对 SEO 的这种担忧和想法是片…

k8s系列之十七 Istio中的服务治理

删除前面配置的目的地规则 [rootk8s-master ~]# kubectl delete destinationrule details destinationrule.networking.istio.io "details" deleted [rootk8s-master ~]# kubectl delete destinationrule productpage destinationrule.networking.istio.io "pr…

【目录整理】(五)

​​​​​Git 基础 Git 详细安装教程文章浏览阅读10w次&#xff0c;点赞9.6k次&#xff0c;收藏1.7w次。Git 是个免费的开源分布式版本控制系统&#xff0c;下载地址为git-scm.com 或者 gitforwindows.org&#xff0c;本文介绍 Git-2.40.0-64-bit.exe 版本的安装方法&#x…

什么是齐纳二极管?齐纳二极管1SMB5944BT3G参数详解+应用方案

关于齐纳二极管基本知识&#xff1a; 齐纳二极管&#xff0c;又称稳压二极管。利用PN结的反向击穿状态&#xff0c;电流变化范围大&#xff0c;电压基本不变。制作了具有稳压功能的二极管。这种二极管是一个高电阻半导体器件&#xff0c;直到临界反向击穿电压。在这个临界击穿…

springcloud基本使用(搭建eureka服务端)

创建springbootmaven项目 next next finish创建成功 删除项目下所有文件目录&#xff0c;只保留pox.xml文件 父项目中的依赖&#xff1a; springboot依赖&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s…

Spring 源码调试问题 ( List.of(“bin“, “build“, “out“); )

Spring 源码调试问题 文章目录 Spring 源码调试问题一、问题描述二、解决方案 一、问题描述 错误&#xff1a;springframework\buildSrc\src\main\java\org\springframework\build\CheckstyleConventions.java:68: 错误: 找不到符号 List<String> buildFolders List.of…

canal: 连接kafka (docker)

一、确保mysql binlog开启并使用ROW作为日志格式 docker 启动mysql 5.7配置文件 my.cnf [mysqld] log-binmysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server-id1一定要确保上述两个值一个为ROW&#xff0c;一个为ON 二、下载canal的run.sh https://github.c…

马斯克旗下xAI发布Grok-1.5,相比较开源的Grok-1,各项性能大幅提升,接近GPT-4!

本文原文来自DataLearnerAI官方网站&#xff1a;马斯克旗下xAI发布Grok-1.5&#xff0c;相比较开源的Grok-1&#xff0c;各项性能大幅提升&#xff0c;接近GPT-4&#xff01; | 数据学习者官方网站(Datalearner) 继Grok-1开源之后&#xff0c;xAI宣布了Grok-1.5的内测消息&…

头歌 实验一 关系数据库标准语言SQL湖北汽车工业学院 )

头歌 实验一 关系数据库标准语言SQL 制作不易&#xff01;点个关注呗&#xff01;为大家创造更多的价值&#xff01; 目录 头歌 实验一 关系数据库标准语言SQL**制作不易&#xff01;点个关注呗&#xff01;为大家创造更多的价值&#xff01;** 第一关&#xff1a;创建数据库第…

用Python实现办公自动化(自动化处理Excel工作簿)

自动化处理Excel工作簿 &#xff08;一&#xff09;批量生产产品出货清单 以“出货统计表”为例&#xff0c; 需求&#xff1a;将出货记录按照出货日期分类整理成多张出货清单 “出货统计表数据案例” “产品出货清单模板” 1.提取出货统计表的数据 “Python程序代码” # 使用…

NC269391 炸鸡块哥哥的粉丝题

题目描述 智乃作为炸鸡块哥哥的粉丝&#xff0c;做了一场炸鸡块哥哥的比赛后得出一个结论&#xff0c;那就是炸鸡块哥哥的话&#xff0c;最多只能信半句。 现在给你一个长度为N的字符串S&#xff0c;请输出前 个字符&#xff0c;表示只能相信半句话。 例如当炸鸡块哥哥说&…

【软考】设计模式之状态模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 优缺点5.1 优点5.2 缺点 6. java示例6.1 非状态模式6.1.1 问题分析6.1.2 接口类6.1.2 实现类6.1.3 客户端6.1.4 结果截图 6.2 状态模式6.2.1 抽象状态类6.2.2 状态类6.2.3 上下文类6.2.4 上下文类 1. 说明 1.允许一个对象在其内部状…

2024-2028年中国二茂铁市场行情监测及未来发展前景研究报告

二茂铁市场供不应求 投资及产需规模均有增长 二茂铁又称二环戊二烯合铁&#xff0c;是一种具有芳香族性质的有机过渡金属化合物&#xff0c;化学式为Fe(C5H5)2&#xff0c;常温下为橙黄色粉末固体&#xff0c;有类似樟脑的气味。二茂铁不溶于水&#xff0c;易溶于苯、乙醚、汽油…