APK反编译(附图)

既然安卓是用java写的,应该还是可以反编译得到源代码的。下面是我的实践:

反编译前准备:下载反编译工具包[url]http://pan.baidu.com/s/1qWFcueC[/url]或者[url]http://download.csdn.net/detail/sunboy_2050/4633436[/url]

介绍一下工具包下的各个文件夹及其功能:
[color=red] 在apk2java目录下的dex2jar-0.0.9.9文件夹下,内含apk反编译工具dex2jar,将apk中的classes.dex转化成jar文件,以及源码查看工具jdgui,直接查看反编译后的jar包源代码。[/color]

dex2jar 和 jdgui 最新版本下载:
dex2jar[url]http://code.google.com/p/dex2jar/downloads/list[/url]
jdgui[url]http://code.google.com/p/innlab/downloads/list[/url]

[b]一:通过反编译得到java源代码[/b]
[b]1[/b]:将测试的apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。
在命令行下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex
结果生成
classes_dex2jar.jar
[img]http://dl2.iteye.com/upload/attachment/0099/6593/a04bd6fb-abf9-334b-8d85-08f4051439e1.png[/img]
[b]2[/b]:进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了,如下图:

[img]http://dl2.iteye.com/upload/attachment/0099/6590/63f31db1-e7a7-3cbe-9c2e-af8225d4bc74.png[/img]

[b]二:apk反编译生成程序的源代码和图片、XML配置、语言资源等文件[/b]
在工具包apk2java\apktool1.4.1下面有一个apktool.jar,大家最好下载最新版本的然后覆盖,下载地址:[url]https://code.google.com/p/android-apktool/downloads/list[/url]
[b]1[/b]:在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat d [apk文件路径 ] [输出文件夹路径] 如下图:

[img]http://dl2.iteye.com/upload/attachment/0099/6597/89b0afcf-6ec6-30e3-844f-fae66afb2068.png[/img]

反编译的文件如下(AndroidManifest.xml为例):

[img]http://dl2.iteye.com/upload/attachment/0099/6595/c0de8a08-a471-365c-9d97-96c640a1c32f.png[/img]
将反编译完的文件重新打包成apk,很简单,输入apktool.bat b [输出文件夹路径] 即可,然后生成了两个文件夹build和dist。其中,打包生成的apk,在上面的dist文件夹下,Ok!

当然,对于那些经过加密处理混淆代码后的apk,我们即使反编译出来也是看不懂的。想要防止自己的apk被反编译用于非法用途可以借助[url]http://www.ijiami.cn/[/url]。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
综合小区管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、车位管理、车位分配管理、出入管理、字典管理、房屋管理、物业费缴纳管理、公告管理、物业人员投诉管理、我的私信管理、物业人员管理、用户管理、管理员管理。用户的功能包括管理部门以及部门岗位信息,管理招聘信息,培训信息,薪资信息等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 综合小区管理系统管理系统可以提高综合小区管理系统信息管理问题的解决效率,优化综合小区管理系统信息处理流程,保证综合小区管理系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理综合小区管理系统信息,包括出入管理,报修管理,报修管理,物业费缴纳等,可以管理操作员。 出入管理界面,管理员在出入管理界面中可以对界面中显示,可以对招聘信息的招聘状态进行查看,可以添加新的招聘信息等。报修管理界面,管理员在报修管理界面中查看奖罚种类信息,奖罚描述信息,新增奖惩信息等。车位管理界面,管理员在车位管理界面中新增。公告管理界面,管理员在公告管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值