apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】

news2024/9/30 3:35:59

往期教程

apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】

上期演示了下如何修改apk的名称。相信只要用心的友友都会操作了。这次讲解下如何修改软件的版本号与版本名字的操作

名词浅释:

在apk反编译中的VersionCode---是版本号的意思.是一个Integer类型的数值.通常情况下,发布自己第一个应用时设置版本号为1,这是最普遍的做法。是对用户不可见的版本号.代表app更新过多少次

VersionName---是版本名的意思。是一个版本的描述,是给用户看的,也就是用户放在各个第三方平台上提供给使用者看的一个版本名.代表应用程序的版本信息

先来看看常用软件微信的版本信息:

那么他在反编译apk后是这样表现的

基本已经很清除的明白具体的分别了。而我们一般只需要修改VersionName即可。

步骤如下

反编译软件继续使用mt或者其他反编译软件。也可以电脑端使用反编译打开微信apk。mt必须是会员才可以反编译,在所有的apk中.AndroidManifest.xml文件是每个Android程序apk中必须的文件,它是整个Android程序的全局描述文件,除了能声明程序中的Activities,Content Providers,Services,和Intent Receivers,还能指定应用的名称、使用的图标、包含的组件以及permissions和instrumentation(安全控制和测试)。那么在操作前我们有必要先了解下AndroidManifest.xml文件接点说明与意义

  • xmlns:android:定义android命名空间,这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。
  • package:指定本应用内java主程序包的包名,它也是一个应用进程的默认名称。
  • application:一个AndroidManifest.xml中必须含有一个Application标签,这个标签声明了每一个应用程序的组件及其属性(如icon、label、permission等)。
  • allowBackup:当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。
  • icon:这个很简单,就是声明整个APP的图标,图片一般都放在drawable文件夹下。
  • label:声明整个APP的名字,字符串常量一般都放在values文件夹下的strings.xml里。
  • supportsRtl:支持从右往左显示的布局(正常布局在镜子里面看到的左右对调过的样子)。
  • theme:是一个资源的风格,它定义了一个默认的主题风格给所有的activity,当然也可以在自己的theme里面去设置它,有点类似style。
  • activity:定义APP中的一个组件Activity。
  • name:该Activity的名字。
  • intent-filter:广播过滤器,后续会讲到。
  • <action android:name:指定程序入口Activity,在这里是MainActivity。
  • <category android:name:指定当前动作(Action)被执行的环境。这里的CATEGORY_LAUNCHER决定应用程序是否显示在程序列表里。
  • 其余的:对应于各个开始节点的结束节点。

在刚才的图片界面点击查看。然后找到AndroidManifest.xml文件。点击选择反编译

在出来的界面中修改版本号即可。例如修改后

效果

其中androldmanifest.xml代码类似以下。其他修改方法也如此。原则上修改可以防止自动更新。当然还是那句话。有的工具支持一键修改,为了方便后续的教程步骤。建议实际操作了解apk反编译全过程.类似的教程在csdn中有很多。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   android:versionCode="2460"
   android:versionName="8.0.42"
   .="auto"
   .="32"
   android:compileSdkVersionCodename="12"
   package="com.tencent.mm"
   platformBuildVersionCode="32"
   platformBuildVersionName="12">
  <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29"/>
  <queries>
    <package
       android:name="com.tencent.mm.coolassist"/>
    <intent>
      <action
         android:name="android.intent.action.VIEW"/>
    </intent>
    <intent>
      <action
         android:name="com.tencent.wmpf.action.WMPF_SCAN_CODE"/>
    </intent>
    <intent>
      <action
         android:name="com.tencent.QQBrowser.action.VIEW"/>
    </intent>
    <intent>
      <action
         android:name="android.intent.action.SEND"/>
    </intent>
    <intent>
      <action
         android:name="android.intent.action.PICK"/>
    </intent>
    <intent>
      <data
         android:scheme="qqmail"/>
    </intent>
    <intent>
      <action
         android:name="android.intent.action.MAIN"/>
      <category
         android:name="android.intent.category.LAUNCHER"/>
    </intent>
    <intent>
      <action
         android:name="android.intent.action.INSERT"/>
      <data
         android:mimeType="vnd.android.cursor.dir/contact"/>
    </intent>
    <intent>
      <action
         android:name="android.intent.action.INSERT_OR_EDIT"/>
      <data
         android:mimeType="vnd.android.cursor.item/person"/>
    </intent>
    <intent>
      <action
         android:name="android.media.action.IMAGE_CAPTURE"/>
    </intent>
    <package
       android:name="com.tencent.mtt"/>
    <package
       android:name="com.tencent.androidqqmail"/>
    <package
       android:name="com.tencent.weishi"/>
    <package
       android:name="com.google.android.apps.maps"/>
    <package
       android:name="com.baidu.BaiduMap"/>
    <package
       android:name="com.autonavi.minimap"/>
    <package
       android:name="com.sogou.map.android.maps"/>
    <package
       android:name="com.tencent.map"/>
    <package
       android:name="com.tencent.weread"/>
    <package
       android:name="com.tencent.mobileqq"/>
    <package
       android:name="com.miui.securitycenter"/>
    <package
       android:name="com.oppo.launcher"/>
    <package
       android:name="com.bbk.launcher2"/>
    <package
       android:name="com.tencent.wework"/>
    <package
       android:name="com.tencent.android.qqdownloader"/>
    <package
       android:name="com.tencent.qqpimsecure"/>
    <package
       android:name="com.tencent.qqpim"/>
    <package
       android:name="com.android.vending"/>
    <package
       android:name="com.google.android.wearable.app.cn"/>
    <package
       android:name="com.google.android.wearable.app"/>
    <package
       android:name="com.unionpay"/>
    <package
       android:name="com.tencent.news"/>
    <package
       android:name="com.xunmeng.pinduoduo"/>
    <package
       android:name="com.smile.gifmaker"/>
    <package
       android:name="com.kuaishou.nebula"/>
    <package
       android:name="com.tencent.wemeet.app"/>
    <package
       android:name="com.wuba.town.client"/>
    <package
       android:name="com.tencent.qqlive"/>
    <package
       android:name="com.tencent.karaoke"/>
    <package
       android:name="com.tencent.tmgp.sgame"/>
    <package
       android:name="com.jingdong.app.mall"/>
    <package
       android:name="com.MobileTicket"/>
    <package
       android:name="tv.danmaku.bili"/>
    <package
       android:name="com.webank.wemoney"/>
    <package
       android:name="com.tencent.mp"/>
    <package
       android:name="com.tencent.qqsports"/>
    <package
       android:name="com.tencent.docs"/>
    <package
       android:name="com.sankuai.meituan"/>
    <package
       android:name="com.baidu.searchbox"/>
    <package
       android:name="com.hicorenational.antifraud"/>
    <package
       android:name="com.xingin.xhs"/>
    <package
       android:name="com.ss.android.ugc.aweme"/>
    <package
       android:name="com.dragon.read"/>
    <package
       android:name="com.tencent.qqgame.xq"/>
    <package
       android:name="com.tencent.gamehelper.smoba"/>
    <package
       android:name="com.tencent.tmgp.cod"/>
    <package
       android:name="com.xunmeng.merchant"/>
    <package
       android:name="com.cctv.yangshipin.app.androidp"/>
    <package
       android:name="com.tencent.tmgp.pubgmhd"/>
    <package
       android:name="com.kugou.android"/>
    <package
       android:name="com.tencent.tmgp.speedmobile"/>
    <package
       android:name="cmb.pb"/>
    <package
       android:name="cn.gov.pbc.dcep"/>
    <package
       android:name="com.tencent.wetype"/>
    <package
       android:name="com.tencent.soter.soterserver"/>
    <package
       android:name="com.tencent.mm"/>
    <intent>
      <action
         android:name="androidx.camera.extensions.action.VENDOR_ACTION"/>
    </intent>
  </queries>
  <permission
     android:name="com.tencent.mm.plugin.permission.WRITE"
     android:protectionLevel="signature"/>
  <permission
     android:name="com.tencent.mm.plugin.permission.READ"
     android:protectionLevel="signature"/>
  <permission
     android:name="com.tencent.mm.permission.MM_MESSAGE"
     android:protectionLevel="signature"/>
  <permission
     android:name="com.tencent.mm.permission.MOVE_XLOG"
     android:protectionLevel="signatureOrSystem"/>

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 
 android:versionCode="2460"
   android:versionName="8.0.42"

   .="auto"
   .="32"
   android:compileSdkVersionCodename="12"
   package="com.tencent.mm"
   platformBuildVersionCode="32"
   platformBuildVersionName="12">
  <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29"/>
  <queries>
    <package
       android:name="com.tencent.mm.coolassist"/>
    <intent>
      <action
         android:name="android.intent.action.VIEW"/>
    </intent>
    <intent>
      <action
         android:name="com.tencent.wmpf.action.WMPF_SCAN_CODE"/>
    </intent>
    <intent>
      <action
         android:name="com.tencent.QQBrowser.action.VIEW"/>

这些前期的教程其实没有多大的技术含量。只是通过详细的步骤来让初期接触反编译apk过程的友友少走点弯路。引起学习兴趣。

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

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

相关文章

【Linux学习】—Linux常用指令(一)

【Linux学习】—Linux常用指令&#xff08;一&#xff09; 一、组管理和权限管理 在Linux中的每个用户必须属于一个组&#xff0c;不能独立于组外。 1️⃣所有者 一般为文件的创建者&#xff0c;谁创建了该文件&#xff0c;就自然的成为该文件的所有者。 查看文件的所有者…

马尔科夫链、PCV及贝叶斯动图详解

马尔科夫链、主成分分析以及条件概率等概念&#xff0c;是计算机学生必学的知识点&#xff0c;然而理论的抽象性往往让学生很难深入地去体会和理解。而本文&#xff0c;将这些抽象的理论概念&#xff0c;用可视化的方式来解释&#xff0c;还可调节相应参数来改变结果&#xff0…

1997-2021年世界各国GDP数据

1997-2021年世界各国GDP数据 1、时间&#xff1a;1997-2021年 2、来源&#xff1a;世界银行 3、范围&#xff1a;世界各国 4、指标&#xff1a;国内生产总值&#xff08;固定LCU&#xff09;、国内生产总值&#xff08;当前LCU&#xff09;、国内生产总值&#xff08;现值美…

2023年或者每一年值得最被关注的技术趋势是什么?

2023年或者近几年中&#xff0c;值得关注的技术趋势有很多&#xff0c;其中一些主要的包括&#xff1a; 人工智能与机器学习: 人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;继续在各个行业中引起变革&#xff0c;从医疗保健到金融服务&#xff0c;再…

快速入门Elasticsearch:安装、基本概念、分词器和文档基本操作详解

本文主要介绍快速入门 Elasticsearch&#xff0c;从 安装 、 基本概念 、 分词器 、*** 文档基本操作 *** 这 4 个方面快速入门。 Elasticsearch 是一款近实时的搜索引擎&#xff0c;底层是基于 Lucene 做搜索&#xff0c;再此基础上加入了分布式的特性&#xff0c;以便支持海…

QListWidget 类使用教程

文章目录 1、简介2、属性3、functions3.1、访问属性相关 function3.2、公共槽3.3、Signal3.4、其他方法 QT 官方文档参考地址&#xff1a;https://doc.qt.io/qt-5/qlistwidget.html 1、简介 moudleclass说明PyQt5.QtWidgets包含了一整套UI元素控件&#xff0c;用于建立符合系统…

Hugging face下载的离线模型不会用?没关系,看这里

可能遇到的问题&#xff1a; 不知道大家有没有碰到这样的问题&#xff0c;想从hugging face 加载模型&#xff0c;使用其提供的接口做一个简单的demo,但是由于网络的原因没办法正常访问&#xff1a; (MaxRetryError("HTTPSConnectionPool(hosthuggingface.co, port443):…

【封装--限定符private--包】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 封装访问限定符 private快捷键实现get和set 封装扩展之包如何导包怎么找包 自定义包方法: 总结 封装 访问限定符 private 什么是封装&#xff1f; 就像电脑&…

DC-8 靶机

DC_8 信息搜集 存活检测 详细扫描 后台网页扫描 网站信息搜集 访问不同的页面的时候 url 随之变化 尝试 sql 注入 在 url 后输入 验证 直接报数据库语法错误 漏洞利用 使用 sqlmap 工具 爆破数据库 sqlmap -u 10.4.7.153/?nid2 --dbs --batch成功爆破出两个数据库 d7db…

【数据结构】数组和字符串(一):矩阵的数组表示

文章目录 4.1 数组4.1.1 数组的存储和寻址4.1.2 一维数组的基本操作 4.2 矩阵4.2.1 矩阵的数组表示a. 矩阵的二维数组存储及其乘法运算b. 一维数组存储 4.1 数组 4.1.1 数组的存储和寻址 数组是一种用于存储多个相同类型元素的数据结构。在内存中&#xff0c;数组的元素是连续…

视频上的水印文字如何去掉?

嘿&#xff0c;大家好&#xff01;作为一个自媒体从业者&#xff0c;我相信大家都想知道如何去掉视频上的水印文字&#xff0c;想必大家和我一样每天都会在互联网寻找素材&#xff0c;而大部分图片或者视频都带有各种各样的水印&#xff0c;这给我的创作带来了不小的麻烦&#…

SQL Delete 语句(删除表中的记录)

SQL DELETE 语句 DELETE语句用于删除表中现有记录。 SQL DELETE 语法 DELETE FROM table_name WHERE condition; 请注意删除表格中的记录时要小心&#xff01;注意SQL DELETE 语句中的 WHERE 子句&#xff01; WHERE子句指定需要删除哪些记录。如果省略了WHERE子句&#xff…

【题解 单调队列优化dp】 简单的加法乘法计算题

题目描述&#xff1a; 分析&#xff1a; 由于对于每一步而言&#xff0c;我们都需要的是最小步数 所以我们很显然的可以写出一个dp方程&#xff1a; 设 f [ i ] f[i] f[i]表示达到i时的最小步数 我们有两种操作&#xff0c;也就是说我们可以通过一下两种方式转移过来&#xff…

前端开发实践:vue中用qrcode库将超链接生成二维码图片

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责…

VBA_MF系列技术资料1-212

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-04属于定…

LinkedList概念+MyLinkedList的实现

文章目录 LinkedList笔记一、 LinkedList1.概念2.LinkedList的构造方法3.LinkedList的遍历 二、MyLinkedList的实现1.定义内部类2.打印链表、求链表长度、判断是否包含关键字3. 头插法和尾插法4.在任意位置插入5.删除结点6.清空链表 LinkedList笔记 一、 LinkedList 1.概念 L…

IAR For ARM 安装教程

电脑环境 安装包下载 1、官网下载 ①搜索 IAR ②切换产品&#xff0c;选择Arm ③选择IAR Embedded Workbench for Arm ④免费试用 2、网盘下载 EWARM-CD-8202-14838.exe(访问密码: 1666) https://url48.ctfile.com/f/33868548-961057458-611638?p1666 软件下载 1、点击安…

华为数通方向HCIP-DataCom H12-831题库(多选题:41-60)

第41题 下列哪些属于VLAN聚合的优点? A、增加了编址的灵活性 B、增加了可用的VLAN数量 C、减少了IP地址的浪费 D、实现Sub-VLAN间广播域的隔离 答案:ACD 解析: 各个Sub-VLAN作为一个独立广播域实现广播隔离,又节省了IP地址资源,提高了编址的灵活性 第42题 在进行结构化的…

【Java 进阶篇】Java Tomcat 入门指南

Java Tomcat&#xff08;通常简称 Tomcat&#xff09;是一个流行的开源Servlet容器&#xff0c;用于托管Java Web应用程序。它是Apache软件基金会的一部分&#xff0c;提供了一个稳定、可靠的环境来运行Java Servlets和JavaServer Pages&#xff08;JSP&#xff09;。本篇博客将…

mariadbmysql更改数据库默认存储路径

1.登录数据库查询默认存储位置 默认存储在/var/lib/mysql show variables like "%datadir%"; 2.先停止服务 systemctl stop mariadb 3.移动数据文件 mv /var/lib/mysql/ /home/ 4.修改服务配置 vim /etc/my.cnf.d/server.cnf5.在 [mysqld] 下面增加 datadir/ho…