逆向开发环境准备

JDK安装

AndroidStudio安装

        默认sdk路径

                C:\Users\Administrator\AppData\Local\Android\Sdk

        将platform-tools所在的目录添加到path

                C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools

                主要目的是使用该目录下的adb等命令

        将tools所在的目录添加到path

                 C:\Users\Administrator\AppData\Local\Android\Sdk\tools

        NDK根目录添加到path

                检验是否添加成功

                        ndk-build

MT管理器

        功能:

                查看Android系统目录结构

                查看apk的加固方式,以及签名版本等信息

                        

Android killer

        替换apktool

        案例:

                更改应用的名称和icon

                        killer内置的文本搜索工具不好用,对于名称和icon的更改,可自动化

                        自动化icon步骤

                                1.指定AndroidManifest.xml的路径

                                2.更改icon的名称

                                          <application  android:icon="@drawable/jrlogo"

                                3.将icon所对应的图片添加到如下目录

                                                                自动化名称步骤

                                1.确定AndroidManifest.xml中名字对应的字符串叫什么

                                       <application  android:label="@string/tudou_app_name"

                                2.在values/strings.xml中搜索相应的字符串,找到后将其替换

                                        <string name="tudou_app_name">土豆视频1</string>

                去除开屏广告界面

                        1.用adb判断目标app启动时,开屏广告界面所对应的Activity名称

                        2.在AndroidManifest.xml中将该Activity的launcher属性去除

                        

                   

APK的目录结构

        

APK的打包流程

        

apk的安装流程

        

虚拟机

        有三种虚拟机,分别为:java虚拟机,dalvik虚拟机,art虚拟机

        

odex和aot的区别

ODEX(Optimized DEX)

  • 定义:ODEX是优化过的DEX文件,即将APK中的classes.dex文件通过dex优化过程生成的优化文件。DEX文件是Android应用程序的编译产物,包含了应用程序的可执行代码。
  • 用途:ODEX文件用于加快软件的启动速度,减少对RAM的占用。在Android 5.0之前,APK安装时会进行DEX文件的验证和优化,生成ODEX文件。运行APK时,直接加载ODEX文件,避免了重复验证和优化,从而提高了响应速度。

OAT(Optimized Android Runtime)

  • 定义:OAT是ART(Android Runtime)虚拟机运行的文件,是ELF格式的二进制文件,包含了DEX文件和编译出的本地机器指令。
  • 用途:从Android 5.0开始,系统引入了ART运行时环境,取代了之前的Dalvik虚拟机。ART在安装应用时会进行预编译,将DEX文件转换成OAT文件,这些文件包含了编译后的机器码,因此可以直接由处理器执行,无需在应用运行时再进行即时编译(JIT),从而提高了应用的运行效率。

二、生成与存储

ODEX

  • 生成:在Android 5.0之前的版本中,APK安装时通过dexopt工具生成ODEX文件。dexopt会对DEX文件进行优化,并生成包含优化结果的ODEX文件。
  • 存储:ODEX文件通常存储在/data/dalvik-cache目录下,与APK文件分开存储。

OAT

  • 生成:在Android 5.0及以后的版本中,APK安装时通过dex2oat工具将DEX文件编译成OAT文件。dex2oat负责将DEX字节码转换成特定于处理器的机器码。
  • 存储:OAT文件同样存储在/data/dalvik-cache目录下,但格式和内容与ODEX文件不同。

三、文件格式与性能

文件格式

  • ODEX:虽然ODEX文件是优化过的DEX文件,但其本质上仍然是DEX格式的一种变体。它包含了经过优化的DEX代码和一些额外的元数据。
  • OAT:OAT文件是ELF格式的二进制文件,包含了DEX代码和编译后的本地机器指令。与ODEX相比,OAT文件的结构更加复杂,但执行效率更高。

性能

  • ODEX:虽然ODEX文件加快了软件的启动速度,但在运行时仍需要JIT编译器将DEX字节码转换成机器码才能执行。
  • OAT:OAT文件包含了编译后的机器码,因此可以直接由处理器执行,无需JIT编译过程。这使得应用的运行效率更高,响应速度更快。

综上所述,ODEX和OAT在Android系统中扮演着不同的角色,它们之间的区别主要体现在定义与用途、生成与存储以及文件格式与性能等方面。随着Android系统的发展,ART运行时环境和OAT文件逐渐成为主流趋势。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/38307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1-5题查询 - 高频 SQL 50 题基础版

目录 1. 相关知识点2. 例题2.1.可回收且低脂的产品2.2.寻找用户推荐人2.3.大的国家2.4. 文章浏览 I2.5. 无效的推文 1. 相关知识点 sql判断&#xff0c;不包含null&#xff0c;判断不出来distinct是通过查询的结果来去除重复记录ASC升序计算字符长度 CHAR_LENGTH() 或 LENGTH(…

sqlmap注入详解

免责声明:本文仅做分享... 目录 1.介绍 2.特点 3.下载 4.帮助文档 5.常见命令 指定目标 请求 HTTP cookie头 HTTP User-Agent头 HTTP协议的证书认证 HTTP(S)代理 HTTP请求延迟 设定超时时间 设定重试超时 设定随机改变的参数值 利用正则过滤目标网址 避免过多的…

前端笔记-day11

文章目录 01-空间-平移02-视距03-空间旋转Z轴04-空间旋转X轴05-空间旋转Y轴06-立体呈现07-案例-3D导航08-空间缩放10-动画实现步骤11-animation复合属性12-animation拆分写法13-案例-走马灯14-案例-精灵动画15-多组动画16-全民出游全民出游.htmlindex.css 01-空间-平移 <!D…

基于Spring Boot的在线医疗咨询平台的设计与实现【附源码】

基于Spring Boot的在线医疗咨询平台的设计与实现 Design and implementation of the computer hardware mall based on Spring Boot Candidate&#xff1a; Supervisor&#xff1a; April 20th, 2024 学位论文原创性声明 本人郑重声明&#xff1a;所呈交的论文是本人在导师…

初中英语优秀作文分析-006How to Deal with the Exam Stress-如何应对考试压力

更多资源请关注纽扣编程微信公众号 记忆树 1 We students are very busy with schoolwork and in the face of many exams every school day. 翻译 我们学生忙于功课&#xff0c;每个上学日都面临许多考试。 简化记忆 考试 句子结构 We students 主语 我们学生&#xf…

Vite: 高阶特性 Pure ESM

概述 ESM 已经逐步得到各大浏览器厂商以及 Node.js 的原生支持&#xff0c;正在成为主流前端模块化方案。 而 Vite 本身就是借助浏览器原生的 ESM 解析能力( type“module” )实现了开发阶段的 no-bundle &#xff0c;即不用打包也可以构建 Web 应用。不过我们对于原生 ESM 的…

综合评价类模型——突变级数法

含义 首先&#xff1a;对评价目标进行多层次矛盾分解其次&#xff1a;利用突变理论和模糊数学相结合产生突变模糊隶属函数再次&#xff1a;由归一公式进行综合量化运算最终&#xff1a;归一为一个参数&#xff0c;即求出总的隶属函数&#xff0c;从而对评价目标进行排序分析特点…

成都市水资源公报(2000-2022年)

数据年限&#xff1a;2000-2022年&#xff0c;无2009年 数据格式&#xff1a;pdf、word、jpg 数据内容&#xff1a;降水量、地表水资源量、地下水资源量、水资源总量、蓄水状况、平原区浅层地下水动态、水资源情况分析、供水量、用水量、污水处理、洪涝干旱等

类似李跳跳的软件有什么,强烈推荐所有安卓手机安装!!!

今天阿星分享一款让安卓手机更顺滑的神器——智慧岛。你问我李跳跳&#xff1f;由于大家都知道的原因&#xff0c;那是个曾经让广告无处遁形的神兵利器&#xff0c;可惜现在它已经退休了。不过别担心&#xff0c;智慧岛接过了接力棒&#xff0c;继续为我们的安卓体验保驾护航。…

Raccon:更好防侧信道攻击的后量子签名方案

1. 引言 安全社区已经开发出了一些出色的加密算法&#xff0c;这些算法非常安全&#xff0c;但最终&#xff0c;所有的数据都会被存储在硅和金属中&#xff0c;而入侵者越来越多地会在那里放置监视器来破解密钥。 破解加密密钥通常涉及暴力破解方法或利用实施过程中的缺陷。然…

2029年AI服务器出货量将突破450万台,AI推理服务器即将爆发式增长

在2020年&#xff0c;新冠疫情与远程办公模式的兴起推动了所有类型服务器的出货量达到峰值&#xff0c;随后几年里&#xff0c;除了AI服务器之外的所有类别都回归到了正常水平。 根据Omdia的研究数据&#xff0c;AI服务器的出货量在2020年急剧上升&#xff0c;并且至今未显示出…

日志的介绍

知识铺垫&#xff1a;在我们日常开发中&#xff0c;其实日志是和我们息息相关的。但可能平常都没怎么注意到日志相关的知识点&#xff0c;也不怎么关注日志&#xff0c;然后&#xff0c;在生产环境中&#xff0c;日志是必不可少的存在&#xff0c;项目出现问题了都是通过日志来…

cesium 添加 Echarts 图层(空气质量点图)

cesium 添加 Echarts 图层(下面附有源码) 1、实现思路 1、在scene上面新增一个canvas画布 2、通坐标转换,将经纬度坐标转为屏幕坐标来实现 3、将ecarts 中每个series数组中元素都加 coordinateSystem: ‘cesiumEcharts’ 2、示例代码 <!DOCTYPE html> <html lan…

Excel 数据筛选难题解决

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

图形化用户界面-java头歌实训

图形化用户界面 import java.awt.*; import javax.swing.*; public class GraphicsTester extends JFrame { public GraphicsTester() { super("Graphics Demo"); setSize(480, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void paint…

服务器raid5坏盘-换盘-修复阵列过程

目录 背景原因分析解决步骤名词解释进入raid管理界面换回旧4号&#xff0c;进行import再次更换4号盘 总结 背景 服务器除尘之后文件服务器部分文件不能访问了,部分文件夹内容为空&#xff0c;起初以为是新配置的权限的问题&#xff0c;排查之后发现不仅仅是权限问题 jumpserv…

VTK学习日志:基于VTK9.3.0+Visual Studio c++实现DICOM影像MPR多平面重建+V R体绘制4个视图展示功能的实现(二)

前段时间对VTK9.3.0进行了编译&#xff0c;开发了MPRVR实现的demo,显示效果不是很理想&#xff0c;正好趁着周末有时间&#xff0c;再度对之前的程序进行优化和完善&#xff0c;先展示下效果&#xff1a; VTK实现MPRVR四视图 再次讲解下基于VTK的MPRVR实现的简单项目创建过程&a…

Linux安装Node-RED并实现后台运行及开机启动

首先确保系统中已近成功安装Node.js&#xff0c;并保证需要的合适版本&#xff1a; 关于node.js的安装可以参考我的另一篇博文:《AliyunOS安装Node.js》。 然后就可以使用npm工具安装Node-RED了&#xff0c;很简单使用如下命令&#xff1a; sudo npm install -g --unsafe-per…

MATLAB使用系统辨识工具箱建立PID水温的传递函数系数

概述 利用PID控制水温&#xff0c;由于实际在工程项目中&#xff0c;手动调节PID参数比较耗费时间&#xff0c;所以可以先利用MATLAB中的Simulink软件建立模型&#xff0c;先在仿真软件上调节大概的PID参数&#xff0c;再利用此PID参数为基础在实际的工程项目中手动调节PID参数…

这些并发编程技术你都知道吗?

与其碌碌无为&#xff0c;不如兴风作浪。 虽然不是所有的系统都需要很多的并发编程技术&#xff0c;但是掌握常见的高并发秘籍&#xff0c;便能让我们的系统快起来&#xff0c;面对访问量的剧增从容应对。 接下来&#xff0c;为我们一起来看看常见的高并发技术有哪些。总结起来…