最近要逆向一个pyd文件,无意中要用到用boost库生成的pyd文件,这其中的环境配置过程很漫长,特意将配置或者说安装使用的过程记录一下。python中使用C++生成的动态库方法我知道的现在是两种,(1)通过boost库生成dll,然后改名成后缀名pyd给python使用,(2)通过python的ctypes库直接加载dll文件使用。
先说一下第二种方式,这种比较简单,不用怎么配置环境,网上能搜到很多ctypes使用的方法,唯一需要注意的是,在32位的python使用32位的dll,64位的python中使用64位的dll,如果生成的dll在加载时老是提示找不到dll,是因为这个dll依赖于其它的dll,如果没依赖自己写的其他库,则可能是VS的环境变量没装好,配置好环境变量或者重装一遍VS。
着重说下第一种方式,过程如下:
1) 下载boost库,下载时有压缩文件格式,也有exe格式,我使用的压缩文件格式;
2) 安装boost库:解压缩,然后通过VS的开发工具命令提示(
Win键,然后从VS程序下选择,想要生成32位的pyd文件,则选择32位的工具,如果是生成64位的pyd文件,则选择64位兼容的工具,VS2015下选择VS2015 x86 x64 兼容工具命令提示符
)来运行bootstrap.bat脚本文件,会生成bjam.exe和b2.exe,其实二者是完全一样的文件,运行其中一个即可,运行直到结束需要花至少20多分钟,64位的更长,直接运行时,