java 反编译修改软件名字_反编译APK更改文件的文字(修改应用名称)
研究android很久,一直没有进行反编译,再还原。
刚好有个机会,朋友有个Apk,想把应用名称改了,找到我了。我一想,听简单啊,就改个strings.xml就行了,结果打开apk一看,傻了,目录是这样的
下面为res目录
跟我想的不一样,res里没有values目录,突然发现resources.arsc,应该这个就是colors.xml、strings.xml、dimens.xml等存放目录,事实果然如此。
这怎么搞,网上搜了一下,用apktool即可,很方便,反编译后,修改文字,再编译
下载了一个apktool
然后执行:
apktool d 123.apk call
123.apk 表示要进行反编译的APK文件,call表示反编译后文件存放的目录,即在当前目录下会自动建一个新目录存放(如:d:\call)
执行完上面语句后,如果没有出现错误提示,则成功反编译了,找到call目录,打开smali目录即为反编译出来的字节。
但我在执行上面语句后,却出现了错误提示:
D:\android\ApkTool>apktool d 123.apk call
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Users\jack\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
0x01030119
at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:55)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:51)
at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen
ceValue.java:59)
at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe
renceValue.java:46)
at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResSca
larValue.java:43)
at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re
sStyleValue.java:48)
at brut.androlib.res.data.value.ResBagValue.serializeToResValuesXml(ResB
agValue.java:40)
at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour
ces.java:264)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:137
)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:93)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
at brut.apktool.Main.cmdDecode(Main.java:120)
at brut.apktool.Main.main(Main.java:57)
删除下面的文件
C:\Users\jack\apktool\framework\1.apk
再运行
D:\android\ApkTool>apktool d 123.apk call
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Users\jack\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
可能是不同的场景会导致各种错误,上面只是介绍了一种特殊的情况,是以前以其他形式运行过apktool,如果还是有问题可以试一下面这几种方式:
或者下载
http://pan.baidu.com/s/1bn2CIFd
java 反编译修改软件名字_反编译APK更改文件的文字(修改应用名称)相关推荐
- 通过Java程序将“/你的名字拼音缩写/input1/shixun1.txt”文件上传到HDFS的“/你的名字拼音缩写/java/input1/”目录下;通过Java程序将HDFS上的“/你的名字拼音
题目: 通过Java程序将"/你的名字拼音缩写/input1/shixun1.txt"文件上传到HDFS的"/你的名字拼音缩写/java/input1/"目录下 ...
- java 修改文件创建时间_Java如何更改文件的最后修改时间?
在java编程中,如何更改文件的最后修改时间? 此示例显示如何使用File类中的FileToChange.lastModified()和fileToChange setLastModified()来更 ...
- git 修改分支名字_大牛总结的 Git 使用技巧,写得太好了!
作者:你喜欢吃青椒么来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下 ...
- git 修改分支名字_开发中必须要掌握的 Git 技巧
前言 本文是参考杜老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文是为以后学习,工作,开发中如果遇到问题可以回过头来参考参考.因为水平有限,难免会有出错的地方,欢迎指正. ...
- 计算机用户名名称和全民,修改电脑名字_修改电脑用户名
2016-12-23 18:02:04 1.打开电脑,在桌面上,选中"我的电脑",右键"属性",然后点击"系统属性"2.选择"计算 ...
- git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划
作者 | 光子俊来源 | CSDN博客出品 | CSDN(ID:CSDNnews) Git介绍 Git是目前世界上最先进的分布式版本控制系统,可以为我们管理项目.构建工程.多人协作提供便利,作为一个爱 ...
- linux mysql 修改数据库名字_安全快速更改MySQL数据库名称
导读 MySQL似乎没有更改数据库名称的语句(也许是我不知道),如果你有数据库服务器的管理权限,可以直接更改一下目录名即可,但如果没有权限,可以通过更改表名达到修改数据库名的目的.下面是把centos ...
- 文件夹修改名字 matlab,matlab用 movefile更改文件夹内文件名字
%超简单,利用matlab自带函数movefile(旧名,新名)更改文件夹内文件名字,可以是改一个或多个文件 clc clear dir1 = 'D:\workplace\新程序实验'; %选择数据所 ...
- python修改html内容_详解Python利用Beautiful Soup模块修改内容示例代码
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python 库.它能够通过你喜欢的转换器实现惯用的文档导航.查找.修改文档的方式.他还能够修改HTML/XML文档的内容.这篇 ...
- 永恒之塔修改服务器名字,永恒之塔模拟器服务端每个文件的用途及修改
Aegoserver\gameserver\config\administration GM命令对应的管理权限配置文件 Aegoserver\gameserver\c ...
最新文章
- spring根据名称获取bean_带你从零开始手写 spring ioc 框架,深入学习 spring 源码
- boost::unorder_map如何插入元素_「React」如何在React中优雅的实现动画
- qt 主动打开虚拟键盘_ipad键盘有用吗?
- 面试必备:30 个 Java 集合面试问题及答案
- Qt for ios / Qt for Android 设置透明状态栏
- 博士申请 | ​英属哥伦比亚大学李霄霄助理教授招收全奖博士生、硕士生
- 飘逸的python - 字典合并值相加
- 60 秒 Linux 检查清单,快速初步定位你的性能问题
- c语言大学程序设计题库,c语言程序设计题库
- Guice依赖注入(接口多实现)
- 推荐一款可自创外星文字的工具
- python爬虫网页脚本_python网络爬虫之Scrapy
- 新版Dede采集不要在用没更新的Dede插件
- Python:strip() 函数
- luoguP5108 仰望半月的夜空 [官方?]题解 后缀数组 / 后缀树 / 后缀自动机 + 线段树 / st表 + 二分...
- 【转】超实用网站,一次性分享出来
- Java paypal如何实现付费订阅(循环扣费)
- android AdapterView 关键方法分析
- 【100个高大尚求职简历】简历模板+修改教程+行业分类简历模板 (涵盖各种行业) (简历模板+编辑指导+修改教程)
- 集团型企业主数据管理框架、方法