反编译apk修改v7包_对某APK反编译修改代码到重新打包编译

由于兴趣的原因需要对某地图APK进行反编译,然后修改AndroidManifest,再重新打包编译。此处声明,并没有做什么坏事,只是纯粹的了解下技术。网上最大的坑就是下载apktool这个工具,自己下载了好多次,很多都有问题的,现在提供自己的反编译用到的所有工具git@github.com:justinhaisheng/-Java_Decompiler.git

APKTOOL的使用

apktool工具最最有的两个文件分别为apktool.bat与apktool.jar。

打开cmd.exe 进入到apktool工具所在的目录下执行apktool d +apk所在位置 。例如:

执行过程会出现这些。

如果中途出错,考虑是不是以前有执行过过时的apktool,可以到C盘符下user目录寻找到apktool/framework下的文件删除,然后重新反编译。

反编译完之后会在apktool下生成相应的文件文件内容如下:

通过apktool工具反编译出来后的文件,我们主要可以看到资源文件例如AndroidManifest.xml,如果只是改动这里的话,用编辑器打开改动就可以重新打包编译了。在这个文件目录下,smali是我们的主要代码所在的位置,只是现在打开看也是我们无法识别的东西(当然主要是我对这个不懂),看得懂的人可以不需要借助dex2jar继续反编译。

重新编译打包

改完代码后想重新编译打包也不难主要命令是:apktool d -r xxx.apk

在此说说我遇到的另一坑,大家也估计有机会遇到,就是重新打包后不能直接安装进手机的,原因是签名,必须要有签名才行,可是如果你是反编译别人家的apk你哪有人家的签名呀,没办法可以用自己Android工具下的签名工具(具有怎么签名请百度谷歌)来进行签名,我说的坑就是你用自己的默认签名之后,一开应用就奔溃了,原因是这个软件有做检测签名的逻辑代码,所以还必须要找到这个代码然后干掉才行。

dex2jar的使用

把.apk的包重命名为.zip,然后解压出来

解压之后会有.dex 的文件,使用dex2jar就是把.dex文件转化为.jar文件

打开cmd.exe 进入到dex2jar-2.0工具所在的目录下执行d2j-dex2jar xxx.dex。例如:

*然后就可以看到生成了.jar文件了。

jd-gui的使用

这个的使用就很简单了,打开刚刚生成的.jar就可以看到真正的.class的

代码了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值