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

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

2024-5-7 19:55
8401




执行成功。

如果出现  [PYTHON] Exception... 那么是插件没有安装好,不是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
    然后就可以编译成功了。如下图:

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

  • [注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

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