首页 > 代码库 > PyDBG安装

PyDBG安装

PyDBG是windows下的一款纯python调试器,因为他的存在,使得python在软件调试、逆向工程等领域占据一席之地。下面记录PyDBG的安装过程。


环境:windows,C编译器,python2.6,libdasm,pydbg源码包。


步骤:

1、安装C编译器:如果你的电脑和我的一样卡,并且暂时不需要VS这样的庞大IDE的话,可以单独安装一个mingw编译器。这里用的是mingw4(对应gcc 4),安装完后,将一下环境变量加入到pyth中:

         C:\MinGW\bin;C:\MinGW\mingw32\bin;C:\MinGW\libexec\gcc\mingw32\4.8.1。

注:这里MinGW放在C盘根目录下。

 如果没有C编译器直接安装pydasm的话,将会出现下面错误:

D:\pyDBG\libdasm-1.5\libdasm-1.5\pydasm>setup.py install
running install
running build
running build_ext
building ‘pydasm‘ extension
error: None

2、安装libdasm:libdasm是一个开源的反汇编库,pydasm包含在其中。这里用的是libdasm-1.5。下载后在命令行下进入pydasm目录,运行:setup.py install build --compiler=mingw32

如果C编译器安装的是minGW4的话,会出现以下错误:

D:\pyDBG\libdasm-1.5\libdasm-1.5\pydasm>setup.py install build --compiler=mingw32
running install
running build
running build_ext
building ‘pydasm‘ extension
C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python26\include -IC:\Pytho
n26\include -IC:\Python26\PC -c ../libdasm.c -o build\temp.win32-2.6\Release\..\
libdasm.o
gcc: error: unrecognized command line option ‘-mno-cygwin‘
error: command ‘gcc‘ failed with exit status 1

这是因为在GCC 4版本里去除了-mno-cygwin这个参数,解决办法有两个:

     1、安装GCC3;

     2、进入c:\python26\Lib/distutils/cygwinccompiler.py 删除里面的所有 ‘-mno-cygwin‘

修改后再次安装,显示以下信息:

D:\pyDBG\libdasm-1.5\libdasm-1.5\pydasm>setup.py install build --compiler=mingw32
running install
running build
running build_ext
building ‘pydasm‘ extension
C:\MinGW\bin\gcc.exe -mdll -O -Wall -IC:\Python26\include -IC:\Python26\include
-IC:\Python26\PC -c ../libdasm.c -o build\temp.win32-2.6\Release\..\libdasm.o
C:\MinGW\bin\gcc.exe -mdll -O -Wall -IC:\Python26\include -IC:\Python26\include
-IC:\Python26\PC -c pydasm.c -o build\temp.win32-2.6\Release\pydasm.o
writing build\temp.win32-2.6\Release\..\pydasm.def
creating build\lib.win32-2.6
C:\MinGW\bin\gcc.exe -shared -s build\temp.win32-2.6\Release\..\libdasm.o build\
temp.win32-2.6\Release\pydasm.o build\temp.win32-2.6\Release\..\pydasm.def -LC:\
Python26\libs -LC:\Python26\PCbuild -lpython26 -lmsvcr90 -o build\lib.win32-2.6\
pydasm.pyd
running install_lib
copying build\lib.win32-2.6\pydasm.pyd -> C:\Python26\Lib\site-packages
running install_egg_info
Writing C:\Python26\Lib\site-packages\pydasm-1.5-py2.6.egg-info


进入python,import pydasm,不报错,则pydasm安装成功!

可以看到,在C:\Python26\Lib\site-packages下,新增了pydasm.pyd文件


3、下载pydbg源码包,放到目录C:\Python26\Lib下,即可。

进入python,import pydbg,不报错,则pydbg可用!


PyDBG安装