位置: 编程技术 - 正文

Android基础入门教程——1.10 反编译APK获取代码&资源(android新手入门)

编辑:rootadmin
Android基础入门教程——1. 反编译APK获取代码&资源

推荐整理分享Android基础入门教程——1.10 反编译APK获取代码&资源(android新手入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android入门视频教程,android基础入门实列,android基础入门书籍推荐,android基础入门书籍推荐,android基础入门书籍推荐,android基础入门教程,android基础入门教程,android基础入门书籍推荐,内容如对您有帮助,希望把文章链接给更多的朋友!

标签(空格分隔): Android基础入门教程

本节引言:

”反编译Apk“,看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件;不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上别人的图片素材,简单点的,我们可以下载别人的APK,然后改下后缀名,改成xxx.zip,然后解压: 笔者随便解压了一个APK:

我们可以打开res目录,获取里面的图片素材

但是,这种方法,获得的只会是一些.png,或者.jpg这样的位图文件资源,如果是xml类的资源,打开我们会发现是乱码,并且假如我们想看APK程序的Java代码,也是行不通的,因为他们都打被打包到classes.dex文件中! 但是反编译可以解决你的需要~另外,切勿拿反编译来做违法的事,比如把人家的APK重新打包后使用自己的签名然后发布到相关市场…另外,我们是参考别人的代码,而不是完全拷贝!!!切记!!

1.要准备的三个工具 apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件 dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件) jd-gui:查看2中转换后的jar文件,即查看Java文件 为了方便各位读者,这里将三个打包到一起放到云盘中,又需要的可以进行下载: 反编译相关的三个工具.zip 2.使用apktool反编译APK获得图片与XML资源:

把下载好的apktool解压后,我们可以看到下述文件(忽略那两个csdn,一个是反编译的apk,一个是反编译后文件):

接下来,双击cmd.exe,来到命令行,键入: apktool.bat d csdn.apk 即可,Enter回车:

然后就可以看到生成的csdn文件夹,里面就有我们想要资源 好的,就是XML资源到手了是吧!图片素材也到手了!

3.使用dex2jar将classes.dex转换成jar文件: Android基础入门教程——1.10 反编译APK获取代码&资源(android新手入门)

把下载好的dex2jar文件夹解压,apk解压后中的classes.dex复制到dex2jar.bat所在的目录下:

打开cmd,来到这个目录下:键入:d2j-dex2jar.bat classes.dex

接着我们可以看到,生成了一个jar包:

好的,转换完成!

4.使用jd-gui查看jar包中的Java代码:

好的,打开jd-gui的文件夹

打开后,打开我们3中转换后的jar包,我们可以看见里面的代码:

csdn的客户端竟然不混淆代码…可能是本着开源的精神吧,给我们学习代码吧!一般的话,apk发布都会 进行混淆,然后进行一些加密,或者使用第三方的加密平台,用的比较多的”爱加密“,有兴趣的也自行百度查看更加详细的介绍!

本节小结:

好的,关于APK的反编译就介绍到这里,相信你已经摩拳擦掌想要试试了,那就试试吧,最后提醒一句,别做坏事!尊重别人的劳动成果!另外,关于第一大章环境搭建相关以及一些常用开发技巧就到这里,下一节开始我们就来进行本系列教程的第二章——Android中的常用UI控件的学习了!因相关的基本控件较多,估计有几十个,如果一直学控件可能没什么意思,可能并行写教程,每天学一个控件 + 一点其他的知识点这样,笔者要构思构思,敬请期待~谢谢~

版权声明:本文为博主原创文章,未经博主允许不得转载。

AndroidStudio中如何加载so库 今天在AndroidStudio中建项目,用百度地图SDK做定位,却发现怎么都无法获取经纬度信息,原来是AndroidStudio中加载so库搞错了,之前看网上说的是在src/main

Android属性动画-Property Animation(一) 原理分析 PropertyAnimation我们为什么要用属性动画(PropertyAnimation)?它与视图动画(ViewAnimation)有什么不同?之前我们使用的ViewAnimation,它只能对View对象进行操作

MaterialCheckBox packagecom.nsb.app.ui.view;importandroid.animation.ValueAnimator;importandroid.annotation.TargetApi;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandro

标签: android新手入门

本文链接地址:https://www.jiuchutong.com/biancheng/378093.html 转载请保留说明!

上一篇:Android 5.1 长按power键流程分析(android长按app快捷功能)

下一篇:AndroidStudio中如何加载so库(androidstudio 教程)

  • 车船税计入管理费用什么明细
  • 企业税号还未开户
  • 年末是否结转本年利润
  • 税务纳税等级m级是什么等级
  • 单位内部食堂如何做账务处理
  • 提前买礼物
  • 税控盘退费怎么做会计分录
  • 小规模季度开票超过30怎么纳税
  • 银行现金增加会计分录
  • 青年企业家协会入会要求
  • 结转损益类费用科目的余额
  • 在账务处理过程中,最关键的环节是
  • 资产减值测试是什么意思
  • 并购产生的商誉怎么冲减
  • 餐饮招待怎么入账
  • 转账支票给员工转工资
  • 资产负债表里所有者权益合计为负数正常吗
  • 发票联丢失用抵扣联做账可以吗
  • 发票额度变更
  • 进项税额抵扣的情况有哪些
  • 小微企业免征增值税政策2023
  • 企业残疾人保障金
  • 企业所得税增值税完税证明
  • 一般纳税人转让固定资产增值税税率
  • win10如何查看显卡版本
  • thinkphp5框架介绍
  • linux中ls命令的意思
  • PHP:oci_field_precision()的用法_Oracle函数
  • 保险多扣一个月
  • 商企预提待付费什么意思
  • 车辆购置税税收缴款书
  • 财务人员如何管控费用支出
  • 普利特维采湖群国家公园天气
  • 瑞士·劳特布龙嫩小镇
  • 模型如何优化
  • 中科院t1
  • 计算模型的层次划分
  • 身份证校验python代码
  • 小微企业减免额怎么计算
  • 什么是进项税转出成本
  • mysql的删除
  • 资产减值损失是费用吗
  • 为什么盈余公积减少,未分配利润增加
  • 取得投资是什么意思
  • 什么样的企业才算大企业
  • 未开票收入确认错属期滞纳金怎么办
  • 借别人账户过钱
  • 国际货运公司支付境外运费
  • 出口退税的会计分录为什么在贷方
  • 先进先出法实际成本跟成本不一样吗
  • 同比增长率环比增长率怎么算
  • 专利年费可以减免吗
  • 增值税销项抵扣报税后有效期是多长时间
  • 公司购买垃圾袋可以抵扣吗
  • 工程项目分包需要招标吗
  • adsl用户之间共享电话线路
  • Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易配置方法
  • apple mac book
  • CentOS安装配置adb环境
  • freebsd查看硬盘信息
  • pcs system
  • ubuntu 怎么用
  • Linux系统中修改文件权限
  • console打开
  • linux如何加载动态库
  • linux里vim常用命令
  • 安卓软件集
  • jquery自定义
  • 原生js实现路由
  • div+css网页布局方法
  • shell脚本总结
  • JavaScript中Number.NEGATIVE_INFINITY值的使用详解
  • ug编程代码意思
  • python相乘
  • javascript基础教程pdf下载
  • 税务安装步骤
  • 重庆地方税务局12366
  • 国内海运费的运价表
  • 税务部门协作
  • 如何建立内部控制缺陷认定的定型标准和定量标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设