Android基础新手教程——1.10 反编译APK获代替码&资源

标签(空格分隔): 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文件:

把下载好的dex2jar文件夹解压,apk解压后中的classes.dex拷贝到dex2jar.bat所在的文件夹下:

打开cmd,来到这个文件夹下:键入:d2j-dex2jar.bat classes.dex

接着我们能够看到。生成了一个jar包:

好的,转换完毕!

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

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

打开后。打开我们3中转换后的jar包。我们能够看见里面的代码:

csdn的client居然不混淆代码…可能是本着开源的精神吧,给我们学习代码吧!一般的话,apk公布都会

进行混淆,然后进行一些加密,或者使用第三方的加密平台。用的比較多的”爱加密“,有兴趣的也自行百度查看更加具体的介绍。

本节小结:

好的。关于APK的反编译就介绍到这里。相信你已经摩拳擦掌想要试试了,那就试试吧,最后提醒一句,别做坏事!尊重别人的劳动成果。另外。关于第一大章环境搭建相关以及一些经常使用开发技巧就到这里,下一节開始我们就来进行本系列教程的第二章——Android中的经常使用UI控件的学习了!

因相关的基本控件较多,预计有几十个,假设一直学控件可能没什么意思,可能并行写教程,每天学一个控件 + 一点其它的知识点这样,笔者要构思构思,敬请期待~谢谢~

android代码apkxiazai1,Android基础新手教程——1.10 反编译APK获代替码amp;资源(示例代码)...相关推荐

  1. Android 应用开发(34)---反编译APK获取代码资源

    反编译APK获取代码&资源 "反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源 ...

  2. Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库

    Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻 ...

  3. Android基础新手教程——3.4 TouchListener PK OnTouchEvent + 多点触碰

    Android基础新手教程--3.4 TouchListener PK OnTouchEvent + 多点触碰 标签(空格分隔): Android基础新手教程 本节引言: 如题,本节给大家带来的是To ...

  4. Android基础新手教程——4.1.3 Activity登堂入室

    Android基础新手教程--4.1.3 Activity登堂入室 标签(空格分隔): Android基础新手教程 本节引言: 好的,在学习了两节的Activity后相信大家已经知道怎样去使用Acti ...

  5. Android反编译apk修改版本号重新打包签名详细教程(超详细)

    文章目录 一.反编译工具介绍 1:apktool 获取资源文件 2:dex2jar(源码文件获取) 3:jd-gui 查看APK中classes.dex转化成出的jar文件,即源码文件 二.apkto ...

  6. Android逆向去掉某功能,逆向教程之-反编译apk完全精简删除菜单功能(二)

    本帖最后由 liuxiaoxin 于 2020-12-3 19:00 编辑 授人以鱼,不如授人以渔! 本教程图文并茂,步骤非常详细,偏小白向,大佬请自觉屏蔽. 使用工具:MT管理器免费版 被修改的软件 ...

  7. Android代码混淆及反编译apk

    序言: 经常听开发提起代码混淆引起的BUG,混淆后在测试一下有没有问题,那问题来了什么是代码混淆,怎么确认代码混淆成功了,带着问题读下文吧~~ 一.代码混淆的原理 代码混淆是将程序中的代码,等价转换为 ...

  8. [Android]反编译apk + eclipse中调试smali

    从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...

  9. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK

    文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...

最新文章

  1. Day 33 并发编程3
  2. 如何将两个虚拟机ping通?如何让虚拟机连网?
  3. 手机隔空充电,会有辐射吗?
  4. 字符串匹配算法_4月16日活动预告|字符串匹配算法解析
  5. mac os 配置 mysql_基于MAC OS 操作系统安装、配置mysql
  6. vue 表单 input text
  7. 深入浅出TensorFlow(七)TensorFlow计算加速
  8. BZOJ3456: 城市规划 多项式求逆
  9. 一个本科毕业生的Java学习之路
  10. 【数据分析】《深入浅出统计学》要点总结
  11. 脉冲耦合神经网络(PCNN)-pulse coupled neural network
  12. 程序员是否要考PMP认证?看这篇就够了
  13. 学生成绩管理系统sql C#
  14. 平面几何----笛沙格定理及其应用
  15. conan入门(十九):封装第三方开源库cpp_redis示例
  16. fx3u4ad一adp说明书_三菱FX3U-4AD-ADP使用方法
  17. Understanding Vertica Epochs
  18. 荷塘趣事计算机作业,【《荷塘趣事》摄影图片】生态摄影_人称开哥_太平洋电脑网摄影部落...
  19. 信号转换芯片-LT8911EXB MIPI CSI/DSI转EDP
  20. 【Java力扣算法】LeetCode 309 Best Time to Buy and Sell Stock with Cooldown(动态规划)

热门文章

  1. foxmail 发送邮件到 Poste邮件服务的端口设置
  2. 事件查看器中WinMgmt错误
  3. 支付宝接口程序、文档及解读
  4. 文字處理經驗談(字符集,字体,输入法)
  5. 新闻丨智链万源荣登2018中国区块链企业百强榜
  6. qq加自己为好友 新方法,呵呵
  7. 计算机算法的概念教案,“算法的概念”教学设计.pdf
  8. 什么是端口转发?什么是端口映射?如何设置端口映射?
  9. 现在 搞技术确实越来越不值钱了
  10. 使用SQL语句插入当前系统时间