首页
社区
课程
招聘
[原创]x64dbgpy插件安装-让x64dbg支持python脚本[保姆级]
2024-5-7 19:55 1269

[原创]x64dbgpy插件安装-让x64dbg支持python脚本[保姆级]

2024-5-7 19:55
1269

一、安装x64dbg,一路默认安装即可。

二、安装python

  1. 安装python2.7的32位和64位。安装到C盘根目录,如下:
  2. 配置环境变量,先将python2.7的32位添加到环境变量。因为这里主要用x32dbg进行调试。所以演示32位的配置方法。如下图:
  3. 这里配置上”C:\Python27_x86\Scripts”路径,是为了用pip命令,后面要用pip安装软件。配置好以后,在cmd中测试pip和python是否配置成功。

三、配置x64dbgpy工程

  1. 下载源代码:https://github.com/x64dbg/x64dbgpy.git
    源码包含两个项目x64dbgpy和scriptapi。这两个都需要编译成功。
  2. 安装vs2015以上版本的Microsoft Visual Studio
  3. 打开x64dbgpy.sln工程:
  4. 修改工程属性,主要修改sdk版本和平台工具集,修改成你电脑上已经安装了的sdk和平台工具集即可。

  5. 编译后会出现两个错误,一个是python的库和头文件;另一个是pybind11(这个是C/C++ 工程提供 Python 接口)。

  •   (1)刚刚安装的python2.7中,就有python所需的lib和h文件。将目录添加到这个x64dbgpy工程即可。这里以32为为例。


    * (2)pybind11:这个可以直接用pip来安装。不必自己去下载源代码编译。
     如果想自己编译pybind11,可以参考   https://zhuanlan.zhihu.com/p/485981141。
     也可以去官网直接下载二进制  https://pypi.org/project/pybind11/#history
     Pip安装如下:

     Pip安装的软件会被放在C:\Python27_x86\Lib\site-packages,在scriptapi工程中加入pybind11.h的目录。
     再次编译,会出现如下错:

     需要安装pybind11 v2.9,用pip重新安装。
     命令 pip install pybind11==2.9

     也可以手动去下载pybin11的2.9.0版本,下载后解压开,然后将目录配置到scriptapi工程的include中,下载地址 url:https://pypi.org/project/pybind11/2.9.0/#files
    然后就可以编译成功了。如下图:

四、根据Github来组装插件

  1. Github上是说明如上图,我们需要执行第3步和第6步。
  2. 用管理员权限打开vs2015的运行环境(和前面手动编译时设置的平台工具集一样)。

     这几个都可以。

     选择其中一个用管理员权限执行。
  3. cd进入到x64dbgpy.sln所在目录。
     先执行 setenv.bat,成功以后再执行install32.bat 。


     两个脚本都执行成功后,将x64dbgpy目录下先编译出的文件(x64dbgpy\release\x32\plugins)拷贝到x64dbg软件的32位版本插件目录下(C:\Program Files (x86)\x64dbg\release\x32\plugins)

    然后启动x64dbg,在插件中可以看到x64dbpy一项了。

    插件已经显示出来,可以 按ALT+F7就可以加载执行python脚本了。

五、执行py脚本测试




执行成功。


如果出现  [PYTHON] Exception... 那么是插件没有安装好,不是python脚本的问题。


阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞1
打赏
分享
最新回复 (4)
雪    币: 315
活跃值: (1817)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
执念成狂 2024-5-8 09:12
2
0
看完有两点疑惑,为啥用Python2这种老古董,还有就是用途是什么
雪    币: 16
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
乔峰 2024-5-8 09:17
3
0
因为x64dbgpy这个开源插件最开始是基于python2做的,后来作者就一直没有升级。
雪    币: 440
活跃值: (858)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
猫子 2024-5-8 10:07
4
0
乔峰 因为x64dbgpy这个开源插件最开始是基于python2做的,后来作者就一直没有升级。
https://github.com/ElvisBlue/x64dbgpython 这里有一个python3 的版本(未测试)。
雪    币: 15965
活跃值: (1145)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
killbr 2024-5-8 10:54
5
0
执念成狂 看完有两点疑惑,为啥用Python2这种老古董,还有就是用途是什么
 当然是完成机器批量完成的操作了。比如自动化定位脱壳的地址,批量输出相关日志
游客
登录 | 注册 方可回帖
返回