💡
update:用mac + nix-darwin(真会有人这么做吗)
的可以看看这个https://github.com/lbr77/flake.nix/blob/main/pkgs/ida/default.nix
嗯…就是做个笔记,不然每次装没了到处找还挺麻烦
下载:https://vaclive.party/software/ida-pro/releases
或者是这个
Credit to auth
magnet:?xt=urn:btih:f24cfadb8a66b343bf1ff4f0c1386a5f6991c818&dn=ida91
All hashes (sh256)
8d917a95e96c89ce0048482e3ba5bd596d4fe7fb7700e7bfe05ec621faf535a0 ida-pro_91_armmac.app.zip
8ff08022be3a0ef693a9e3ea01010d1356b26cfdcbbe7fdd68d01b3c9700f9e2 ida-pro_91_x64linux.run
e0f41d622153aea72c44a03e9c5b4970c90c46d89e120fd5634da30394ebe4f4 ida-pro_91_x64mac.app.zip
811219de8c6575123f9385872376abca7adee7bcec68d8ead1f1f7a6249c9fe8 ida-pro_91_x64win.exe 然后windows/linux直接把so拖出来用keypatch跑一遍就行。
mac主要是需要sign哦
网友给的mac下的shell脚本
#!/usr/bin/env bash
function hex() {
echo ''$1'' | perl -0777pe 's|([0-9a-zA-Z]{2}+(?![^\(]*\)))|\\x${1}|gs'
}
function replace() {
declare -r dom=$( hex $2 )
declare -r sub=$( hex $3 )
sudo perl -0777pi -e 'BEGIN{$/=\1e8} s|'$dom'|'$sub'|gs' "$1"
return
}
function prep() {
sudo xattr -cr "$1"
sudo xattr -r -d com.apple.quarantine "$1"
sudo codesign --force --deep --sign - "$1"
}
function signbinaries() {
prep "/Applications/IDA Professional 9.1.app"
prep "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida.dylib"
prep "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida32.dylib"
prep "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hv"
prep "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hvui"
prep "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app"
}
function backup() {
echo "===> Backing up original files..."
sudo cp "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida.dylib" \
"/Applications/IDA Professional 9.1.app/Contents/MacOS/libida.dylib.bak"
sudo cp "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida32.dylib" \
"/Applications/IDA Professional 9.1.app/Contents/MacOS/libida32.dylib.bak"
sudo cp "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hv" \
"/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hv.bak"
sudo cp "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hvui" \
"/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hvui.bak"
echo "===> Backup complete."
}
function patch() {
echo "===> Patching files..."
# libida.dylib
replace "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida.dylib" \
'EDFD425CF978546E8911225884436C57140525650BCF6EBFE80EDBC5FB1DE68F4C66C29CB22EB668788AFCB0ABBB718044584B810F8970CDDF227385F75D5DDDD91D4F18937A08AA83B28C49D12DC92E7505BB38809E91BD0FBD2F2E6AB1D2E33C0C55D5BDDD478EE8BF845FCEF3C82B9D2929ECB71F4D1B3DB96E3A8E7AAF93' \
'EDFD42CBF978546E8911225884436C57140525650BCF6EBFE80EDBC5FB1DE68F4C66C29CB22EB668788AFCB0ABBB718044584B810F8970CDDF227385F75D5DDDD91D4F18937A08AA83B28C49D12DC92E7505BB38809E91BD0FBD2F2E6AB1D2E33C0C55D5BDDD478EE8BF845FCEF3C82B9D2929ECB71F4D1B3DB96E3A8E7AAF93'
replace "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida.dylib" \
'602E40F900013FD6A0040034' \
'602E40F900013FD625000014'
replace "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida.dylib" \
'F800000085C00F8492' \
'F800000085C090E992'
# libida32.dylib
replace "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida32.dylib" \
'EDFD425CF978546E8911225884436C57140525650BCF6EBFE80EDBC5FB1DE68F4C66C29CB22EB668788AFCB0ABBB718044584B810F8970CDDF227385F75D5DDDD91D4F18937A08AA83B28C49D12DC92E7505BB38809E91BD0FBD2F2E6AB1D2E33C0C55D5BDDD478EE8BF845FCEF3C82B9D2929ECB71F4D1B3DB96E3A8E7AAF93' \
'EDFD42CBF978546E8911225884436C57140525650BCF6EBFE80EDBC5FB1DE68F4C66C29CB22EB668788AFCB0ABBB718044584B810F8970CDDF227385F75D5DDDD91D4F18937A08AA83B28C49D12DC92E7505BB38809E91BD0FBD2F2E6AB1D2E33C0C55D5BDDD478EE8BF845FCEF3C82B9D2929ECB71F4D1B3DB96E3A8E7AAF93'
replace "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida32.dylib" \
'602E40F900013FD6A0040034' \
'602E40F900013FD625000014'
replace "/Applications/IDA Professional 9.1.app/Contents/MacOS/libida32.dylib" \
'F800000085C00F8492' \
'F800000085C090E992'
# hv (hvui.app/Contents/MacOS/hv)
replace "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hv" \
'602E40F900013FD6A0040034' \
'602E40F900013FD625000014'
replace "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hv" \
'F800000085C00F8492' \
'F800000085C090E992'
# hvui (hvui.app/Contents/MacOS/hvui)
replace "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hvui" \
'EDFD425CF978546E8911225884436C57140525650BCF6EBFE80EDBC5FB1DE68F4C66C29CB22EB668788AFCB0ABBB718044584B810F8970CDDF227385F75D5DDDD91D4F18937A08AA83B28C49D12DC92E7505BB38809E91BD0FBD2F2E6AB1D2E33C0C55D5BDDD478EE8BF845FCEF3C82B9D2929ECB71F4D1B3DB96E3A8E7AAF93' \
'EDFD42CBF978546E8911225884436C57140525650BCF6EBFE80EDBC5FB1DE68F4C66C29CB22EB668788AFCB0ABBB718044584B810F8970CDDF227385F75D5DDDD91D4F18937A08AA83B28C49D12DC92E7505BB38809E91BD0FBD2F2E6AB1D2E33C0C55D5BDDD478EE8BF845FCEF3C82B9D2929ECB71F4D1B3DB96E3A8E7AAF93'
replace "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hvui" \
'602E40F900013FD6A0040034' \
'602E40F900013FD625000014'
replace "/Applications/IDA Professional 9.1.app/Contents/Resources/hvui.app/Contents/MacOS/hvui" \
'F800000085C00F8492' \
'F800000085C090E992'
echo "===> Patching complete."
}
backup
patch
signbinaries
echo "All done!"