一 什么是APK?
APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码.
一个APK文件结构为:
META-INF\ Jar文件中常可以看到
res\ 存放资源文件的目录
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik字节码
resources.arsc 编译后的二进制资源文件
总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。
在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限
分享到:
相关推荐
当一个应用程序被开发完成后,开发者会将其打包成APK文件以便于用户下载安装。 #### 权限的重要性 在Android系统中,应用程序运行时需要获取一定的权限才能访问设备上的特定功能或数据。这些权限的存在是为了保护...
Vbitex是一款被分析的应用程序,其APK文件名为`Vbitex.apk`,文件大小为4.58MB,具有MD5值`69e1bfc296c132581890f1e962e5edf2`,SHA1值`0ebe90e25f4d6daafd1ee25f0ab5009f9c341abb`,以及SHA256值`37e3d243cc8676ef3...
- **文件信息**: 包括文件名"manyyhq413759.apk",文件大小7.33MB,以及MD5、SHA1和SHA256哈希值,这些用于验证文件的完整性和无篡改性。 2. **权限申请**: - **联网权限**:申请了`INTERNET`和`ACCESS_NETWORK_...
本分析报告主要针对名为“海棠赚转发赚钱福利”的APK文件进行深入解析,旨在揭示该应用的基本信息、潜在风险以及它在用户设备上可能执行的操作。该应用的最新版本为3.14.01,其包名为“com.shoujizhuan.jiayou”。该...
【小明排班.apk 分析报告1】的分析报告主要涵盖了该应用的基本信息、文件细节、域名线索、URL线索以及应用权限等方面。以下是对这些内容的详细解读: 1. **基本信息**: - **APP名称**:小明排班 - **版本信息**...
本报告主要针对名为“爱云赞福利”的APK文件进行深入分析,该文件版本为3.14.01,由摸瓜APP分析平台(mogua.co)生成。以下是关于该APP的关键信息和潜在风险的详细解析。 **APP基本信息** - **APP名称**:爱云赞福利 ...
- **文件信息**:文件名为`djfx.apk`,大小为3.19MB,其安全校验值包括MD5、SHA1和SHA256,分别为`606b5271c67dbf3f5ed1a988aa61a3ee`、`b297f8794c88896719504a44b5adcea37bacca26`和`ed2aff6794cb2324ab4ec6d12b4...
- `android.permission.ACCESS_COARSE_LOCATION`: 获取粗略的位置信息,通常基于网络定位。 - `android.permission.VIBRATE`: 允许应用控制设备的振动器。 - `android.permission.SET_ALARM`: 允许应用设置闹钟。...
- `android.permission.ACCESS_COARSE_LOCATION`和`ACCESS_FINE_LOCATION`: 分别允许APP获取粗略和精确的位置信息,可能用于提供地理位置相关服务,但也可能侵犯用户隐私。 - `android.permission.MOUNT_UNMOUNT_...
压缩包中的图片可能是应用程序运行截图,"目录列表.txt"可能包含了代码的组织结构,而"JavaApk源码说明.txt"应该提供了源码的简要说明。下载源码后,开发者可以通过阅读和运行代码更深入地理解Socket在Android聊天...
1. `<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>` - 这个权限允许应用访问粗略的位置信息,如蜂窝网络塔的位置。它对于那些不需要精确GPS坐标,但仍然需要大致位置信息的应用来说...
ATM只是一个粗略的实现。开胃配置 var pathToArtifact = '/physical/path/to/your/artifact.apk' ;var urlLocation = 'https://remote/path/to/your/artifact.apk' ;var token = 'tok_hdzewnreerpguzpyeccu4c4cvr' ...
我们需要在这个文件中添加必要的权限,如`<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>`和`<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>`,以允许...
压缩包内的“EWT”文件可能是项目的源代码、资源文件或者编译后的APK文件。为了深入理解这个应用的工作原理,你需要解压文件并查看其中的Java源代码、布局文件(XML)和其他相关资源。如果你对Android编程有基础,...
为了确保应用程序的完整性和来源可信性,所有 Android 应用程序(.apk 文件)都必须使用私钥进行签名。签名的作用主要有以下几点: 1. **验证来源**:用户可以通过签名来验证应用程序的发布者身份,从而提高信任度...
11. **发布准备**: 在应用开发完成并经过充分测试后,需要准备APK文件,以便在Google Play商店或其他分发渠道发布。这涉及到签名、优化、打包等步骤。 总之,“BMI.rar_android_bmi calculator”项目涵盖了Android...
例如,`ACCESS_FINE_LOCATION`和`ACCESS_COARSE_LOCATION`是两个关键权限,分别允许应用访问精确和粗略的位置信息。开发者必须在`AndroidManifest.xml`文件中声明这些权限,并在运行时根据Android 6.0(API级别23)...
【标题】"Lokalizowanie:任务的示例解决方案" 涉及的主要...在AndroidManifest.xml文件中,需要添加相应的权限来访问位置信息,如 `<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />` 和 `...
20. **android.permission.INSTALL_PACKAGES**:仅系统应用可使用,允许安装新的APK文件。 这些只是Android权限列表中的一部分,每个权限都有其特定的用途和安全考虑。在开发应用时,开发者应根据应用的功能需求...