51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1958|回复: 0
打印 上一主题 下一主题

【我分享】Android APK反编译方法(可以获取APK xml和android Manifest,java代码...

[复制链接]
  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2015-1-7 08:32:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    APK反编译和签名apk文件反编译以及签名打包通过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文件,即可看到源代码(java文件);
    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(该apk没有签名)
    d. 这样我们就可以把远apk文件通过反编译后,然后对里面资源文件作修改,然后再重建为apk即可;


    3.apk完整源码:1.中得到的java文件和2中得到的xml文件组合成一个android工程,即可得到完整的apk源码。
    4.apk-sign签名apk文件:a. 下载文件件附件apk-sign.rar,解压到apk-sign文件夹;
    b.将XXX.apk文件解压到XXX文件夹,然后将XXX直接拖到apk-sign文件中的sign_pack.bat批处理文件上以执行,弹出cmd执行窗口,等待执行完即可;
    c.生成新文件夹XXX_signed中的apk文件即为已签名;

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-16 08:06 , Processed in 0.055950 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表