学计算机的那个

不是我觉到、悟到,你给不了我,给了也拿不住;只有我觉到、悟到,才有可能做到,能做到的才是我的.

0%

iDA Pro安装

这是一次失败的安装,起因是前几天面试被问到,有没有用过iDA这个工具

iDA Pro

简单来说,就是国外开发的收费的专业的逆向分析工具,至于具体有多专业,因为我也没有安装成功,就不做评价。

安装过程

环境:mac OS Catalina (10.15.5),Mac mini(Late 2014), IDA Pro 7.0

下载完成后,双击app,直接退出…,进入application里的安装包看看,…/Applicaiton/Contents/MacOS/目录下,有installbuilder.sh的脚本,推测双击app会执行这个安装脚本,然后在terminal下执行看看有没有问题

1
2
Jack@Mac-mini MacOS % sh installbuilder.sh
installbuilder.sh: line 18: ./osx-intel: Bad CPU type in executable

分析 shell 18行代码的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 1 #!/bin/sh
2
3 os_version=`uname -r`
4 machine_platform=`uname -p`
5 if [ "${os_version:0:1}" == "6" ];then
6 executable="none"
7 elif [ "${machine_platform}" == "i386" ];then
8 executable="osx-intel"
9 else
10 executable="none"
11 fi
12
13 if [ "$executable" == "none" ]; then
14 echo "The current OS X version is not supported"
15 exit 1
16 fi
17
18 "`dirname \"${0}\"`/$executable" "$@"

也就是说 i386 导致的 ./osx-intel: Bad CPU type in executable这个错误,一脸懵逼,然后就去查了下Bad CPU type in executable这个错误,结果找到这个结果,于是我以为是默认bash的问题,然后有了下面的部分。

shell、bash、zsh

查看当前shell使用 echo $SHELL

shell

  1. shell是一个命令行解释器

  2. Login 和 Non-login
    login shell 是指登陆系统后获得的顶层shell,比如最常用的ssh登陆,登录完成后得到一个login shell,如果已经登录了桌面电脑,打开terminal进入的shell就是Non-login shell。

bash

Bash是最常见的shell,Mac中默认shell就是bash,唤起bash shell时加载的不同文件,login shell 加载 ~/.bash_profile
,而non-login shell加载 ~/.bashrc

zsh

很多mac中会使用zsh而不是bash,一大半是因为oh-my-zsh这个配置集,它兼容bash,还有自动补全等好用的功能。zsh的配置文件~/.zshrc

更改shell路径 error

chsh: /usr/bin/zsh: non-standard shell

说明:zsh路径不对

1
2
3
4
1. which zsh
2. chsh -s /bin/zsh
3. Restart your machine

安装继续

更改完Shell为zsh后,继续安装,发现还是报错,看来是走了弯路,再去看下那个报错

1
2
Jack@Mac-mini MacOS % file osx-intel
osx-intel: Mach-O executable i386

查了下资料才发现 自 macOS 10.15.1/Catalina 后终止了对 32 位可执行程序的兼容 ….

曙光到来

找到了 Catalina下的版本 IDA-pro-7-for-Catalina-OSX-15

可用

问题

我的系统和CPU都是64位的,但是为什么uname -p返回的是 i386?这个-p代表的是什么?没查到….

1
2
3
4
Jack@Mac-mini ~ % uname -a
Darwin Mac-mini.local 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64
Jack@Mac-mini ~ % uname -p
i386

参考

  1. IDA Pro 7.0 macOS 安装
  2. IDA-pro-7-for-Catalina-OSX-15