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


    往期教程

    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:广播过滤器,后续会讲到。
    • 指定程序入口Activity,在这里是MainActivity。
    • 指定当前动作(Action)被执行的环境。这里的CATEGORY_LAUNCHER决定应用程序是否显示在程序列表里。
    • 其余的:对应于各个开始节点的结束节点。

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

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

    效果

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

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:versionCode="2460"
    4. android:versionName="8.0.42"
    5. .="auto"
    6. .="32"
    7. android:compileSdkVersionCodename="12"
    8. package="com.tencent.mm"
    9. platformBuildVersionCode="32"
    10. platformBuildVersionName="12">
    11. <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29"/>
    12. <queries>
    13. <package
    14. android:name="com.tencent.mm.coolassist"/>
    15. <intent>
    16. <action
    17. android:name="android.intent.action.VIEW"/>
    18. </intent>
    19. <intent>
    20. <action
    21. android:name="com.tencent.wmpf.action.WMPF_SCAN_CODE"/>
    22. </intent>
    23. <intent>
    24. <action
    25. android:name="com.tencent.QQBrowser.action.VIEW"/>
    26. </intent>
    27. <intent>
    28. <action
    29. android:name="android.intent.action.SEND"/>
    30. </intent>
    31. <intent>
    32. <action
    33. android:name="android.intent.action.PICK"/>
    34. </intent>
    35. <intent>
    36. <data
    37. android:scheme="qqmail"/>
    38. </intent>
    39. <intent>
    40. <action
    41. android:name="android.intent.action.MAIN"/>
    42. <category
    43. android:name="android.intent.category.LAUNCHER"/>
    44. </intent>
    45. <intent>
    46. <action
    47. android:name="android.intent.action.INSERT"/>
    48. <data
    49. android:mimeType="vnd.android.cursor.dir/contact"/>
    50. </intent>
    51. <intent>
    52. <action
    53. android:name="android.intent.action.INSERT_OR_EDIT"/>
    54. <data
    55. android:mimeType="vnd.android.cursor.item/person"/>
    56. </intent>
    57. <intent>
    58. <action
    59. android:name="android.media.action.IMAGE_CAPTURE"/>
    60. </intent>
    61. <package
    62. android:name="com.tencent.mtt"/>
    63. <package
    64. android:name="com.tencent.androidqqmail"/>
    65. <package
    66. android:name="com.tencent.weishi"/>
    67. <package
    68. android:name="com.google.android.apps.maps"/>
    69. <package
    70. android:name="com.baidu.BaiduMap"/>
    71. <package
    72. android:name="com.autonavi.minimap"/>
    73. <package
    74. android:name="com.sogou.map.android.maps"/>
    75. <package
    76. android:name="com.tencent.map"/>
    77. <package
    78. android:name="com.tencent.weread"/>
    79. <package
    80. android:name="com.tencent.mobileqq"/>
    81. <package
    82. android:name="com.miui.securitycenter"/>
    83. <package
    84. android:name="com.oppo.launcher"/>
    85. <package
    86. android:name="com.bbk.launcher2"/>
    87. <package
    88. android:name="com.tencent.wework"/>
    89. <package
    90. android:name="com.tencent.android.qqdownloader"/>
    91. <package
    92. android:name="com.tencent.qqpimsecure"/>
    93. <package
    94. android:name="com.tencent.qqpim"/>
    95. <package
    96. android:name="com.android.vending"/>
    97. <package
    98. android:name="com.google.android.wearable.app.cn"/>
    99. <package
    100. android:name="com.google.android.wearable.app"/>
    101. <package
    102. android:name="com.unionpay"/>
    103. <package
    104. android:name="com.tencent.news"/>
    105. <package
    106. android:name="com.xunmeng.pinduoduo"/>
    107. <package
    108. android:name="com.smile.gifmaker"/>
    109. <package
    110. android:name="com.kuaishou.nebula"/>
    111. <package
    112. android:name="com.tencent.wemeet.app"/>
    113. <package
    114. android:name="com.wuba.town.client"/>
    115. <package
    116. android:name="com.tencent.qqlive"/>
    117. <package
    118. android:name="com.tencent.karaoke"/>
    119. <package
    120. android:name="com.tencent.tmgp.sgame"/>
    121. <package
    122. android:name="com.jingdong.app.mall"/>
    123. <package
    124. android:name="com.MobileTicket"/>
    125. <package
    126. android:name="tv.danmaku.bili"/>
    127. <package
    128. android:name="com.webank.wemoney"/>
    129. <package
    130. android:name="com.tencent.mp"/>
    131. <package
    132. android:name="com.tencent.qqsports"/>
    133. <package
    134. android:name="com.tencent.docs"/>
    135. <package
    136. android:name="com.sankuai.meituan"/>
    137. <package
    138. android:name="com.baidu.searchbox"/>
    139. <package
    140. android:name="com.hicorenational.antifraud"/>
    141. <package
    142. android:name="com.xingin.xhs"/>
    143. <package
    144. android:name="com.ss.android.ugc.aweme"/>
    145. <package
    146. android:name="com.dragon.read"/>
    147. <package
    148. android:name="com.tencent.qqgame.xq"/>
    149. <package
    150. android:name="com.tencent.gamehelper.smoba"/>
    151. <package
    152. android:name="com.tencent.tmgp.cod"/>
    153. <package
    154. android:name="com.xunmeng.merchant"/>
    155. <package
    156. android:name="com.cctv.yangshipin.app.androidp"/>
    157. <package
    158. android:name="com.tencent.tmgp.pubgmhd"/>
    159. <package
    160. android:name="com.kugou.android"/>
    161. <package
    162. android:name="com.tencent.tmgp.speedmobile"/>
    163. <package
    164. android:name="cmb.pb"/>
    165. <package
    166. android:name="cn.gov.pbc.dcep"/>
    167. <package
    168. android:name="com.tencent.wetype"/>
    169. <package
    170. android:name="com.tencent.soter.soterserver"/>
    171. <package
    172. android:name="com.tencent.mm"/>
    173. <intent>
    174. <action
    175. android:name="androidx.camera.extensions.action.VENDOR_ACTION"/>
    176. </intent>
    177. </queries>
    178. <permission
    179. android:name="com.tencent.mm.plugin.permission.WRITE"
    180. android:protectionLevel="signature"/>
    181. <permission
    182. android:name="com.tencent.mm.plugin.permission.READ"
    183. android:protectionLevel="signature"/>
    184. <permission
    185. android:name="com.tencent.mm.permission.MM_MESSAGE"
    186. android:protectionLevel="signature"/>
    187. <permission
    188. android:name="com.tencent.mm.permission.MOVE_XLOG"
    189. android:protectionLevel="signatureOrSystem"/>


     
     android:versionCode="2460"
       android:versionName="8.0.42"

       .="auto"
       .="32"
       android:compileSdkVersionCodename="12"
       package="com.tencent.mm"
       platformBuildVersionCode="32"
       platformBuildVersionName="12">
     
     
               android:name="com.tencent.mm.coolassist"/>
       
                   android:name="android.intent.action.VIEW"/>
       

       
                   android:name="com.tencent.wmpf.action.WMPF_SCAN_CODE"/>
       

       
                   android:name="com.tencent.QQBrowser.action.VIEW"/>

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

  • 相关阅读:
    RK3568技术笔记之一 RK3568总体介绍
    【git】gitlab常用命令
    实战:Kind部署k8s集群-2022.12.6(成功测试)
    微服务注册中心之安装+实例搭建zookeeper
    数学建模国赛 2020B-穿越沙漠 第一关 Lingo 和 C语言 动态规划求解
    Python+locust性能测试(一),进军高阶测试......
    跨境电商独立站App
    【数据结构】广义表(列表)
    前端教程-rollup
    【NLP笔记】文本向量化
  • 原文地址:https://blog.csdn.net/u011283906/article/details/134019242