Android-目录结构及反编译

Android-目录结构及反编译

一 安装的app的目录

系统app: system/app

用户app: data/app

二 常用文件夹功能

Android 文件夹:引用的framework类库

src: 源代码文件

gen: 自动生成的文件,删除还是会自动生成,对应res里面的文件夹,res资源的映射

assets:  使用的资源文件,例如mp3文件,通过具体的路径访问,是程序下的一个普通的文件夹

速度快点,建议使用assert,

res :应用程序资源包

图片资源

dpi分辨率  一英寸范围有多少个点

应用程序图标使用下面的文件夹

drawable-hdpi   240dpi,比较高的分辨率

drawable-ldpi    120dpi,  较小的分辨率

drawable-mdpi  160dpi   中等的分辨率

通用的,不区分的使用下面的文件夹

drawable

layout:界面布局文件

value:值,例如字符串,将文本写到字符串变量里,用变量代替字符串,用@引用的标识符,如@string,则value里面

就有对应string文件,文件定义了string的值

AndroidManifest.xml:全局配置文件,类库,组件,发布信息等

default.properties:java的配置文件,例如要求的运行环境

proguard.efg:配置文件,在2.2以上,配置应用程序的混淆信息,防止反编译apk

doc:javadoc文件

menu:菜单

raw:原生程序,图片,视频,在R.java中生成相应的ID,可以通过R.java文件访问

注意 raw文件夹不参与编译

anim:动画

xml:额外的xml文件

二 apk结构

META-INF签名配置信息

res 资源文件

AndroidManifest.xml全局配置文件

classes.dex虚拟机可执行文件

resources.arsc资源索引文件,为了应用程序更快的查找到资源

三 反编译dex

方法一

dx工具:将class文件变为dex文件,即虚拟机可执行的二进制文件

aapt:将整个项目打包为apk

dexdump:反编译apk文件,将dexdump目录加到系统环境变量

上面三个文件放在同一目录,并且该目录加入环境变量

得到的文件所用的语言为smail,但是这种反编译不易读

反编译需要编译res和xml

主要采用下面的方法二

反编译用到的命令

前提需要将两个工具加入path变量,或者在工具的相应目录下执行工具

apktool阶段:apktool d ***.apk ***(文件夹的名称,自动生成)

dex2jar阶段:dex2jar classes.dex ***.jar(不需要建立,会自动生成)

过程:dex->jar包->calss

工具需要dex2jar和XJad

1 apktool阶段,使用命令即可

2 将apk包解压,使用dex2jar将classes.dex->***.jar

3 使用XJad将***.jar反编译为java源文件

4 将反编译的java源文件夹改名为src,放入apktool阶段生成的文件夹即可

反编译的常用思想及方法

因为apk是一个压缩包,所以反编译就是反编译dalvik二进制文件和压缩的xml文件

常用的方法就是apktool+dex2jar+xjad

时间: 2024-11-14 22:50:43

Android-目录结构及反编译的相关文章

Android系统安全和反编译实战——互动出版网

这篇是计算机类的优质预售推荐>>>><Android系统安全和反编译实战> Android安全专家写作,从Android系统安全机制介绍到综合实例演练,是完整学习Android系统安全知识的必备指南 内容简介 <Android系统安全和反编译实战>循序渐进地讲解了Android系统安全方面的基本知识,从Android系统介绍开始到综合实例的实战过程,全程剖析了Android系统安全.应用安全开发和加密.解密方面的核心知识.全书共17章,主要内容包括,Andr

Android实践APK一键反编译

1.需要软件:onekey-decompile-apk 2.软件功能: 1)集成apktool/dex2jar/jd-gui. 2)只需执行一步即可反编译出apk所有文件(资源文件和jar等等). 3)反编译完毕后自动打开jd-gui反编译jar文件. 3.使用方法: 1)将下载的 onekey-decompile-apk.zip解压缩. 2)将apk文件放到 onekey-decompile-apk目录下. 3)将apk文件拖拽到_onekey-decompile-apk.bat上. 4.执行

Android目录结构(详解)

Android目录结构(详解) 下面是HelloAndroid项目在eclipse中的目录层次结构: 由上图可以看出项目的根目录下共有九个文件(夹),下面就这九个文件(夹)进行详解: 1.1src文件夹和assets文件夹: 每个Android程序都包含资源目录(src)和资产目录(assets),资源和资产听起来感觉没有多大差别,但在存储外部内容时用资源(src)比较多,其中它们的区别在于存放在资源(src)下的内容可以通过应用程序的R类进行访问,而存放在资产(assets)下的内容会保持原始

android 目录结构

1,android 目录结构 2, project 结构类型 它表示为 .gadle .idea目录结构 app目录结构 -- 编译输出的目录 build 编译目录结构 libs 类库目录结构 mirror 镜像目录结构 src 目录结构 它下面有一些主函数的目录结构 android Test测试目录结构 同时还有 .gitignore这个目录结构 app.iml实现的配置文件 - app 的配置文件 proguard-rules.pro项目的配置文件目录 proguard 配置文件 同时还要有

android之cmd手工反编译笔记

Android反编译教程 --西北狼 前端时间有人让帮忙修改apk包名,然后我就翻出以前的翻编译工具来,可以的是,一个小小的APK,居然反编译失败~~~ 然后找了些文章看了下,最后自己重新装工具用cmd命令行手工反编译成功,修改部分东西后重新打包成功,签名成功,安装成功~~~~ 先把经验总结一下: 手工反编译比 网上的集成好的工具成功率要高很多(android 逆向助手 v2.0 这个工具的成功率也比较高,里面有很多功能,有兴趣可以试试),so更加推荐使用酱紫的方式~~自己也好了解了解相关知识~

Proguard android代码混淆 防止反编译

Proguard android代码混淆 防止反编译 http://www.360doc.com/content/13/1030/13/9171956_325290258.shtml

【Android的从零单排开发日记】之入门篇(三)——Android目录结构

本来的话,这一章想要介绍的是Android的系统架构,毕竟有了这些知识的储备,再去看实际的项目时才会更清楚地理解为什么要这样设计,同时在开发中遇到难题,也可以凭借着对Android的了解,尽快找出哪些模块和设计能够帮助解决该问题.但想了一下,这毕竟是入门篇,若没有实际项目开发经验的人看了之后肯定是一头雾水,所以就决定将其搁浅到大家熟悉Android之后再为大家介绍. 那么今天的主题是Android的目录结构,将系统架构比作人的骨骼架构的话,目录结构就像是人的各个器官,彼此功能各不相同,却能有序地

Android代码混淆防反编译解决方案研究

做Android开发的都知道要做混淆去防apk被反编译.破解,通过proguard进行Java代码混淆.但是,Android代码混淆真的能起到实质性的作用吗?看下面分析 1.Android代码混淆 如上图,对Android 代码进行混淆后混淆器将代码中的所有变量.函数.类的名称加密为简短的英文字母代号,在APP被破解后增加破解者对代码的阅读难度. 但是混淆的功效只能运作在APP已经被破解后,而且只是增加破解者的难度时间,对其防止破解的作用意义不是很大. 那么,Android代码混淆不能从根本上防

Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

一.前言 在之前的破解过程中可以看到我们唯一离不开的一个神器那就是apktool了,这个工具多强大就不多说了,但是如果没有他我们没法涉及到后面的破解工作了,这个工具是开源的,也是使用Java语言开发的,代码相对简单,我们今天就来分析一下他的大体逻辑,注意是大体逻辑哦,因为如果要一行一行代码分析,首先觉得没必要,其次浪费时间,有了源码,谁看不懂呢.至于为什么要分析这个工具其实原因只有一个,就是我们在之前的反编译过程中会发现,总是有那么几个apk应用不让我们那么容易的反编译,他们就利用apktool