Android逆向学习(二)vscode进行双开与图标修改
Android逆向学习(二)vscode进行双开与图标修改
写在前面
这其实应该还是吾爱的第一个作业,但是写完上一个博客的时候已经比较晚了,如果继续敲机械键盘吵到室友,我怕我看不到明天的太阳,所以我决定分成两篇博客来进行学习
注意:我希望我的博客可以是不管是从那一篇开始看都可以学会,所以在我的每一篇博客中都会重复提到前面的很多内容,所以如果您感觉我的博客十分啰嗦请见谅
一、环境准备
老样子,我使用的还是linux系统(ubuntu 22.04),vscode,以及xdroid,主要的插件都和上一次一样,这里就不再讲软件如何配置的,详细请见上一篇博客
二、实现双开
1、什么是双开
双开就是在一个android机器中同时安装和运行两个相同的软件,实现双开的方法有很多,这里我们就讲最简单的一个就是修改包名,让系统认为这是两个不同的软件,这个的实现方法也很简单,我们只需要修改相应文件下的包名就可以了
2、开始替换包名
首先我们打开AndroidManifest.xml这个文件,这个文件了解过android开发的都知道,这里面就是这个apk应用的简单介绍,比如名字图标等,我们首先就要修改这个包名,包名在这个位置

然后我们在vscode左侧查找这个包名,com.zj.wuaipojie全部替换为 com.zj.dongbeiwangshi(东北往事)

然后我们还需要把smali里面的Lcom/zj/wuaipojie换成Lcom/zj/dongbeiwangshi

共有99个文件的1453个地方需要修改
然后我们还需要修改一下包的结构,就是之前的结构是com.zj.wuaipojie,把文件目录换成com.zj.dongbeiwangshi

然后我们右键apktool.yml重新打包签名安装一下,这里会有两个bug请注意,具体方法在前一篇博客中
然后我们就会发现出现了两个wuaipojie

其中一个的包名已经被换成了dongbeiwangshi

正常运行也是没有任何问题的(运行方法也在上一篇博客中,这是一个xdroid的bug)
二、修改软件名和图标
上面我们已经完成双开,这里我们开始对包名和图标进行修改
需要修改的是这两个地方

还是修改app_name,看到@string了,我们就去value下找到这个string.xml进行修改

然后在图标里我们找到了这个东西

我们在网上找个png图片替换调它,这样看起来就顺眼多了

然后我们打包安装就可以看到这种情况了

如果你发现安装后还是没变的话先卸载掉之前的软件就可以了
希望这篇博客可以帮到你,祝学习顺利!!!
相关文章:
Android逆向学习(二)vscode进行双开与图标修改
Android逆向学习(二)vscode进行双开与图标修改 写在前面 这其实应该还是吾爱的第一个作业,但是写完上一个博客的时候已经比较晚了,如果继续敲机械键盘吵到室友,我怕我看不到明天的太阳,所以我决定分成两篇…...
一个基于YAPI接口生产代码的开源工具
前后端分离的开发模式是一种趋势,但如果缺少好的开发工具跟管理模式,会使得前后端开发人员相互等待,扯皮等问题。从而影响项目的交付进度。 通过实践摸索,YAPI是一款很适合前后端分离开发的协助工具。它以项目为维度,可…...
Redis 缓存穿透击穿和雪崩
一、说明 Redis 缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对…...
在windows上配置ninja环境
ninja使用并行任务来编译工程,比cmake编译快了一个数量级,是谷歌在2010年为了提高cmake的编译速度而开发一款编译工具。下面介绍在windows上配置ninja环境。 1 下载ninja ninja官网地址: https://github.com/ninja-build/ninja/releases …...
③matlab向量和矩阵
目录 手动输入数组 创建等间距向量 数组创建函数 手动输入数组 1.背景 单个称为标量的数值实际上是一个 11 数组,也即它包含 1 行 1 列。 任务 创建一个名为 x 并且值为 4 的变量。 2.您可以使用方括号创建包含多个元素的数组。 x [3 5] x 3 5 任务 …...
一、了解[mysql]索引底层结构和算法
目录 一、索引1.索引的本质2.mysql的索引结构 二、存储引擎1.MyISAM2.InnoDB3.为什么建议InnoDB表要建立主键并且推荐int类型自增?4.innodb的主键索引和非主键索引(二级索引)区别5.联合索引 一、索引 1.索引的本质 索引:帮助mysql高效获取数…...
DockerFile常用命令
以下是常见的Dockerfile命令: FROM:FROM命令用于指定基础镜像。基础镜像是构建镜像的起点。例如,FROM ubuntu:latest表示使用最新版本的Ubuntu作为基础镜像。 MAINTAINER:MAINTAINER命令用于指定镜像的维护者信息。一般格式为&am…...
Android 动画之插值器PathInterpolator
Android 的View动画、属性动画都可以设置动画插值器,以此来实现不同的动画效果。 这篇文章 Android View动画整理 有介绍各种插值器的效果,这一篇专访 PathInterpolator 。 参考官网 添加曲线动作 , PathInterpolator 基于 贝塞尔曲线 或 …...
递归学习(转载)
转载至 https://www.cnblogs.com/king-lps/p/10748535.html 为避免原文丢失,因此原文转载作者【三年一梦】的帖子 前言 相信不少同学和我一样,在刚学完数据结构后开始刷算法题时,遇到递归的问题总是很头疼,而一看解答,…...
python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)
简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试。 什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各…...
HashMap源码阅读(一)
HashMap继承抽象类AbstractMap,AbstractMap抽象类实现了Map接口 一、HashMap中的静态常量 //默认初始容量 static final int DEFAULT_INITIAL_CAPACITY 1 << 4; // aka 16 //最大长度 static final int MAXIMUM_CAPACITY 1 << 30; //负载因子&#…...
C语言:动态内存(一篇拿捏动态内存!)
目录 学习目标: 为什么存在动态内存分配 动态内存函数: 1. malloc 和 free 2. calloc 3. realloc 常见的动态内存错误: 1. 对NULL指针的解引用操作 2. 对动态开辟空间的越界访问 3. 对非动态开辟内存使用free释放 4. 使用free释…...
Lua - 替换字符串中的特殊字符
//替换指定串 s string.gsub("Lua is good", "good", "bad") print(s) --> Lua is bad//替换特殊字符 a "我们使用$"; b string.gsub(a, "%$", "RMB"); print(b) --> 我们使用RMB//替换反斜杠 path …...
按钮控件之3---QRadioButton 单选按钮/单选框控件
本文详细的介绍了QRadioButton控件的各种操作,例如:QRadioButton分组、默认选中、禁用启用、重置样式等操作。 一、QRadioButton部件提供了一个带有文本标签的单选框(单选按钮)。QRadioButton是一个可以切换选中(chec…...
基于STM32设计的游戏姿态数据手套
基于STM32设计的游戏姿态数据手套 一、项目背景 随着虚拟现实技术的发展,人机交互越来越朝着多通道、自然化的方向发展,由原来的以机器为中心向以人为中心发展。按照行业通用用途设计的高端数据手套,可以用于测量人手指动作,如搓捻、对掌等动作,广泛应用于人手的运动捕捉…...
react跳转页面redux数据被清除
关键代码如下,页面中有根据redux中state展示的数据,然后在组件卸载的时候会清空redux中存的数据,点击a标签可以打开新的标签页,如下代码会在打开新的标签页,组件卸载,清空redux数据,页面展示的也…...
Spring Cloud 微服务2
Eureka 注册中心,服务的自动注册、发现、状态监控 Ribbon 负载均衡,Eureka中已经集成了负载均衡组件 Hystrix 熔断器,用于隔离访问远程服务、第三方库,防止出现级联失败。 Feign 远程调用,将Rest的请求进行隐藏&a…...
侯捷课程笔记(一)(传统c++语法,类内容)
侯捷课程笔记(一)(传统c语法,类内容) 2023-09-03更新: 本小节已经完结,只会进行小修改 埋下了一些坑,后面会单独讲或者起新章节讲 最近在学习侯捷的一些课程,虽然其中大部…...
自动化安装Nginx脚本:简化您的服务器配置
在如今的网络世界中,Nginx作为一款高性能的Web服务器和反向代理服务器,扮演着至关重要的角色。然而,手动安装和配置Nginx可能会耗费大量时间和精力,特别是对于那些对Linux系统不太熟悉的人来说。幸运的是,我们为您带来…...
通过es索引生命周期策略删除日志索引
通过es索引生命周期策略删除日志索引 在es 7.x版本之后,多了个索引生命周期的概念,可以一系列的设置,给新生成的索引绑定生命周期策略,到期后,索引自动删除。 也可以通过linux定时任务实现,请查看另一篇文章…...
A股闪崩策略全解析:从数据接口选股到实时交易执行的完整流程
A股闪崩策略实战指南:从数据接口选股到自动化交易 引言:闪崩策略的市场逻辑与适用场景 2023年A股市场单日振幅超过5%的个股出现频率较前一年增长37%,这种市场波动为短线交易者创造了特殊机会。闪崩策略本质上是一种利用极端价格波动获取短期收…...
Shell编程避坑指南:为什么你的while循环总出问题?7个常见错误排查
Shell编程避坑指南:为什么你的while循环总出问题?7个常见错误排查 在Shell脚本开发中,while循环是处理未知迭代次数的利器,但也是错误的高发区。很多开发者在使用while时经常遇到脚本卡死、逻辑异常或结果不符合预期等问题。本文将…...
OpenClaw家装设计:Qwen2.5-VL-7B根据户型图生成3D效果示意图
OpenClaw家装设计:Qwen2.5-VL-7B根据户型图生成3D效果示意图 1. 为什么选择OpenClaw做家装设计自动化 去年装修新房时,我花了大量时间在设计师和施工队之间来回沟通。每次修改设计方案都需要等待设计师重新出图,周期长、成本高。直到发现Op…...
为什么99%的Python团队还没用上AOT?2026年官方方案的3大硬伤与2个绕过技巧(含patch diff与CI集成脚本)
第一章:Python 原生 AOT 编译方案 2026 概览与演进脉络Python 长期以来以解释执行和 JIT 辅助(如 PyPy)为主流运行范式,而原生 Ahead-of-Time(AOT)编译在 2026 年迎来实质性突破:CPython 官方正…...
2026做GEO,豆包、DeepSeek、元宝都爱引用哪些媒体?这份清单收好了!
你是不是也发现了这个 “诡异” 的现象?过去,我们拼命讨好搜索引擎的爬虫,优化关键词密度、买外链,只为排在百度搜索结果的第一页。而现在,用户变了。他们不再在搜索框里试错关键词,而是直接打开豆包、Deep…...
【若依】框架:从零构建前后端分离项目实战
1. 环境准备与项目初始化 第一次接触若依框架时,我被它"开箱即用"的特性惊艳到了。这个基于Spring Boot的权限管理系统,前后端分离架构设计得非常清晰。下面我会手把手带你完成环境搭建,过程中遇到的坑也会一并说明。 开发环境需要…...
PasteMD用户调研报告:2024年文档格式转换需求分析
PasteMD用户调研报告:2024年文档格式转换需求分析 1. 调研背景与核心发现 最近整理了500份来自不同行业用户的实际反馈,这些反馈不是问卷里的标准答案,而是真实工作场景中留下的痕迹——有深夜赶论文时的抱怨截图,有项目汇报前的…...
实战分享:如何用本地替换和插桩调试搞定Kasada最新版x-kpsdk-cd环境检测
逆向工程实战:Kasada最新版x-kpsdk-cd环境检测的深度调试策略 在当今Web安全防护体系中,Kasada作为新一代反自动化攻击解决方案,其x-kpsdk-cd机制通过动态加密和运行时环境检测构建了强大的防御层。面对从280位扩展到294位的加密数组和Proxy保…...
Phi-4-mini-reasoning实际作品:15个跨学科逻辑题(数学/哲学/计算机)解答集
Phi-4-mini-reasoning实际作品:15个跨学科逻辑题(数学/哲学/计算机)解答集 1. 模型能力概览 Phi-4-mini-reasoning是一个专注于推理任务的文本生成模型,特别擅长处理需要多步逻辑推导的问题。与通用聊天模型不同,它被…...
Flow.js源码深度解析:分块算法、上传策略与事件系统的实现原理
Flow.js源码深度解析:分块算法、上传策略与事件系统的实现原理 【免费下载链接】flow.js A JavaScript library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API. 项目地址: https://gi…...
