前言
主力机换了台 Mac,记录一下部分环境配置的过程
参考:
https://www.cnblogs.com/simono/p/16629284.html
Basic
解除文件打开限制
https://sysin.org/blog/macos-if-crashes-when-opening/
设置允许任何来源的 app 运行
sudo spctl --master-disable
运行命令后打开设置,找到隐私与安全性,修改来源
移除应用的安全隔离属性
sudo xattr -dr com.apple.quarantine /Applications/name.app
快捷操作
- 命令行中,ctrl+a 可以直接使光标跳转到开头
- opt + -> 可以直接使光标跳转到下一个单词
Homebrew
Mac 下的包管理器,无需多言
oh_my_zsh
可以使用 z
命令实现快速跳转到曾经访问过的文件夹
jordanbaird-ice
修改顶部栏小图标限制
docker
Mac 中直接 ifconfig 看不到 docker 的宿主机 ip,容器可以通过特殊的域名 host.docker.internal
来访问宿主机 IP 地址,无需知道具体的IP 地址,实际上也可以直接 ping 这个域名来获取宿主机 IP 地址 192.168.65.254
Obsidian
Mac 上 typora 的激活码不好找(虽然可以改 js 但是还是有弹窗看着难受),索性投身于 obsidian 的怀抱
主题:blue topaz
插件:
- attachment management:配合本人写 hexo 博客的需求来保存图片
- easy typing
- heading shifter
grep 替换
grep 有 BSD 和 GNU 两个版本,支持的参数不一样,GNU 才支持 -P
参数,直接换成 GNU 版本
brew install grep
然后修改环境变量配置文件
export PATH="/opt/homebrew/opt/grep/libexec/gnubin:$PATH"
之后重载终端即可
. ~/.zshrc
Web
FlyEnv
对 web 手配各种环境帮大忙了
PHPStorm
配置命令行启动
方便在命令行下打开文件夹
要使 IDE 可从命令行访问,请将 '/Applications/PhpStorm.app/Contents/MacOS' 添加到 $PATH 变量,然后使用 'phpstorm' 运行命令。
那么在 .zshrc 里加一行 export PATH="$PATH:/Applications/PhpStorm.app/Contents/MacOS"
即可
Chrome
Proxy Switchy
要代理 localhost 的流量,需要配置不代理的地址列表为 <-loopback>
proxychains
正常通过 brew 安装的 proxychains 会遇到无法启动的问题
https://0chen.cc/2023/02/21/m1%E4%BD%BF%E7%94%A8proxychains4%E8%B8%A9%E5%9D%91/
https://cunoe.com/changelog/use-proxychains-in-macos-m-series
如果要使用 proxychains 则必须要关闭 SIP
但是此时再执行还是会报错:
dyld[35986]: terminating because inserted dylib '/opt/homebrew/Cellar/proxychains-ng/4.17/lib/libproxychains4.dylib' could not be loaded: tried: '/opt/homebrew/Cellar/proxychains-ng/4.17/lib/libproxychains4.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'arm64e')), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/proxychains-ng/4.17/lib/libproxychains4.dylib' (no such file), '/opt/homebrew/Cellar/proxychains-ng/4.17/lib/libproxychains4.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'arm64e')
个人的解决办法:
在关闭 SIP 后,先启用 arm64e 架构支持
sudo nvram boot-args=-arm64e_preview_abi
sudo reboot
然后自行编译 proxychains-ng
git clone https://github.com/rofl0r/proxychains-ng && cd proxychains-ng
CFLAGS="-arch arm64e" LDFLAGS="-arch arm64e" ./configure --prefix=/usr/local --bindir=/usr/local/bin --libdir=/usr/local/lib --fat-binary-m1
make
接下来替换 libproxychains4.dylib 到 homebrew 下就行
sudo cp libproxychains4.dylib /opt/homebrew/Cellar/proxychains-ng/4.17/lib/libproxychains4.dylib
crackmapexec
注意不要使用 python 3.9 安装,会警告 NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
git clone https://github.com/byt3bl33d3r/CrackMapExec.git
cd CrackMapExec
pip3.10 install pipx
python3.10 -m pipx install .
Binary
IDA Pro 9.1
UTM
用于启动跨架构虚拟机
这里安装 x86_64 的 ubuntu 16.04
https://byesec.com/posts/5aa3009d.html#2%E3%80%81%E9%95%9C%E5%83%8F%E9%80%89%E6%8B%A9
一些额外操作:由于桌面环境用着太卡了还是选择 ssh 来操作
sudo apt install openssh-server
sudo service ssh start
sudo systemctl enable ssh
然后设置走宿主机的代理,宿主机这里要允许来自局域网的连接
export all_proxy=socks5://192.168.64.1:7890
Vmware 迁移到 UTM
JADX
需要 java 11 以上版本
brew install jadx