`
talin2010
  • 浏览: 518564 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

Android 逆向apk程序的心得

阅读更多

本文主要介绍如何逆向一个Android的APK应用程序,本文提供的方法仅供研究学习之用。

本文需要用到的工具有

jdk 这个用于搭建java运行环境

AXMLPrinter2.jar 这个用于逆向.xml文件

baksmali.jar 这个用于逆向classex.dex文件

由于Android.apk文件实际上就是一个zip文件 可以直接用winrar打开

如下图所示:

用rar打开之后 我们可以看到该文件实际上是一个zip包 里面包含了META-INF文件夹,这个文件夹是用于保存签名文件,确保包的完整性的

res文件夹下就是apk所要用的资源文件,都是原封不动地保存,我们可以直接提取出来,做汉化时就可以直接阅读string文件然后进行修改

AndroidManifest.xml文件则是编译过后的一个配置文件,用于声明程序中所包含的activity,service以及程序所具有的能力,也就是权限。resources.arsc则是编译过后的一个资源说明文件,而我们要关注的主要是classes.dex 。我们编写的Android程序,在源程序里的所有.java的文件,最终都编译到这样1个.dex文件当中,在Android手机上的dalvik虚拟机上执行。

首先,我们介绍如何逆向一个.xml文件

由于apk包里的xml文件我们直接用记事本打开还是有一些乱码

所以需要我们还原才能更好的看出

这里需要用到AXMLPrinter2.jar 工具

具体的则是打开命令行 我们以AndroidManifest.xml为例,输入如下命令

java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt

有兴趣的也可以写成一个.bat的脚本,方便执行

我们可以看看 执行的结果

执行前的AndroidManifest.xml文件

执行之后 我们可以再看看

基本能还原的跟源程序大致相同

这里我是拿的eoe出的一个墙纸程序为例

接下来,大家肯定更加关心classes.dex的逆向

这个其实跟之前那个也很相似

采用baksmali.jar这个工具,国外一个对Android研究的很深入的大牛做的

执行代码

java -jar baksmali.jar -o classout/ classes.dex

讲classes.dex能逆向成一个文件夹

这里我可以截个图给大家看看

点开其中一个文件 我们继续来看

大家是不是觉得这个代码很亲切

对 从这个代码我们基本能大致推断出源程序的一些结构流程

从中借鉴

本文仅供研究学习之用

欢迎与我讨论交流

本文地址如下 转载请注明此句

http://blog.csdn.net/Zengyangtech/archive/2010/08/12/5807517.aspx

分享到:
评论

相关推荐

    Android手机APK程序逆向分析取证.pdf

    Android 手机 APK 程序逆向分析取证 Android 手机 APK 程序逆向分析取证是指对 Android 应用程序包(APK)进行逆向分析,以获取证据并对网络诈骗案件进行侦查的过程。本文将对 APK 的结构、APK 的提取方式、逆向...

    Android逆向助手(APK反编译利器)

    总的来说,Android逆向助手是一个强大的工具,它简化了APK反编译的过程,让开发者能够更深入地了解和分析Android应用程序。通过熟练掌握这个工具,开发者不仅可以提升自身的技能,还能在遇到问题时快速定位原因,...

    APK逆向工具, Android逆向助手

    首先,APK文件是Android应用程序的打包格式,包含了应用的二进制字节码(Dalvik或ART)、资源文件、证书和配置信息。逆向工程师通过特定的工具和方法来解析这些内容,以理解APP的行为。 在“APK逆向工具”这个...

    Android逆向助手

    综上所述,"Android逆向助手"是一个全面的工具集,它涵盖了从APK的反编译、修改到回编译、签名等一系列逆向工程过程,对于Android开发者来说,无论是为了学习、调试还是安全分析,都是一款不可或缺的利器。...

    逆向助手反编译Android.apk

    标题"逆向助手反编译Android.apk"指的是一个工具或方法,它可以帮助开发者逆向工程Android应用程序,从而查看其源代码和布局设计。描述中提到,这个工具特别适合初级Android开发者,用于学习和分析现有的APK应用。 ...

    Android逆向助手v2.0

    本文将深入探讨“Android逆向助手v2.0”这一强大的APK文件反编译工具集,它提供了反编译、重新打包以及反编译DEX等核心功能,帮助开发者深入解析APK的内部结构。 一、反编译APK:窥探内部世界 “Android逆向助手v...

    Android逆向助手_v2.2

    《Android逆向助手_v2.2:深入了解APK反编译技术》 在移动应用开发领域,Android系统因其开源特性,吸引着众多开发者和安全研究人员的目光。然而,这种开放性也使得恶意软件和隐私泄露等问题层出不穷。为了保障用户...

    Android逆向助手 .zip

    在移动应用开发领域,Android逆向工程是一个不可或缺的技术环节,它主要用于分析应用程序的行为,寻找安全漏洞,优化代码,以及学习他人代码等目的。本篇文章将详细探讨“Android逆向助手”这一软件工具,以及与之...

    Android逆向小助手V1.0绿色免费版

    Android逆向小助手是一款功能强大的反编译软件,软件支持多个编辑apk功能,软件界面简洁,使用方便,需要的朋友可以前来本站下载。 软件功能 1、可以直接拖动下载的apk到软件编辑,可以对apk执行安装 2、提供一个...

    android逆向助手 v2.2

    Android逆向助手v2.2是一款专为Android应用程序分析和调试设计的工具,它能够帮助用户解析APK文件的内部结构,包括类文件、资源文件、XML配置以及各种二进制数据。通过逆向分析,开发者可以了解程序的执行流程,找出...

    Android逆向助手.zip

    Android逆向助手是一款专为Android应用程序(APK)设计的反编译工具,旨在帮助开发者、安全研究人员或测试人员查看、分析甚至修改APK的内部结构。本文将详细探讨这一工具及其所涉及的反编译技术。 一、Android逆向...

    Android 逆向助手(反编译)

    在Android开发领域,逆向工程是一项重要的技能,它允许开发者分析和理解已有的APK文件,以便学习、调试或优化代码。"Android逆向助手"就是这样一个工具,它专为Android应用的反编译和分析设计,帮助开发者揭示APK...

    Android逆向助手_V2.0

    Android逆向助手V2.0是一款专为Android应用开发者和安全研究人员设计的强大工具,旨在帮助用户深入理解Android应用程序的工作原理,进行代码分析、调试和安全评估。逆向工程在软件开发和安全领域中扮演着重要角色,...

    android逆向助手v2.2

    总之,Android逆向助手v2.2是Android开发者的强大工具,它简化了逆向工程的流程,让开发者能够深入理解APK的内部工作原理,提高开发和调试的效率。而要充分发挥其作用,用户需熟悉JDK的配置与使用,以及Android逆向...

    Android逆向助手_v2.2.zip

    4. **自动签名与重打包**:在完成分析和修改后,"Android逆向助手_v2.2"可以方便地对APK进行签名和重打包,使其能够正常安装和运行在Android设备上。 5. **日志分析**:对于需要追踪应用运行状态的开发者,此工具...

    Android逆向CTF基础题汇总

    附件是八道Android基础逆向题,基本都是CTF题。平时网上基础的CTF题目比较难找,全靠平时慢慢积累起来的,后面有其他做过的CTF题再贴出来分享给大家练手。

Global site tag (gtag.js) - Google Analytics