怎样反编译 Android APK
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样反编译 Android APK相关的知识,希望对你有一定的参考价值。
参考技术A APK文件是用专业软件eclipse编译生成的文件包。在网上可以找到许多软件来对APK的内容进行反编译,例如:可以通过AXMLPrinter2工具和命令:java -jar AXMLPrinter2.jar androidManifest.xml 解开在apk中的AndroidManifest.xml。最近,业界有一个功能强大的解包打包工具包apktool,可以在Windows下用来方便快速地对APK文件进行解包和打包,给修改和编辑工作带来许多方便。下面来介绍它的使用。1) APKtool软件包APKtool软件包有2个程序组成:apktool.jar 和 aapt.exe另外提供一个批处理文件:apktool.bat,其内容为:java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9运行apktools.jar需要java环境(1.6.0版本以上)。apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。2) APK文件的解包下面以解开Contacts.apk为例。首先把Contacts.apk Copy到当前工作目录下(例:Test)。在DOS下打入命令apktool d Contacts.apk ABC这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。3) APK文件的打包在DOS下打入命令apktool b ABC New-Contacts.apk这里“b”表示要打包ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。New-Contacts.apk是打包后产生的新的APK文件。4) Framework框架文件在解开APK文件时,apktool需要框架文件(framework-res.apk)来解码和打包。Apktool已经包含了标准的框架,所以在大多数APK文件的解包时,不需要另外提供框架文件。但是,某些制造商使用了他们自己的框架文件,为了解包,就不得不从手机中把框架文件(framework-res.apk)提取出来,然后安装到计算机。安装命令是:apktool if framework-res.apk 安装后就会得到:~\apktool\framework\1.apk5) 解包、解包和签名批处理在实际使用时,可能对多个APK文件进行处理。方便的做法是写成批处理文件。打包和签名可以一次完成。解包批处理命令:for %%i in (*.apk) do java -jar apktool.jar d %%i _%%i && move _%%i Modifying_Files && copy %%i Backuped_Raw_Files && @echo File [%%i] unpacking process is completed!打包和签名批处理命令:for /d %%i in (*) do cd.. && java -jar apktool.jar b Modifying_Files\%%i && java -jar signapk.jar testkey.x509.pem testkey.pk8 Modifying_Files\%%i\dist\*.apk %%i && ren %%i New%%i && move New%%i Modified_Signed_Files && @echo %%i Complete repacking and Signing! && cd Modifying_Files以上是关于怎样反编译 Android APK的主要内容,如果未能解决你的问题,请参考以下文章