0x00 : 需求
主要是Ghidra这个东西,每次启动都要命令行 GhidraRun
,太麻烦了,所以就想把这个启动脚本封装成一个macOS的APP,方便使用。
0x01 : 过程
直接使用了 别人写好的appfiy.sh ,我用的是原作者的,链接里的是二次开发的,其实本质是一样的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/usr/bin/env bash
APPNAME=${2:-$(basename "${1}" '.sh')}; DIR="${APPNAME}.app/Contents/MacOS";
if [ -a "${APPNAME}.app" ]; then 4echo "${PWD}/${APPNAME}.app already exists :("; 4exit 1; fi;
mkdir -p "${DIR}"; cp "${1}" "${DIR}/${APPNAME}"; chmod +x "${DIR}/${APPNAME}";
echo "${PWD}/$APPNAME.app";
|
因为macOS下app本质是一个目录,所以只需要按照特定的格式构建这个目录即可。
1 2 3 4 5 6 7 8 9 10 11
| ❯ cd /Applications/Ghidra.app ╭─ /Applications/Ghidra.app ·· ✔ at 12:51:35 ╰─ ❯ ls Contents Icon? ❯ tree . . ├── Contents │ └── MacOS │ └── Ghidra └── Icon\r
|
本来我是把ghrida的启动脚本直接放进来的,但是发现有一些目录的问题,索性直接绝对路径启动这个脚本好了(懒省事儿啊 hhh)
1 2 3 4 5 6 7 8
| #!/usr/bin/env bash
/Users/muhe/Tools/ghidra/ghidraRun
|
最后,图标可以先复制你想用的图片,然后对app右键,get info,点击信息栏上面的小图标,之后cmd+v就行了,也挺方便。
最后,就可以很舒服的启动了。
0x02 : 参考
shell-script-mac-apps