因为网上的 IDA Pro 破解版大多是 Windows 版本的,当使用 Linux 时,来回切换虚拟机就很不方便,所以本文通过安装配置 Wine ,实现在 Linux 中也能正常使用 IDA Pro 的目的。
Ubuntu 官方源中的 wine 版本比较老,不建议使用。
Wine 提供了 stable、devel、staging 三个版本,但是截至本文时,仓库中暂时没有针对 Ubuntu 22.04 的 stable 版本,所以此处安装 staging 版本。
1
2
3
4
5
6
|
sudo dpkg --add-architecture i386
sudo wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
sudo apt update
# ubuntu 22.04 暂时没有 winehq-stable 版本
sudo apt install --install-recommends winehq-staging
|
该命令会创建 ~/.wine 目录并在其中初始化组件,如果想清空后续设置,可以直接删除此目录,重新执行该命令即可。
在 winecfg 中修改"Graphics-Screen resolution"的值(默认的显示效果可能会很差),勾选"Staging-Enable GTK3 Theming" ,"Desktop Integration-Appearance"的主题我们选择使用自带的"Light",不喜欢的话可以在网上搜索下载安装新主题。其他选项可按需修改。
将以下内容保存为 .sh 文件,例如 winefontssmoothing.sh,并通过命令 bash winefontssmoothing.sh 执行,选择第三项即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#!/bin/sh
# Quick and dirty script for configuring wine font smoothing
#
# Author: Igor Tarasov <tarasov.igor@gmail.com>
WINE=${WINE:-wine}
WINEPREFIX=${WINEPREFIX:-$HOME/.wine}
DIALOG=whiptail
if [ ! -x "`which "$WINE"`" ]
then
echo "Wine was not found. Is it really installed? ($WINE)"
exit 1
fi
if [ ! -x "`which "$DIALOG"`" ]
then
DIALOG=dialog
fi
TMPFILE=`mktemp` || exit 1
$DIALOG --menu \
"Please select font smoothing mode for wine programs:" 13 51\
4\
1 "Smoothing disabled"\
2 "Grayscale smoothing"\
3 "Subpixel smoothing (ClearType) RGB"\
4 "Subpixel smoothing (ClearType) BGR" 2> $TMPFILE
STATUS=$?
ANSWER=`cat $TMPFILE`
if [ $STATUS != 0 ]
then
rm -f $TMPFILE
exit 1
fi
MODE=0 # 0 = disabled; 2 = enabled
TYPE=0 # 1 = regular; 2 = subpixel
ORIENTATION=1 # 0 = BGR; 1 = RGB
case $ANSWER in
1) # disable
;;
2) # enable
MODE=2
TYPE=1
;;
3) # enable cleartype rgb
MODE=2
TYPE=2
;;
4) # enable cleartype bgr
MODE=2
TYPE=2
ORIENTATION=0
;;
*)
rm -f $TMPFILE
echo Unexpected option: $ANSWER
exit 1
;;
esac
echo "REGEDIT4
[HKEY_CURRENT_USER\Control Panel\Desktop]
\"FontSmoothing\"=\"$MODE\"
\"FontSmoothingOrientation\"=dword:0000000$ORIENTATION
\"FontSmoothingType\"=dword:0000000$TYPE
\"FontSmoothingGamma\"=dword:00000578" > $TMPFILE
echo -n "Updating configuration... "
$WINE regedit $TMPFILE 2> /dev/null
rm -f $TMPFILE
echo ok
|
IDA Pro 中需要 python 环境执行自定义脚本,所以首先安装 python。此处我下载的是 python-3.8.0-amd64.exe
切换到安装包所在目录,执行以下命令,会弹出一个类似于 Windows cmd 的窗口,同目录下可以看到 python 安装包,直接运行该程序即可。
安装时选择自定义安装,仅安装 python 核心功能即可,记得一定要添加环境变量。
可以将 Windows 中的字体直接复制到 wine 的字体目录中,我暂时只用到了"consola"和"微软雅黑"两种字体,所以只复制了这两种字体,放入 ~/.wine/drive_c/windows/Fonts 即可。
1
|
wine ~/bin/ida-pro/ida/ida.exe
|
每次输入这么长的命令很不方便,可以在 .bashrc 或 .zshrc 中自定义函数,例如
1
2
3
4
5
6
7
|
function ida(){
wine ~/bin/ida-pro/ida/ida.exe $1
}
function ida64(){
wine ~/bin/ida-pro/ida/ida64.exe $1
}
|
以后使用命令 ida 或者 ida64 即可运行,也可传递目标程序路径作为参数,直接打开分析。
其他 Windows 应用操作与此类似,如果需要中文,可以在前面添加环境变量,例如
1
|
env LANG=zh_CN.UTF-8 wine calc.exe
|
1
2
|
sudo apt purge wine-staging
sudo apt autoremove
|
删除以下路径
1
2
3
4
5
6
|
~/.config/wine/
~/.wine
~/.config/menus/applications-merged/wine*
~/.local/share/applications/wine
~/.local/share/desktop-directories/wine*
~/.local/share/icons/????_*.xpm
|
1、Installing WineHQ packages
2、improve gui appearance of wine applications
3、IDA Pro 7.7.220118 (SP1)