Skip to content
Duncan Ogilvie edited this page Jan 22, 2018 · 5 revisions

Ideas/Roadmap

  • creating x64dblib
  • moving to other cpython lib (migrating from swig) -> pybind11
  • documentation, the worst but the most needed thing 😂
  • adding more functionality to x64dbgpy -> like what?
  • working with you on full plugins support -> discussed in Plugin menus
  • mona.py working on functionality of x64dbgpy
  • support IPython (can be done with GuiAddQWidgetTab)
  • full pip support.
  • implement a virtual python environment

Could not import x64dbgpy

Possible reasons:

  • Missing Microsoft Visual C++ 2008 Redistributable (x86, x64).
  • You didn't copy the x64dbgpy directory with the plugin files.
  • You are somehow using the wrong architecture python home. For x32dbg use python32, for x64dbg use python64.

Comments

  • We can use a system command to call system pip install whatever
  • use pybind11 to wrap the x64dbg api (mostly scriptapi), but provide a pythonic api on top of this

Plugin menus

Plugins have to ask the x64dbgpy native plugin to create menus for them and to send callbacks.

Scriptapi

Implement a POC of pybind11 for _scriptapi

import scriptapi
val = registers.eax
bytes = memory.read(val, 0x100)
base = module.getbase(registers.eip)

module should (also) be a class:

import scriptapi
mod = module("ntdll")
mod.size
mod.base
mod.path

Notes