Android应用APK反编译本文使用的工具是apktool,其可以将APK文件还原为标准的android工程文件,而要想做到这点,大概需要两步:首先是将apktool.bat文件的路径注册到系统的环境变量中,这样就可以直接在cmd窗口下使用apktool.bat命令直接进行操作,而不必写文件的全路径;第二步是使用apktool.bat d destinationApkFilepath resolvedFilepath`将apk文件解析还原为一个文件夹。
得到文件的源码后,改包名。因为我们知道包名是一个应用程序在应用商店中的“身份证”,是唯一标识,如果想要“盗版”别人的软件,就需要将包名更改。更改包名最快的方式就是使用Notepad++等高级文本编辑器进行批量的修改,修改关键字是/xxxxx/其中xxxxx是该应用的比较明显的标识性的关键字。
更改完包名后,将文件重新打包成APK文件,使用的命令是'apktool.bat b resolvedFilepath destinationApkFilepath'。
还需要对APK进行重新签名,才能形成完整有效的apk,才能在应用市场发布、才能在用户手机上使用。签名的方式是:首先获得一个.key的签名所需的文件,该文件可以在随便哪个android工程中获得:
- 右击工程名,选择export
- 文件类型是:export android application
- project checks该选项一般不用改变
- Keystore selection该条目选择create new keystore,然后配置下面
的.key文件存储的位置/目录,以及你的密码 - key creation配置Alias,Alias在后面对APK进行签名的时候需要用到,所以必须记住,以及密码的重复确认和validity有效期年限,一般25年以上
- 选择APK的存储位置
Over。
对APK进行签名的命令:jarsigner -verbose -keystore .key文件存放的包括根目录的全路径名称 -signedjar 空的APK文件的全路径名称(用于作为签名后的APK文件) 反编译后重新打包的的APK文件的全路径名称(用于作为签名后的APK文件) Alias名称。