Android程序分析环境搭建-macOS篇

本文详细介绍了在macOS系统上搭建Android程序分析环境的步骤,包括安装JDK、Android SDK、Android NDK,以及Android Studio的集成开发环境配置。此外,还讲解了如何在macOS上编译Android源码,提供了使用系统直接编译和通过容器编译两种方法,并强调了在编译过程中需要注意的环境配置和依赖软件的安装。
摘要由CSDN通过智能技术生成

Android程序分析环境搭建-macOS篇

在实际的Android软件开发过程中,可能很多开发人员有过这样的经历:

  • 我有一个不错的idea,正在开发一款类似想法的软件,可是涉及到的一些功能上的具体代码细节却难以下手,我看到别人的程序中有这个功能,它们是如何实现的呢?

  • 我不小心安装了一个流氓软件,软件运行时会自动下载木马程序、恶意扣费、篡改手机系统,它是如何做到这些的呢?

  • 我按照网上介绍的方法来分析Android程序,可是根本就无法正确地反编译程序,或是反编译出的代码语法混乱,根本无法阅读。

这些场景都提出了一个疑问,那就是如何分析一个Android应用程序?如何掌握这些软件的架构思想?分析别人的程序在很多人看来是不能够接受的行为,在他们眼中这种行为都应被视为盗窃。其实任何技术的起源本身就是从学习开始的,用正确的态度对待程序分析技术是可以的。

如果说,开发Android程序是一种学问,那么分析Android程序更像是一门艺术。在浩瀚如海的反汇编代码中分析出程序的执行流程与架构思想是一件很了不起的事情,这需要分析人员有着扎实的编程基础与深厚的思维分析能力。分析软件的过程犹如一次艰难的旅程,这条旅程会有多长?该怎么走?会有多少崎岖险路?没有人知道,但是先行者已经为我们铺下了台阶,我们只需沿着它慢慢前行。

与Android软件开发使用的三大系统平台Windows、macOS、Linux一样,Android软件逆向分析的环境同样可以支持这三大平台。为了保证不同平台上工具的使用技巧与操作流程的统一性,因此在选择工具时,除一些特定的商业软件外,多以跨平台且免费开源的工具为主。而对于平台上分析环境的搭建,主要围绕Android软件开发、Android软件逆向、Android源码编译,这三个环境的配置展开。

macOS分析环境搭建

越来越多的优秀的跨平台安全工具的问世,使得在macOS系统上从事软件安全分析工作,也成为了一种非常流行的选择。非常高兴的是,Android官方默认就支持使用macOS系统来开发Android程序,以及编译Android系统源码。

安装JDK

在macOS系统上,Android软件开发与搭建Android源码编译环境,都需要安装JDK。如果读者选择在macOS上只开发Android软件,则安装JDK 8即可。安装方法与Windows上安装JDK一样。首先到官网下载JDK安装包,以JDK 8u131为例,下载下来是一个名为jdk-8u131-macosx-x64.dmg的镜像文件,双击该镜像挂载成功后,里面有一个JDK 8 Update 131.pkg安装文件,双击该文件即可安装。如图所示。 macos_jdk

完装完成后,会在系统的/Library/Java/JavaVirtualMachines目录下添加一个jdk1.8.0_131.jdk的目录,需要将它的Contents/Home子目录设置为JDK的安装根目录,即设置它的完整路径为JAVA_HOME环境变量的值。最后,还要将JAVA_HOME环境变量下的bin目录添加到系统的PATH环境变量,方便第三方程序查找JDK的安装位置。

执行如下命令,将上述环境变量的配置信息写入“.bash_profile”文件,并更新环境变量,即完成了JDK的安装。

 

$ echo JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home >> ~/.bash_profile $ export JAVA_HOME >> ~/.bash_profile $ export PATH=$JAVA_HOME/bin:$PATH >> ~/.bash_profile $ source ~/.bash_profile

执行如下命令确保JDK安装配置无误:

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值