欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android技巧:apk文件反编译以及签名打包(dex2jar&jd,apktool,apk-sign) 博客分类: android AndroidCC++C#XML 

程序员文章站 2024-02-21 17:55:16
...

 

通过dex2jar和jd我们可以反编译apk中的dex,可以比较完美的查看java源文件;通过apktool可以反编译apk中的xml等资源文件,然后通过apk-sign签名,可以制作成修改版的可发布apk文件。

 

1.dex2jar反编译dex文件:

 

a.下载文件见附件:apktool-1.3.1.tar.bz2jd-gui.zip,或点击这里下载;解压;

b. 把apk文件后缀名改为.zip,然后解压缩其中的class.dex文件,它是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件;
c.把class.dex拷贝到dex2jar.bat所在目录,运行dex2jar.bat class.dex,生成classes.dex.dex2jar.jar ;
d.运行jd-gui工具(绿色无须安装),打开上面生成的jar文件,即可看到源代码;

 

2.apktool反编译xml等资源文件:

 

a. 安装java环境,下载文件件附件:apktool-1.3.1.tar.bz2apktool-install-windows-2.2_r01-2.tar.bz2,或点击这里下载;把这两个文件解压到同一目录下,该目录下cmd中运行apktool获得帮助信息
b.
apktool d XXX.apk ABC    反编译XXX.apk到文件夹ABC

c.apktool b  ABC                   从反编译后的文件夹ABC重建APK,输出到ABC\dist\out.apk

d.这样我们就可以把远apk文件通过反编译后,然后对里面资源文件作修改,然后再重建为apk即可;

 

 

3.apk-sign签名apk文件:

 

a. 下载文件件附件apk-sign.rar,解压到apk-sign文件夹;

b.将XXX.apk文件解压到XXX文件夹,然后将XXX直接拖到apk-sign文件中的sign_pack.bat批处理文件上以执行,弹出cmd执行窗口,等待执行完即可;

c.生成新文件夹XXX_signed中的apk文件即为已签名;