推荐使用虚拟机而不是真机,原因有二:首先,虚拟机自带“时光机”功能——“快照”。这个特性使用户能够随时得到一台全新的真机,不会因为配置失误导致系统崩溃,避免了重装系统的懊恼。如图1-1所示为笔者在日常工作中开发FART脱壳机时创建的诸多虚拟机快照。
图1-1 带快照功能的虚拟机
其次,虚拟机在工作环境中具有良好的隔离特性,做实验的过程中不会“污染”真机,是测试全新功能的天然“沙盘”,推荐读者使用VMware出品的系列虚拟机软件。VMware具有良好的跨平台特性,不同系统的虚拟机文件都能做到复制即用。
对于虚拟机环境的选择,推荐Ubuntu系列的Linux操作系统。因为不论是Android源码的编译,还是Frida、gdb、Ollvm等后续重要的环境,这个系列的系统较少会因为系统环境的原因而引发问题。
在笔者的工作中,主要使用的是Kali Linux系统。Kali Linux是基于Debian的Linux发行版,与Ubuntu师出同门,是用于数字取证的操作系统。Kali Linux预装了许多渗透测试软件,如Metasploit、BurpSuite、sqlmap、nmap等,这是一套开箱即用的专业渗透测试工具箱。
Kali Linux自带VMware镜像版本,下载解压后双击.vmx文件即可开机。如图1-2所示为Kali Linux的界面展示。
图1-2 Kali Linux的界面
因为虚拟机本身的时间不是东八区的,所以需要重新设置时区。启动虚拟机后,打开terminal,使用如下命令设置时区:
在弹出的窗口中选择Asia→Shanghai。
另外,Kali Linux默认不带中文,当打开中文网页或者抓包时,若数据包的数据中有中文,则无法解析,故需要配置Kali使其支持中文,执行如下命令即可:
root@VXIDr0ysue:~/Chap01# apt update root@VXIDr0ysue:~/Chap01# apt install xfonts-intl-chinese root@VXIDr0ysue:~/Chap01# apt install ttf-wqy-microhei
一定不要把系统切换为中文环境,切换成中文环境容易出问题。