linux下使用apktool破解修改安卓apk

自己平常用linux操作系统,某时突然想改个安卓的游戏

(1)

安装jre

http://java.com/zh_CN/download/index.jsp

找到合适自己的版本

2、解压文件

tar -zxvf jrexxxx.tar.gz

将得到的文件夹jre1.7.0_45(我的文件夹名)移动到/usr/lib/java中去,如果是linux mint debian目录是/usr/lib/jvm/,下面我们假设是移动到java目录中

使用mv命令 mv jre1.7.0_45 /usr/lib/java

3、运行命令 $sudo vim /etc/environment

添加环境变量,直接添加到文件中去

JAVA_HOME="/usr/lib/java/jre1.7.0_45"

CLASSPATH="$JAVA_HOME/lib"

PATH="$JAVA_HOME/bin:$PATH"

如果原来就没有安装java, 手动export PATH="/usr/lib/java/jre1.7.0_45:$PATH"

否则执行下列步骤:

设置当前默认的java解释器

$sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jre1.7.0_45/bin/java 300

运行命令

$sudo update-alternatives --config java

选择该安装版本

测试

$ java -version

java version "1.7.0_45"

Java(TM) SE Runtime Environment (build 1.7.0_45-b18)

Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode)

安装成功

(2)

http://code.google.com/p/android-apktool/

下载

apktool1.5.2.tar.bz2

apktool-install-linux-r05-ibot.tar.bz2

解压,取 aapt  apktool apktool.jar 到/usr/local/bin/下

使用方法 http://code.google.com/p/android-apktool/wiki/FrameworkFiles

http://code.google.com/p/android-apktool/wiki/ApktoolOptions

一般是apktool d 程序.apk 反编译后生成"程序"文件夹, 修改后 apktool b 程序/ 会在"程序/dist/"下生成新的"程序.apk"

(3)

除了apktool外,还有一种反编译的方法,可以查看java源代码的,二者结合在一起更强大

dex2jar  把dex文件转化成jar的工具

http://code.google.com/p/dex2jar/

下载它

dex2jar 使用教程

http://code.google.com/p/dex2jar/wiki/ModifyApkWithDexTool

jd-gui

http://jd.benow.ca/

下载 jd-gui-0.3.5.linux.i686.tar.gz

使用其中的jd-gui查看jar中的java代码

# 转换test_apk-debug.apk中的classes.dex为test_apk-debug_dex2jar.jar

d2j-dex2jar.sh -f -o test_apk-debug_dex2jar.jar test_apk-debug.apk

# 验证jar

d2j-asm-verify.sh test_apk-debug_dex2jar.jar

# 转换成jasmin格式

d2j-jar2jasmin.sh -f -o test_apk_jasmin test_apk-debug_dex2jar.jar

卸载旧的apk

修改smail文件

再生成新的apk文件

# 生成jar

d2j-jasmin2jar.sh -f  -o test_apk_jasmin.jar  test_apk_jasmin/

# 验证jar

d2j-asm-verify.sh test_apk_jasmin.jar

# 转换成 dex

d2j-jar2dex.sh  -f -o classes.dex test_apk_jasmin.jar

# 生成一份拷贝

cp test_apk-debug.apk test_apk-debug-toast.apk

# 替换test_apk-debug-toast.apk中的classes.dex

zip -r test_apk-debug-toast.apk classes.dex

# 签名 apk

d2j-apk-sign.sh -f -o test_apk-debug-toast-signed.apk test_apk-debug-toast.apk

重新安装就可以了

(4)

最后把重新编译产生的 "程序.apk" 进行签名,否则是无法运行的

下载 signapk 这个网上搜一下很多 比如 http://ishare.iask.sina.com.cn/f/25267528.html

英文教程: http://www.londatiga.net/it/how-to-sign-apk-zip-files/

确保安装有openssl,生成key

openssl genrsa -out key.pem 1024

openssl req -new -key key.pem -out request.pem

openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem

openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

进行签名

java -jar signapk.jar certificate.pem key.pk8  程序.apk  签名.apk

完成, 作者:帅得不敢出门  程序员群:31843264

时间: 2024-11-08 23:07:27

linux下使用apktool破解修改安卓apk的相关文章

FEKO 6.0 电磁仿真软件在 Linux下安装以及破解详细步骤(附下载地址和注册程序)

FEKO6.0各版本下载地址(来源于寺院的研究僧): Intel/AMD (32-bit x86) Windows (XP, Vista, Windows 7, Server 2003) feko_distrib_6.0_win32.exe (320 MByte) Linux feko_distrib_6.0_LINUX.tar.gz (392 MByte) Intel/AMD (64-bit x86_64) Windows (XP, Vista, Windows 7, Server 2003,

Linux下MySQL5.6的修改字符集编码为UTF8

一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_conn

小记Linux下对mac80211内核模块修改

mac80211内核模块实现了对802.11协议的处理过程.其中mlme.c文件中的内容实现了对Deauth管理帧的处理.考虑到Deauth攻击至今仍没有好的防御方法(据说有802.11w,可是我一直没见到应用他的设备,为什么?求解),aireplay-ng工具仍然可以很轻松的Deauth客户下线,所以想修改客户端的内核源码来防止对客户端的Deauth.(针对AP则需要对AP进行修改) 方法简记如下: 1. 要编译内核模块,需要下载操作系统源码并编译make: 2. 找到/net/mac8021

Intellij idea史上最简单的教程之Linux下安装与破解Intellij idea2017

一.前言 这一节我们介绍在Linux下如何安装与破解Intellij idea2017.现在有很多公司开发环境都是Linux,所以掌握在Linux环境下使用Idea办公也是咱们必须得掌握的技能. 下载地址:https://www.jetbrains.com/idea/download/#section=linux 记住我们下载的是Ultimate(旗舰版),不是Community(社区版).Ultimate(旗舰版)是收费的版本,本文主要是针对这个版本的安装与破解的教程.所以各位童鞋别下错了哟.

linux下ssh端口的修改和登录

linux下ssh端口的修改和登录 首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,添加如下一行: Port 50000 然后保存退出 1.端口修改 执行/etc/init.d/sshd restart 这样SSH端口将同时工作在50000上. 2.防火墙修改 现在编辑防火墙配置:vi /etc/sysconfig/iptables 启用50000端口.添加如下一行 1 -A INPUT -m state --state N

linux下如何查看和修改系统BLOCK的大小

http://blog.163.com/[email protected]/blog/static/162607494201271435333906/ 查看os系统块的大小 [root]# /sbin/tune2fs -l /dev/sda1 查看os系统页的大小 [[email protected] ~]$ getconf PAGESIZE 4096 修改块的大小: 创 建文件系统时,可以指定块的大小.如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性能.将ext2

linux下配置maven并修改maven源

参考文章 <Linux下Maven的安装与使用> <aliyun阿里云Maven仓库镜像地址> <maven国内镜像配置(Ubuntu)> 下载maven,具体目录可根据实际情况而定 $ wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz $ tar vxf apache-maven-3.3.9-bin.tar.gz $ mv apa

linux下mysql密码破解的方法

a. 首先停止服务/etc/init.d/mysqld stop,在/etc/my.cnf中添加: socket=/var/lib/mysql/mysql.sockskip-grant-tablesuser=mysql 启动mysql服务,输入mysql登陆 mysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get

Mac下利用eclipse打包cocos2dx安卓apk

上一篇博客中我们已经配置好了JDK和ANT,接下来我们就可以使用eclipse将我们开发好的cocos2dx项目进行打包了. 首先,我们需要准备好下面的内容 配置环境变量,打开"终端",输入"pico .bash_profile"命令 点击回车后,可以看到如下内容,根据自己的目录结构配置好环境变量 配置好之后,输入"Ctrl + X"保存内容,然后输入"Y"确定,点击回车,环境变量就配置好了. 然后,当我们在XCode中创建好