首页 > 其他 > 详细

DynamoRIO,插桩库的编译

时间:2020-07-28 10:26:13      阅读:86      评论:0      收藏:0      [点我收藏+]

据传说,有一套插桩库叫做“DynamoRIO”,它很出名,而我一直想用它,但是没机会,

今天突然来了机会了,我希望针对普通程序做一套接口监视系统,需要用到这套插桩库,

所以,我花了若干个小时来学习如何编译它,直到刚才,我做完了完整的流程。

这里记录一下吧,免得未来我又忘了。

 

首先,需要准备一些东西,

1:一个VS IDE,我这里准备的是VS2017,

2:安装好ActivePerl,可以去这里下载,随便下载个 perl64,装上就好了,一定要安装 https://www.activestate.com/products/perl/downloads/

3:安装一个 doxygen ,没它不行,下载一个,安装上,https://www.doxygen.nl/download.html#oldrel

4:最最重要的,cmake,下载一个,安装上,要cmakegui,地址就不发了

 

好了,开工了

1:去github拿一份 dynamorio-master ,解压了,(这是废话)

 

2:打开cmakegui,配置好各种信息,其实就是配置好两个路径

技术分享图片

 

 

3:点 configure,2017 default 就行了

技术分享图片

 

 4:点Finish,cmakegui开始工作了,肯定会出问题的,所以我们只要等待它报错就好了

一点都不奇怪,

第一个错误

  4.1:

技术分享图片

 

   它告诉了我们哪里有错误,就去找对应的文件,make/cpp2asm_support.cmake

技术分享图片

 

   说这个玩意不存在,给它一个就好了,上面要的是ml,那就给它吧

技术分享图片

 

   这里需要自己动手来填,后面遇到问题也是这样

 

  4.2

技术分享图片

 

   缺少 mc,给它。

 

  4.3

技术分享图片

 

   要 perl ,给它

 

  4.4

技术分享图片

 

  要 lib 给它

 

5:它要的所有东西都给它之后,配置完成

技术分享图片

 

 

6:Generate,很顺利,成功了

技术分享图片

 

 

 7:直接OpenProject

技术分享图片

 

 直接生成解决方案吧,119个项目,虽然工程不少,但是也就10来分钟就编完了,比llvm快多了,快了不止一个档次。

 

8:这时候如果还是无法编译,提示$ 什么的,就在所有工程中加入“DYNAMORIO_STANDALONE”宏,即可。

(不加其实也没问题,只是使用了不同的接口)

 

技术分享图片

全部成功,无失败

 

9:好了,可以尝试使用了。

 

编完是一回事,能不能用是另外一回事。自己去体验吧。

 

补充一下,这玩意,32位sln和64位的生成是独立的,所以要编译64位的,需要重新配置,重新生成。

DynamoRIO,插桩库的编译

原文:https://www.cnblogs.com/suanguade/p/13388818.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!