首页 > 其他分享 >安卓逆向工具的使用(一)

安卓逆向工具的使用(一)

时间:2023-01-21 16:00:14浏览次数:44  
标签:逆向 java JDK 文件 虚拟机 点击 工具 安卓 运行

  1. JVM、DVM与ART的含义与区别

JVM(Java虚拟机)是一种基于栈架构的解释性虚拟机,用于执行Java字节码。它负责将字节码转换为机器“可以理解”的机器码,以便于操作系统在计算机中执行。JVM虚拟机主要用于运行java代码编译后的.class文件。
DVM(Dalvik虚拟机)是一种用于运行Android应用程序的虚拟机,它是基于寄存器架构的。Dalvik是一种字节码格式,它是专门为Android设计的,旨在使系统更有效地运行。DVM虚拟机在安卓系统4.4及以前的版本使用。在Dalvik虚拟机运行移动应用程序之前,首先需要将.java格式的代码通过javac编译成.class文件,然后通过DX工具(DX工具是一款强大的安卓开发工具,它可以帮助开发者创建和调试Android应用,支持Java和XML代码。)将.class文件转换成.dex文件。最终,Dalvik虚拟机所执行的是这个.dex文件。DVM虚拟机在运行和启动时,会将.dex文件转换为机器码。同时,如果一个APK文件中打包了多个dex文件,DVM虚拟机需要先将多个DEX文件合并然后再执行转换逻辑。 这个转换成机器码的过程体现了Dalvik虚拟机的JIT(Just-in-Time)特性。

安卓逆向工具的使用(一)_环境配置

ART(Android运行时)是Android的新的虚拟机,它提供了一种更快的、更高效的方法来执行Android应用程序。与DVM不同,ART将应用程序的字节码编译为机器码,以便计算机可以更快地执行。ART虚拟机具备AOT特性(ahead of time),这种特性决定了APK在安装至手机设备的时候,dex文件直接被转换为机器码得到.oat文件,ART直接执行oat文件。同时,如果APK文件包含多个.dex文件,ART虚拟机在执行的过程中也不需要将多个dex文件合并,这样相较于DVM虚拟机APP运行的速度就会得到大幅度提升。​

安卓逆向工具的使用(一)_环境配置_02


2.JDK开发工具的安装配置

JDK是JAVA语言的开发工具,是JAVA开发所需要的软件集合,主要包括Java运行环境(jre,Java Runtime Environment)和JAVA工具。
第一步,确定操作系统的对应版本,以便选择对应版本的JDK开发工具。可以通过右击桌面上的计算机,点击“属性”按钮,进入到计算机的“系统”界面查看系统版本。本例为64位的windows7操作系统。

安卓逆向工具的使用(一)_安卓_03

第二步,访问JAVA官网,https://www.oracle.com/java/technologies/downloads/#jdk17-windows,找到符合操作系统位数要求的JDK软件包下载,这里建议下载jdk18。​

安卓逆向工具的使用(一)_逆向_04

第三步,找到下载到本地的exe可执行文件,双击该文件,点击“下一步”进行安装。如果遇到“更改”选项按钮,可以输入自己的文件夹路径进行自定义安装路径。这里可能需要更改两次目录,一次为JDK本身的目录,另外一次是JRE的安装路径。​

安卓逆向工具的使用(一)_java_05

第四步,配置JDK的系统环境变量。右击计算机,依次点击“属性->更改系统设置->环境变量”按钮,新建一个名为JAVA_HOME的环境变量,将环境变量的值设置为JAVA本地的安装目录,同时在Path系统变量中新增一个值为“%JAVA_HOME%\bin\”的环境变量。​

安卓逆向工具的使用(一)_java_06

第五步,测试JDK是否安装成功,打开通过“WIN+R”打开“cmd”命令行,通过输入命令“java -version”来测试,如果输出版本号、运行环境和虚拟机信息,则表明JDK安装和配置是成功的。​

安卓逆向工具的使用(一)_开发环境_07

如需卸载JDK,可以通过控制面板卸载JDK程序,同时还需要清理JDK的注册表。清理注册表可通过“WIN+R”快捷键打开“regedit”,依此寻找“local_machine->software->wow6432node->javasoft/Jremetrics”和“local_machine->software->javasoft/Jremetrics”删除清理即可。​

3.adt-bundle安卓开发环境配置

第一步,访问安装包的下载网站http://tools.android-studio.org/index.php/adt-bundle-plugin,选择适合自己系统的版本下载到本地目录(注意目录不能带有空格和中文)进行解压。该软件不需要安装,可直接使用。解压后的文件夹中包括eclipse和sdk文件夹以及SDK Manager.exe可执行文件。​

安卓逆向工具的使用(一)_开发环境_08

第二步,点击文件SDK Manager.exe,配置安卓开发的SDK,这里以安卓4.4版本的SDK为例进行配置,只需勾选相应系统版本的SDK平台下载安装即可。下载后的SDK存放于SDK文件夹中的platforms文件夹中。

安卓逆向工具的使用(一)_逆向_09

第三步,在“SDK/platform-tools”文件夹下存在常用的工具如adb.exe、fastboot.exe等,需要将这个目录添加到系统环境变量PATH中。

安卓逆向工具的使用(一)_逆向_10

第四步,配置eclipse环境。进入到eclipse文件夹下,双击eclipse.exe可执行文件打开。打开之后,首先要配置一下工作目录,这里选择F盘下的workspace作为项目的工作路径,然后点击“ok”。

安卓逆向工具的使用(一)_逆向_11

打开eclipse开发工具之后需配置java运行环境,在左侧的选项卡右击点击“new”菜单,选择“Java Project”创建一个java工程项目。在Project name项目名输入框中输入自己的项目名称,这里输入“demo”,同时需要配置好之前安装的JRE的环境。最后,点击Finish按钮完成配置。

安卓逆向工具的使用(一)_逆向_12

当打开之前创建的JAVA项目工程之后,会发现该项目工程下出现了刚才配置的java运行环境,即JRE System Library。

安卓逆向工具的使用(一)_逆向_13

除此之外,还需要配置一下项目工程的java编译环境,点击上方的“Projects”菜单,选择“Properties”子菜单。打开属性选项卡,点击“Java Compiler”子选项卡,选择一个“Compiler compliance level”,本例中选择的是1.7,最后点击“ok”按钮。注意这里选择的1.7版本的编译环境,需要小于或等于目前安装的jdk运行环境的版本。

安卓逆向工具的使用(一)_开发环境_14

可以通过修改“Java Build Path”选项卡中的内容来修改配置的JDK的运行环境,使用“Remove”按钮可移除当前的运行环境,通过“Add Library”更换成新的java运行环境。

安卓逆向工具的使用(一)_逆向_15

运行程序之前需要确保项目文件的编码格式是utf-8,可通过修改“Resource”选项卡中的相应选项来修改编码格式。

安卓逆向工具的使用(一)_开发环境_16

如果需要查看安卓端运行程序的日志,可以通过“Window”菜单下的“Show View”选项,点击“Other”按钮,选择“LogCat”按钮打开日志窗口。

安卓逆向工具的使用(一)_安卓_17

另外,可通过“Window”菜单下的“Preferences”选项卡来配置代码提示的功能。本例中将“Content Assist”选项卡中的“Auto activation triggers for Java”选项中的“.”修改为“.abcdefghijklmnopqrstuvwxyz”。表示这些字符串都会触发代码提示的功能。

最后写一个简单的java代码测试下环境配置是否成功,通过右击左侧选项卡中的src文件,点击“new”菜单的“class”子菜单。输入类名称为“test”,勾选“public static vois main(String[] args)”和“Inherited abstract methods”两个选项框,完成自动继承抽象类,声明主函数的功能,点击“Finish”按钮完成新建class文件的配置。

安卓逆向工具的使用(一)_开发环境_18

在新建的class文件中输入代码语句System.out.printlnt("hello"),然后点击上方的运行按钮“run”,完成第一个java代码的运行。

安卓逆向工具的使用(一)_环境配置_19

更多学习资料请添加我的公众号获取!!!

安卓逆向工具的使用(一)_开发环境_20

标签:逆向,java,JDK,文件,虚拟机,点击,工具,安卓,运行
From: https://blog.51cto.com/u_14278341/6021184

相关文章

  • Wallpaper Engine壁纸提取工具,pkg文件提取静态图片,pkg文件转jpg,pkg文件转png,pkg文件转
    遇到喜欢的Wallpaper壁纸,我们怎么能将壁纸保存成静态壁纸呢?Wallpaper壁纸和一般的壁纸是不一样的,它不是简单的图像文件,那么提取Wallpaper壁纸就需要一些小工具的帮助,目前使......
  • 乐视DTMB usb PC版工具
    看到B站视频DTMB模块在电脑上测试电视接收,好久没看电视了,遂购入体验一番。分享的软件,使用体验不佳LeDtmb于是简单逆向了下,附上源码(代码太烂,不想搞了0.0)下载链接ht......
  • 安卓-RecyclerView
    RecyclerView是ListView的升级版,与ListView相比使用更方便效率更高这里直接借鉴Android群英传的例子来进行说明一、使用RecyclerView.Adapter进行管理RecyclerView的view......
  • shell工具和脚本
    Shell脚本shell脚本是一种更加复杂度的工具。大多数shell都有自己的一套脚本语言,包括变量、控制流和自己的语法。shell脚本与其他脚本语言不同之处在于,shell脚本针对......
  • PDF文件一键压缩工具V1.0-免费版
    一、工具简介该PDF文件一键压缩工具V1.0可以批量把PDF大文件一键压缩,减小PDF大小。二、使用教程1.把PDF文件一键压缩工具软件和需要压缩的PDF文档文件放到同一文件夹下。......
  • 功能测试必备:抓包工具的作用及常用抓包工具有哪些?
    大家好啊,我是大田在测试工作中,需要抓包工具帮助定位前后端问题,当看到前端页面出现bug后,需要进一步判断是前端问题还是后端问题。同时可以利用抓包工具进行小规模的安全测......
  • 功能测试必备:抓包工具之谷歌开发者工具介绍及使用场景
    大家好啊,我是大田如果想在Web端抓取网络报文,就打开一个浏览器页面,按快捷键F12,点击NetWork,即可看到。一、四个操作:1、小红点代表抓包标志,点击一下变灰,就停止抓包了......
  • 开发者工具
    届时,包括新版下载、文档和示例在内的所有框架日常维护工作,将全部迁移到Github和Gitee。再者,对于layuiAdmin和layim专区,将会迁移到新站进行保留,以便老用户还能下载......
  • OllyDbg动态调试工具的使用
    OllyDbg动态调试工具的使用动态调试工具:OllyDbg,WinDbg静态调试工具:ida本次我将学习OllyDbg动态调试工具的使用OllyDbg是一种具有可视化界面的32位汇编分析调试器,是一......
  • 自动化工具PyAutoGUI :键盘操作
    pyautogui.typewrite('Helloworld!')#输入Helloworld!字符串pyautogui.typewrite('Helloworld!',interval=0.25)#每次输入间隔0.25秒,输入Helloworld!pyautogui.......