安卓逆向(送给最好的TA)


哈哈哈哈,人生第一次玩安卓逆向,虽说这次操作并不算有多牛逼,但是还是让人兴奋不已。
下面把博主的实验经历记录下来。

Apk反编译三件套

1.apktool——可以反编译软件的布局文件、图片等资源,方便大家学习一些很好的布局

2.dex2jar——将apk反编译成java源码(classes.dex转化成jar文件)

3.jd-gui——查看APK中classes.dex转化成出的jar文件,即源码文件。

工具下载
apktool :这里
dex2jar:这里
jd-gui:这里
以上工具的安装使用并不在这一一列出,毕竟百度一下一大把。
如果实在懒的搜,那就看着–> 1,2,3

经历

拿到送给最好的TA.apk

  • 将其后缀名.apk改为.zip,解压缩,会发现一个文件夹,
    在这里插入图片描述
    assets文件夹目录结构
    在这里插入图片描述
    其中0.MP3就是那罪恶的源泉,当然博主把它替换成爱国主义歌曲《强军战歌》。(0.mp3我就地销毁,你们不用找博主要了)
    这样简单的替换,难道之后只需将其重新压缩,改后缀名.apk就行了吗,当然不是,它还需要打包打包重签名。
    但是这种单纯的改后缀,然后用apktool来重新打包是不行,但我们可以用这种方法来看看apk文件中有哪些文件。
    于是第二种方法出来了。

使用【apktool】来反编译

进入到测试apk所在目录,输入apktool d test.apk开始反编译
编译结束可以看到目录下多了个test文件夹,里面就是反编译以后的产物,我们想要的 AndroidManifest.xml和res/.等资源文件
此时资源文件反编译就完成了,下面继续反编译java代码,这是就要用到dex2jar和 jd-gui
下载完dex2jar和 jd-gui解压一下就可以了,复制到操作目录方便操作

使用【dex2jar】将apk源码反编译成java源码

在上网中改后缀为.zip,解压缩,得到文件夹中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的)。

  1. 将上述classes.dex复制到dex2jar文件夹路径下;
  2. 命令行到dex2jar文件的目录;
  3. 输入以下命令,完成编译。
d2j-dex2jar.bat classes.dex

在这里插入图片描述
其中d2j-dex2jar.bat是Windows下启动dex2jar工具的批处理文件。
classes-dex2jar.jar是反编译classes.dex成功后生成的jar文件

使用【jd-gui】工具将class文件反编译成java源代码

反编译classes.dex得到classes-dex2jar.jar文件之后,就可以使用【jd-gui】工具将class文件反编译成java源代码了. (jar为class文件打包)
在这里插入图片描述

使用【apktool】重打包

刚才我们执行apktool d test.apk反编译得到了test目录
在这里插入图片描述
回编译就是执行命令apktool b test
成功之后,test目录下会生成build和dist目录

  1. build目录下存放的是打包后的dex文件和资源文件(和apk解压后一样一样的)
  2. dist目录下存放的是重新打包后的apk文件

使用【autosign】重新签名

签名apk,重新发布
接下来就要用到签名工具了,如果不经过签名是不能正确运行的。工具: auto-sign.zip
将打包好的test.apk 拷贝到解压好的auto-sign文件夹下,执行命令:(cmd路径也在当前文件夹下)

java -jar signapk.jar testkey.x509.pem testkey.pk8 test.apk test_signed.apk

test_signed.apk就是签名后的apk
在这里插入图片描述

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值