有关于apktool的使用的一些心得

<span style="font-family: Arial, Helvetica, sans-serif;">1.配置Java的环境</span>

1)JAVA_HOME配置:

2)C:\Program Files\Java\jdk1.7.0_51;CLATHPATH配置:C:\Program Files\Java\jdk1.7.0_51\lib\dt.jar;C:\Program Files\Java\jdk1.7.0_51\lib\tools.jar;.注意:最后有“.”

3)path配置:C:\Program Files\Java\jre7\bin;C:\Program Files\Java\jdk1.7.0_51\bin;

可以就个人情况而言。

2.下载apktool工具:http://www.cngr.cn/dir/209/sjrj/2012121291256.html (只供参考)

3.解压apktool包,将apktool.jar、aapt.exe、apktool.bat拷贝到根目录的apktool文件中(本人是在E盘中创建了一个apktool文件夹),如果要进行签名则需要使用signapk.jar、testkey.pk8、testkey.x509.pem来进行签名。

4.将您想要反编译的apk文件拷贝到apktool文件夹中,使用命令行进行反编译。

如果再次进行反编译则会出现:

则需要使用:apktool d -f framebyframe.apk进行覆盖反编译

5.将反编译的文件重新回编译成apk文件,则需要:

6.进行签名则需要:

7.遇到的问题:

E:\apktool>apktool d framebyframe.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Administrator\apktool\framework\1.
apk
I: Loaded.
I: Regular manifest package...
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:58)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)
        at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen
ceValue.java:62)
        at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe
renceValue.java:46)
        at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResSca
larValue.java:44)
        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:440)
        at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:243
)
        at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:115)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
        at brut.apktool.Main.cmdDecode(Main.java:146)
        at brut.apktool.Main.main(Main.java:77)

将C:\Users\Administrator中apktool文件删除即可解决。

未完待续。。。。。。。。。

有关于apktool的使用的一些心得,布布扣,bubuko.com

时间: 2024-08-08 17:54:45

有关于apktool的使用的一些心得的相关文章

APKTOOL的使用心得

APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,推荐使用JDK1.6或者JDK1.7. 如果你想对APK文件进行修改,那么就不可避免的要使用到APKTool.论坛里有很多关于ROM美化的帖子都需要自己动手修改APK文件,比如修改framework-res.apk.systemUI.apk等等. 相信各位有不少人看了后都想亲自来修改一番,但是结果却是遇到了各式各样的错误却无法进行改正,甚至都不知道自己错在哪里. 一.APKTOOL使用环境配置 1.安装JAVA并设置环境变量

Android学习心得(13) --- Android代码混淆(1)

我在博客上发表一些我的Android学习心得,希望对大家能有帮助. 这一篇我们讲述一下最新的ADT环境下如何进行Android混淆 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg, 而是project.properties和proguard-project.txt. 我们把之前配置都配置好了,proguard已经在包含在sdk中了. 环境配置参考Android学习心得(1) --- MAC下Android环境的搭建 新建一个项目的时候,会自动生成project.proper

Android学习心得(11) --- MAC下Android反编译(3)

我在博客上发表一些我的Android学习心得,希望对大家能有帮助. 在前一章我们学习了反编译. 这一章再次学习一下两个demo. 两个demo下载地址 KeygenMe#1.apk crackme0a.apk 链接: http://pan.baidu.com/s/1kTs11Tt 密码: davk KeygenMe#1.apk 1.首先在模拟器安装测试 由于模拟器检测不到wifi mac地址,所以会报错. 我们首先需要将检测代码跳过 先通过dex2jar和jd-gui查看源代码进行分析 查看了m

Android学习心得(10) --- MAC下Android反编译(2)

我在博客上发表一些我的Android学习心得,希望对大家能有帮助. 在前一章我们学习了基本的ndk-build脚本参数用法. 这一章再次学习一下反编译. 1.简介 这次分析的是一个很简单的程序,算是反编译入门的一个入门教程 主要学习一下工具的使用,下面是从网上下载下来的测试样本 测试样本EX_05_01_.apk 链接: http://pan.baidu.com/s/1sjOIXJn 密码: 5uq4 2.首先,使用dex2jar和jd-gui查看 参考:Android学习心得(8) --- M

Delphi组件indy 10中IdTCPServer修正及SSL使用心得

indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多

参加老男孩linux培训心得

参加老男孩linux培训心得 时间如白驹过隙,已经不知不觉来到老男孩培训已经三个月了.在这三个月中我渐渐得到了成长,专业技术成长,以及为人处事之道与思想的提高. 我一共就总结以下了三点     一.思想 在我刚来老男孩的时候,老师天天上课前讲一段思想,我当时不太明白,不赶紧上课,讲这干啥呢?而且老师早一点讲完,又可以招下一批学生了,老讲思想,这不是自断财路么?随着时间的流逝,渐渐的我悟懂了点.人在那里都可以学技术,但是学会了技术没有思想,一旦来了新事物,就会接受的很慢.尤其在互联网这个圈子里,软

mac apktool配置

Apktool:http://ibotpeaches.github.io/Apktool/install/ 最新版本2.0.1 dex2jar: https://github.com/pxb1988/dex2jar 最新版本2.0 JD-GUI: http://jd.benow.ca/ 最新版本1.4.0 这三个软件Apktool的安装稍微麻烦点,其他都还好,基本上下载下来解压了就能用. MAC上Apktool的安装 1,在官网链接里找到如下所示: 基本上按照上面的6个步骤就ok了.第一步是下载

Linux串口IO模式的一些心得

众所周知,在Linux系统下所有设备都是以文件的形式存在,串口也一样. 通常I/O操作都是有阻塞与非阻塞的两种方式. 其中"超时"这个概念其实是阻塞中的一种处理手段,本质还是属于阻塞的I/O模式. 在Linux中串口的IO操作 本文将它分为三种状态: 阻塞状态 超时状态 非阻塞状态 这三种状态的转换组合有这么几种: 阻塞 --> 超时 阻塞 --> 非阻塞 超时 --> 阻塞 超时 --> 非阻塞 非阻塞 --> 阻塞 我们一个一个来分析 首先在一个串口的