美文网首页
反编译apk与重新打包

反编译apk与重新打包

作者: cc小表弟 | 来源:发表于2017-07-13 16:42 被阅读269次

一、反编译出源码

1.反编译java代码需要先下载dex2jar工具,下载最新版本后解压。

2.将要反编译的apk文件重命名为zip格式并解压缩,注意其中的classes.dex文件,它存放了全部的java代码,将classes.dex文件拷贝到dex2jar解压后的根目录下。

3、打开cmd,进入dex2jar解压后的根目录,执行命令:

d2j-dex2jar classes.dex
示例图

命令执行完后在对应目录下会生成classes-dex2jar.jar文件
4.要查看java代码,还需要下载jd-gui这个工具,下载地址:http://jd.benow.ca/,目前最新版是1.4.0,下载完后解压缩,并用jd-gui.exe打开上边反编译出来的jar文件

二、反编译资源文件

1、要反编译apk中的资源文件,就需要apktool这个工具了,下载地址:http://ibotpeaches.github.io/Apktool/install/,进入下载页面:
下载apktool.bat和apktool.jar这两个文件并放到同一文件夹
2、将要反编译的apk文件放到apktool文件夹,打开cmd,进入apktool文件夹目录,执行命令:

apktool d test.apk

执行成功后,在当前目录下会生成一个test文件夹:
其中,res文件夹下存放的是反编译出来的所有资源,smali文件夹下存放的是反编译出来的所有代码,AndroidManifest.xml则是经过反编译还原后的manifest文件。smali文件夹下的文件smali文件使用的是Android虚拟机所使用的寄存器语言,如果看的懂smail文件的话,就可以修改源代码的逻辑了,好可怕的事...当然这不是我们重点讨论的。

三、重新打包

1、编译修改后需要重新打包:同样在cmd中切换到apktool文件夹目录,执行命令:

apktool b test -o new_test.apk

执行成功后,在当前目录会生成一个新的new_test.apk文件
2、但是,这个apk并不能安装,因为需要重新签名。没有签名文件的话,通过Android Studio生成一个,将准备好的签名文件放到apktool文件夹根目录,继续在cmd执行命令:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件名 -storepass 签名密码 待签名的APK文件名 签名的别名

注意,其中jarsigner命令文件是存放在jdk的bin目录下的,需要将bin目录配置在系统的环境变量中才可以在任何位置执行此命令。

3、最后可以通过如下命令验证apk签名是否成功:

jarsigner -verify -verbose -certs new_test_aligned.apk
示例图

参考博客:http://www.jianshu.com/p/792a08d5452c

相关文章

  • android反编译相关命令总结

    使用apktool反编译apk文件: 使用apktool重新打包为apk文件: 将.apk文件改为.zip/.ra...

  • Apktool 使用教程

    Apktool 是一个反编译Android Apk的第三方工具。它可以反编译资源,并在进行修改之后重新打包Apk。...

  • 鼎源科技:Android 应用有哪些常被黑客利用的安全漏洞?

    1. 应用反编译 漏洞:APK 包非常容易被反编译成可读文件,稍加修改就能重新打包成新的 APK。 利用:软件破解...

  • 反编译apk与重新打包

    一、反编译出源码 1.反编译java代码需要先下载dex2jar工具,下载最新版本后解压。 2.将要反编译的apk...

  • Apktool源码-重新打包

    接着上一篇Apktool 源码-反编译 - 简书来说,这次接着说重新打包apk的流程。 1、重新打包 priva...

  • Android代码混淆使用手册

    目录 前言 一个发布后的apk可以通过反编译代码、反编译资源、重新打包后变成一个新的apk。使用代码混淆技术可以让...

  • apk签名工具

    对apk进行反编译并修改后,需要对重新打包的apk进行签名。 秘钥生成工具——keytool路径:jdk/bin/...

  • android 动态调试

    反编译以及打包 apk 工具网盘地址 反编译 :java -jar Apktool.jar d 22.apk 修改...

  • 对某日头条apk的反编译和二次打包(二)

    前一篇对某日头条apk 的反编译和二次打包介绍了Apk的反编译和二次打包的流程,打包的apk使得其意见反馈按钮失效...

  • Android反编译技术总结

    一、Apk反编译工具及其使用方法 1.原理 学习反编译之前,建议先学习一下Apk打包的过程,明白打包完成后的Apk...

网友评论

      本文标题:反编译apk与重新打包

      本文链接:https://www.haomeiwen.com/subject/taowhxtx.html