首页
社区
课程
招聘
[原创]windows平台编译调试DynamoRIO和Winafl x86/x64
发表于: 2020-8-8 16:30 11632

[原创]windows平台编译调试DynamoRIO和Winafl x86/x64

2020-8-8 16:30
11632

不知为什么,每次尝试去编译开源项目都要踩n个坑,应该还是太菜了吧......编译成功后把方法记下来,以后回顾的时候方便看


1.在windows系统上安装

cmake 3.18.0-rc2

Qt 5.13.0

vs2019

perl

git

everything

(这些软件的其他版本我没试过)


2.下载dynamorio项目源码,进入dynamorio文件夹并创建build_Win32和build_x64文件夹,打开cmake-gui

git clone https://github.com/DynamoRIO/dynamorio.git

cd dynamorio

mkdir build_Win32

mkdir build_x64

cmake-gui


3.编译DynamoRIO为32位

(1)打开cmake-gui,设置源码目录和build目录,之后点击Configure;


(2)选择生成器和生成平台,点击Finish,就开始build了;

(3)出现了错误,根据错误信息定位到make/cpp2asm_support.cmake第243行;

具体原因是没有指定CMAKE_ASM_COMPILER;

那就用everything搜索ml.exe,随便找一个就行了;

我用的是"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x86\ml.exe"

之后填写到cmake-gui中去,点击Configure继续配置;

(4)又出错了,这次是CMakeLists.txt的第678行;

原因是没有指定CMAKE_MC_COMPILER;

同样地,用everything随便找一个mc.exe就行了;

我用的是"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\mc.exe";

之后填写到cmake-gui中去,点击Configure继续配置;

(5)又出问题了,这次是没有指定uuid.lib;

同样地,用everything随便找一个uuid.lib;

我用的是"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86\Uuid.Lib";


之后填写到cmake-gui中去,点击Configure继续配置;

(6)又出问题了,这次是没有指定lib.exe;

同样地,用everything随便找一个lib.exe;

我用的是"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x86\lib.exe";

之后填写到cmake-gui中去,点击Configure继续配置;

(7)终于Configuring Done了,之后点击Generate,也就Generating Done了,可以关闭cmake-gui了

(8)进入build_Win32目录,用vs打开解决方案DynamoRIO.sln,共有120个项目;

(9)打开项目drgui的项目属性,将“警告视为错误”改为“否”;

修改“附加包含目录”,关于Qt的目录设置成msvc2017下的包含目录,点击“确定”;

添加“附加库目录”,点击“确定”;

修改“附加依赖项”,点击“确定”;

点击“确定”退出drgui属性页;


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-8-13 19:55 被TechForBad编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (6)
雪    币: 4094
活跃值: (4205)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
最近在玩二进制漏洞挖掘,希望能和更多朋友一起交流相关技术
2020-8-8 16:32
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
3
友情提示,dynamorio请认准intel处理器。AMD的话得手动调一下最大使用线程为1,要不可能会崩溃
2020-8-8 16:38
0
雪    币: 4094
活跃值: (4205)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
NONAME剑人 友情提示,dynamorio请认准intel处理器。AMD的话得手动调一下最大使用线程为1,要不可能会崩溃
那篇《SysWOW64的奇技淫巧》感觉老哥玩得很深啊 :-)
2020-8-8 16:40
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
5
昵称好麻烦 那篇《SysWOW64的奇技淫巧》感觉老哥玩得很深啊 :-)
没有……只是从amd的这个bug开始往下de,抄了段代码和大家分享……真正的高手syswow64玩得很深的(
2020-8-8 16:44
0
雪    币: 188
活跃值: (373)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

给你送些命令,辛苦了..

VS2019

x86

1.Start command line as “Developer Command Prompt for VS 2019”, or:

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"

2.Run cmake with Win32 (within build dir):

cmake -A Win32 ..

3.Buils as wiki said:

cmake --build . --config RelWithDebInfo

4.This instruction will install a copy to export dir.

cmake --build . --config RelWithDebInfo --target install

5.Goto export dir and try:

bin32\drrun.exe -c samples\bin32\bbcount.dll -- notepad.exe

x64

1.Start command line as “Developer Command Prompt for VS 2019”, or:

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsamd64_x86.bat"

2.Run cmake with Win32 (within build dir):

cmake -A x64 ..

3.Buils as wiki said:

cmake --build . --config RelWithDebInfo

4.This instruction will install a copy to export dir.

cmake --build . --config RelWithDebInfo --target install

5.Goto export dir and try:

bin32\drrun.exe -c samples\bin64\bbcount.dll -- notepad.exe

最后于 2021-3-30 22:54 被xkkhh编辑 ,原因:
2021-3-30 22:47
0
雪    币: 71
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
看过留言
2021-4-3 09:46
0
游客
登录 | 注册 方可回帖
返回
//