题记:今天下午回到家用一种叫罗汉果的东西泡了杯水喝(罗汉果又叫仙人果),然后打开看雪论坛看到Python pydbg这样的字样,这不正是这些天我在书店看到的那本书上的内容吗,打开链接一看,帖子的作者叫仙果,也就是罗汉果啦。这位罗汉果老兄翻译了日本人写的安装pydbg的文章,我想这本书上的示例运行起来确实有点麻烦,本着罗汉果老兄方便后学的精神,发了这样一篇帖子。
  
  首先第一步就是安装Python了,这个很简单啦,值得说明的就是Python的版本,那本书上用的是2.5的版本,后来更新还有其他的版本,由于2.5以前没有ctypes,所以不建议安装,我的电脑上装了2个版本2.5和2.7, 2.5是在2.7之后安装的,双击*.py文件时运行的是2.5,要运行2.7需要加上路径: C:\Python27\ Python.exe  X:\xxxx\xxx.py,没有配置环境变量。


  其次比较麻烦的就是pydbg,一开始不知道去哪里下载pydbg 运行示例程序就会报这样的错:
Traceback (most recent call last):
  File "E:\src\firefox_hook.py", line 1, in <module>
    from pydbg import *
ImportError: No module named pydbg

去网上找了一个pydbg 是一个压缩包pydbg-package.rar


Pydbg 要拷贝到 拷贝到python的安装目录里面,一般是C:\Python27\Lib,这样还不行,因为因为python里面的pydasm.pyd不匹配,pydasm.pyd需要重新编译,解压libdasm-1.4.tar.gz,cmd切换到解压后的目录里 cd  pydasm  python setup.py build_ext,编译成功的话会生成一个build目录,里面有一个pydasm.pyd,将这个pydasm.pyd 替换到C:\Python27\Lib\python里面的pydasm.pyd就可以了。有的同学这里可能编译不成功,电脑上需要有Visual Studio
我的电脑上装有vs2008,使用的python的版本是2.7,如果是用python的版本是2.5也会编译不成功,提示电脑上没有vs2003。

       
       其实,那个pydasm.pyd也可以不用重新编译(有误,补充里有说明),可能是那个pydbg-package.rar里面的Pydbg版本太低,后来我从google上paimei项目里面下载的那个pydbg是没有问题的,拷贝到C:\Python27\Lib目录下就可以直接使用,不用重新编译pydasm.pyd。要重新下载需要安装TortoiseSVN。装好了之后到桌面点鼠标右键会多一个菜单


点那个Repo-browser 会让你添URL ,谷歌搜索paimei


得到这样的地址http://paimei.googlecode.com/svn/trunk/


点ok等一段时间会有这样的界面 


选中的那几个是我们需要的pgraph、pida、pydbg、utils,点右键CheckOut,导出到本地,拷贝到 C:\Python27\Lib里面就ok了。

  最后,还有那个idaPython,如果python的版本不对的话他会识别不了。我的是IDA版本5.5。要装python2.5才可以。

罗汉果的故事.doc
pydbg-package.rar


(补充一下: SVN导出的那个pydbg要放到python2.7下面是不行的,估计放到python2.6里面可以,2.5版本的可以从pyemu里面去拷贝(SVN地址:http://pyemu.googlecode.com/svn/trunk/),这个里面的pydasm.pyd是2.5编译的放到2.5下面可以使用)

pydasm(3个版本).rar