安装pydbg pydasm

来源:互联网 发布:dnf追忆天空cdk淘宝 编辑:程序博客网 时间:2024/06/14 09:01

安装pydbg pydasm

 

http://netsec.ccert.edu.cn/bobo/2012/06/12/%e5%ae%89%e8%a3%85pydbg-pydasm/
 
pydbg是著名的基于python 实现的调试器,是作为著名的逆向架构paimei的调试框架发布的,其依赖于pydasm,同时这个pydasm库存在于libdasm中。
整个安装过程还算顺利,主要是Python distutils的使用不熟悉,说实话,我都没怎么用过python,怎么可能熟呢?

首先下载libdasm,链接如下:

http://code.google.com/p/libdasm/downloads/list

由于需要C 编译器,所以安装 VC2010(真是重量级啊),进入Visual Studio Command Prompt (2010),切换到下载下来的代码包中pydasm目录下,运行 setup.py install,报错无法找到vcvarsall.bat这个文件,
如下提示:
unable to find vcvarsall.bat
怀疑是环境变量的问题,所以将这个文件所在路径C:\Program Files\Microsoft Visual Studio 10.0\VC 加入到path,还是不行,开始google,发现有价值的链接如下:
http://bbs.pediy.com/showthread.php?t=133952
链接提示需要修改distutil 库源码中的msvccompiler.py文件,将删除self.__macros = MacroExpander(self.__version),来绕过对编译环境版本在注册表中值的验证,就是必须是某个版本的编译器如VS2008,且验证本地环境VC++2008 Express Edision 的注册表键值是不是distutils 库支持的
但是在我正要实施时,发现该文中的报错似乎与我不符,我的应该在这个的错误前面,我的错误是由于还没有正确找到编译环境,所以继续搜寻,发现大多数链接都是用下载mingw来解决,包括很多国外的大牛网站,但是这只能算是绕过,根本不是解决,再说我费那么大劲装的VS2010岂不是白费了吗?继续找了一会,终于发现一个有价值的链接:
http://blog.csdn.net/ren911/article/details/6448696
这个链接就与我所遇的问题一样,采取的方法是修改文件msvc9compiler.py,如下:
修改MSVCCompiler函数:
vc_env = query_vcvarsall(VERSION, plat_spec)
为:
vc_env = query_vcvarsall(8.0, plat_spec)//由于我的是VS2010,所以改为10.0,python默认是VS2008 即9.0
还要加这句话:
if VERSION < 8.0:
raise DistutilsPlatformError(“VC %0.1f is not supported by this module” % VERSION)
看来,python3.2中的distutils只支持vc8.0以上,即vs2005以上的编译器。
修改之后安装成功!!
接下来安装pydbg,由于是paimei的调试架构,所以先要下载paimei
http://code.google.com/p/paimei/
https://github.com/OpenRCE/paimei/downloads
然后是下载pydbg
https://github.com/OpenRCE/pydbg/downloads
一开始还以为可以直接独立安装pydbg,后来发现其中源码中没有安装文件,只是源代码,参考下面链接
http://www.diybl.com/course/3_program/python/20110829/559096.html
windows下没有装SVN、git,所以直接浏览器下载安装包,解压paimei的安装包,运行setup install,简要看了下错误,像是报错找不到 pydbg的源代码文件,所以发现paimei安装包中的pydbg文件夹中是空的。将pydbg安装包的文件复制到其中,成功安装!!!

最后,检测安装结果发现,import pydbg时,仍然报错,找不到pydasm这个库,所以参考上个链接中的方法,将Lib\Site-packages\pydbg下的pydasam.pyd删掉。因为在安装pydasm之后,Lib\Site-packages\下已经存在库文件pydasam.pyd。之后运行python,调用这两个库,没有报错,如下:

 

原创粉丝点击