我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合生肖表 > 反编译程序 >

你知道Android Apk的反编译和加密原理?

归档日期:05-02       文本归类:反编译程序      文章编辑:爱尚语录

  下面就简单介绍一下如何将我们从网上下载的Apk文件进行反编译得到我们想要获得的资源文件和源码。

  Android的应用程序APK文件说到底也是一个压缩文件,那么可以通过解压缩得打里面的文件内容,不过很显然,当你去解压完去查看的时候,发现里面的很多东西和你想象中的不太一样。资源文件等xml文件基本打不开,即使打开了也都是乱码(而这正是Android进行加密过),有些应用会将图片资源等的也加密(如qq音乐)。

  而既然直接解压无法看到正常的应用程序,那么就需要借助反编译软件来实现APK的反编译。

  Android工程文件主要有资源文件和源代码组成。而为了查看资源文件需要借助一个工具,本文使用的是apktool工具进行反编译,经过编译后能够正确查看XML文件和其他的非XML的资源文件,这对于汉化而言有着巨大的意义。而为了查看源码,则需要借助于dex2jar和jd-gui这两个工具,其中dex2jar工具负责将dex文件转化为jar文件,而jd-gui则用于查看jar文件。

  更新最新的apktool版本后正常,本文使用的最新apktool版本为2.2.2.

  需要借助工具Dex2jar和jd-gui。其中Dex2jar,顾名思义就是将dex文件反编译为jar文件。而jd-gui则用于直接查看jar包中的源代码。

  当然,你也发现了这些源码都是被混淆了的,即用无意义的字母来重命名类、成员变量、方法和属性以及删除没用的注释。

  既然都提到了这里了,我们也顺便了解一下Android Apk的加密过程。

  由于Java字节码的特殊性,使得它非常容易被反编译,(正如刚才我们进行的那些操作,借助一下工具就反编译了一个QQ音乐的Apk),因此,显然我们会有一些保护措施,对编译好的Class文件进行一些保护。通常我们都会使用ProGuard来对Apk进行混淆处理,用无意义的字母俩重命名类、成员变量、方法和属性。(当然它能删除一些无用的类、成员变量、方法和属性以及删除没用的注释,最大程度优化字节码文件)

  而proguardFiles分为两部分,前半部分是一个系统默认的混淆文件,位于SDK目录下的tools/proguard/proguard-android.txt,一般情况下使用这个默认的文件即可,另一部分是项目中自定义的混淆文件,可以在项目中的App文件夹中找到这个文件,在这个文件夹中可以定义引入的第三方依赖包的混淆规则。配置好ProGuard后,只要使用AS导出Apk,即可生成混淆后的字节码文件。

  直播简介及亮点: 在开发多机器人的协同应用时,各机器人产品往往来自不同的厂商,各

  Android是Google公司开发的基于Linux平台的开源手机操作系统,它包括操作系统、中间件、...

  谷歌在Android 9 Pie上首次引入手势控制时,许多的用户觉得这些手势控制还不成熟。用户只能单...

  如果你参加了GDC 2019大会或者一直关注我们的动态,那么你可能已经听说或者看到了我们完全重新开发...

  波士顿动力堪称是当今最受欢迎的机器人公司,其技术实力往往让人惊艳,每次一发视频就刷屏,几天前 10 ...

  在USB accessory 模式中,外部USB硬件作为USB主机。外设的例子包括机器人控制器,扩充...

  Android Q的首个Beta版于3月14日凌晨正式发布,目前谷歌旗下所有Pixel系列手机均可体...

  1安装ubuntu12.04 (如果使用下载明远智睿的虚拟机,请直接跳到 下载源码并解压 这一节) ...

  今天,据Phone Arena报道,谷歌软件工程师在评论中提到了Pixel 4,这也是谷歌第一次提及...

  高通称支持瑞士电信的所有设备制造商都使用了高通的5G解决方案。 OPPO和LG的5G手机以及Aske...

  国内用户对于智能电视上插入广告内容可能已经习惯了,但国外用户可能还没有。

  相信很多从功能机时代走过来的人的回忆中都有一台诺基亚,提起诺基亚手机,那绝对是很多70,80,90年...

  摩托罗拉也是手机界的老牌厂商了,其经典的“Hellomoto”大家应该都记得。

  在5月8日举行的谷歌I/O大会上,最新的安卓系统Android P正式与我们见面。在公布的可首批体验...

  今天,谷歌悄无声息的发布了Android Q(也就是安卓10.0)的第二个测试版,主要来说是修正上一...

  3月14日,Google发布了下一代Android操作系统的首个开发者测试版,目前的代号名为Andr...

  4月2日,安兔兔发布了2019年3月Android手机性能榜。上个月因为数量或者发布时间等原因缺席的...

  在市场上能找到许多用来保护文件的文档加密工具。今天我们将讨论一款叫做 “toplip” 的命令行文件...

  由于项目需要,应该是公司缺人手吧,项目经理的一句有人对javaWeb感兴趣么,就把这活接到了手中。以...

  看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术...

  车内空间的科技感与高格调正在成为用户们选购汽车时的关键要素,基于这一诉求,众多车厂纷纷发力汽车驾驶舱...

  例如,Microsoft最近开放了他们的Teams API,以便最终用户可以通过各种不同的供应商解决...

  据报道成,华为早在 2012 年就已经开始规划研发自家的操作系统已防止日后市场局势出现的变故。但与此...

  Tag Heuer与谷歌和英特尔合作推出了Android Wear智能手表。该公告标志着瑞士高端钟表...

  但是,华为开发的该系统到底有多强,覆盖面到底有多广,能否完全满足实际所用,现在大家都还不清楚。毕竟,...

  随着微处理器技术的发展与成熟,嵌入式语音识别系统已逐渐成为各领域研究的热点方向,各种迎合人们需求的语...

  对于谷歌来说,随着全面屏手机越来越多,让安卓系统更好的去支持手势操作,就显得非常有必要了。

  据国外媒体报道,谷歌今日发布全新操作系统Android Q Beta 1,其主要特性有增强的隐私和安...

  Android工程师是指从事Android移动应用操作系统、游戏和各种Android平台功能的应用、...

  3月14日消息,谷歌正式推出Android Q Beta 1版本及预览版SDK,开发者或喜欢尝鲜的用...

  在Android发展起来之前,其实全球最大的智能手机操作系统塞班,虽然塞班存在着臃肿等问题,但是由于...

  对于期待Android 10的用户来说,谷歌已经给出了正式版发布的时间,而今天他们还推出了这个新系统...

  回顾小米、vivo和OPPO三大手机厂家2019年的种种举动,以及华为、荣耀手机掌门人在微博上的言论...

  近日,联想集团副总裁,联想手机掌柜常程,在微博宣布联想Z5 Android 9.0 P内测版发布。

  随着5月份I/O大会的举办,Android Q即将与我们见面。对于希望尽快升级的用户来说,一则好消息...

  Apple iBeacon是一个相对较新的应用程序,可以扩展位置服务Apple iOS操作系统。位置...

  寒冬真的来了吗?可能是吧,因为最近几年每年都说是寒冬,说的真的叫人焦虑。不过互联网的整体环境确实不如...

  Gaming是Android手机最受欢迎的传感器应用之一。游戏应用程序使用陀螺仪,加速度计和指南针来...

  你可能更清楚地记得的是你丢失手机的次数,而不是你的账户被黑的次数。Rivetz的首席执行官Sprag...

  Android操作系统现在已经通过FIDO2认证,这意味着有一天密码可能会在移动系统中被彻底清除。

  由于反套路式的操作即官方连珠炮式地自曝,这会儿看到小米9透明版的跑分成绩,似乎已经不让人那么兴奋。

  此外,在国内外品牌构成方面,1 月国产品牌手机出货量 3206.0 万部,同比下降 4.3%,环比下...

  此前,谷歌表示正在紧锣密鼓的准备全新的Android Q,而其中的全局黑暗模式将成为一项特色功能出现...

  谷歌将在5月7日到9日于加利福尼亚州山景城海岸线圆形剧场举办一年一度的Google I/O开发人员大...

  不过即使Android P在敦促OEM厂商加速为用户提供最新系统的效果并不算显著,但谷歌也没有停下继...

  “对于汽车行业来说,这确实是一件关键的事情。”上述负责人表示,目前已经有OEM厂商开始采用Andro...

  谷歌已经宣布,2019年I/O开发者大会将于5月7日至5月9日期间举行。此次大会是连续第四年在其总部...

  欢迎来到智能手机飞速发展的时代。今天,智能手机已经成为了一种人人都离不开的商品,坦率的说,我们已经很...

  据判断,Android Q引入了“强制覆盖”特性,这意味着,今后即便第三方程序没有调用自切换接口或者...

  ES文件管理器存在多个漏洞,有信息泄露的风险,可能将影响1亿Android用户。

  全盘加密,通常是为了保护存储在电脑或手机上的数据,不包括正在发送的邮件或及时讯息。一旦被加密,如果没...

本文链接:http://oms15.com/fanbianyichengxu/171.html