APK反编译

这里只介绍下Ubuntu环境下的反编译过程。

一、反编译资源文件

进入官网:https://ibotpeaches.github.io/Apktool/install/ 介绍如下:

  • Linux:
    1. Download Linux wrapper script (Right click, Save Link As apktool)
    2. Download apktool-2 (find newest here)
    3. Rename downloaded jar to apktool.jar
    4. Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
    5. Make sure both files are executable (chmod +x)
    6. Try running apktool via cli

1、右击链接保存为apktool;

2、下载最新的apktool-2;

3、确定是否有32 bit libraries;

4、下载的文件名改为apktool.jar;

5、移到两个文件到/usr/local/bin;

假如这两个文件下载到donwload目录下,进入目录:sudo mv -i apktool apktool.jar /usr/local/bin/;

6、给apktool文件执行权限:

cd /usr/local/bin

sudo chmod +x apktool apktool.jar

7、最后就可以在任何目录下执行apktool了

比如:在目录下反编译一个apk文件:apktool d app.apk

如果官网下载不了,可以去这里下载:https://download.youkuaiyun.com/download/weixin_41987588/10468554

反编译:apktool d app.apk;会在同一目录下生成一个与apk名字相同的目录,里面存放了反编译后的资源。

反编译指定目录:apktool d app.apk <dir>;dir表示反编译后文件的存储位置。如果指定的<dir>已经存在,则会无法执行,需要使用-f选项。如下:

apktool d -f app.apk <dir>:-f表示强制覆盖。

值得注意的是,apktool反编译出来只能得到apk的smali文件,即汇编语言版本,并不能得到源代码。

(二)重新打包

apktool b -o <output.apk> <input_dir>

<input_dir>就是上面反编译输出的目录,<output.apk>是编译的输出结果,默认为dist/<name>.apk。

二、反编译代码

反编译代码使用dex2jar工具。

下载:https://sourceforge.net/projects/dex2jar/files/

Android的安装包是.apk文件,可以在手机等设备上直接安装使用,但其本质就是一种压缩文件,将要反编译的apk文件后缀名改为.zip,然后就可以直接用解压工具打开了。

Ubuntu解压命令:

unzip app.zip

将apk解压出来后有一个classes.dex文件,该文件中存放的就是Java代码了。

下载的dex2jar工具仍然是zip格式的,使用unzip命令解压。

主要用到的就是d2j-dex2jar.sh文件,接下来将classes.dex文件拷贝到d2j-dex2jar的解压目录下,执行命令

sh d2j-dex2jar.sh classes.dex

如果提示权限受限,执行命令:chmod +x ./d2j_invoke.sh 

如果得到提示信息:dex2jar classes.dex -> ./classes-dex2jar.jar,证明已经转化成功。

打开目录,发现多了classes-dex2jar.jar文件,这就是 classes.dex转换成的jar文件,jar文件得到以后,我们仍然无法直观得看到程序的代码,此时就需要jd-gui工具了。

三、jd查看Java源码

jd下载:http://jd.benow.ca/

jd-gui包是.tar.gz后缀,使用解压命令:

tar -zxvf jd-gui-0.3.5.linux.i686.tar.gz

解压后jd-gui可以直接双击打开。

点击file→Open File,选择刚刚转换得到的classes-dex2jar.jar文件,打开就是我们需要的代码文件了



https://blog.youkuaiyun.com/dreamer2020/article/details/52761606

https://blog.youkuaiyun.com/qq_32115439/article/details/55520012


cd /Android/Sdk/build-tools/26.0.2

 ./zipalign -f -v 4 SpiritAdaptix.apk SpiritAdaptixzip.apk

./apksigner sign --ks /home/sgf/software/jdk1.8.0_161/bin/debug.keystore --ks-key-alias androiddebugkey SpiritAdaptix.apk




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值