网站大量收购闲置独家精品文档,联系QQ:2885784924

Android应用程序的补丁方法.PDF

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android应用程序的补丁方法

Android 应用程序的补丁方法 图/文 非虫 能完成这篇文章,打心底里十分高兴,一直在研究Android 程序的逆向与解密方法,每次都使用传统的反编 译与回编 APK ,这样需要花费大量时间去测试,而且很多时候反编译出的程序无法回编回去,这着实让我郁闷 了好些日子。当时就在想,Android 程序如果能像Windows 程序一样可以打补丁的话该多好啊,这样测试程序就 不用反复的反编译程序了。为了完成设想,我开始对DEX 文件进行研究,在经过一个多月的慢推慢磨后终于将 APK 程序的两种补丁方法研究出来了,特此拿来与大家分享。 Dex 文件结构 研究Windows 的程序,首先要掌握PE 文件格式,到了Linux/Unix 环境,又必须掌握ELF 文件格式。因为 它们都是分析自身所在系统程序的基础。不了解它,就像中国人不了解汉字,美国人不了解英语,太阳不了解月 亮,丈夫不了解妻子也正因为如此,在分析Android 软件之前,了解Dalvik DEX 文件格式是很有必要的。在 以往的文章中,我跟大家曾多次提到过DEX 文件,今天,我就带领大家一起来揭开它的神秘面纱。 随着Android 系统版本的增加,一些结构也有了微妙的变化,本文所描述的DEX 文件格式源于Android 4.0 源代码中的“dalvik\libdex\DexFile.h ”文件所提供的信息。另外,由于本人知识也极有限的,所以,在理解与表 述方面出现错误也再所难免,如果大家发现文中有任何不对的地方,也请批评指出。 DEX 文件作为APK 程序的“可执行体”,里面存放着APK 所有的包、类以及方法信息。DEX 文件的完整 定义格式如下: struct DexFile { /* directly-mapped opt header */ const DexOptHeader* pOptHeader; /* pointers to directly-mapped structs and arrays in base DEX */ const DexHeader* pHeader; const DexStringId* pStringIds; const DexTypeId* pTypeIds; const DexFieldId* pFieldIds; const DexMethodId* pMethodIds; const DexProtoId* pProtoIds; const DexClassDef* pClassDefs; const DexLink* pLinkData; /* ☻☻☻ * These are mapped out of the auxillary section, and may not be * included in the file. ☻☻☻ */ const DexClassLookup* pClassLookup; const void* pRegisterMapPool; // RegisterMapClassPool /* points to start of DEX file data */ const u1* baseAddr; /* track memory overhead for auxillary structures */ int overhead; /* additional app-specific data structures associated with the DEX */ //void* auxData; }; DexOptHeader 这里我们先不讨论,如结构

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档