Compiling PySide for IDA Pro on Windows

If you’ve ever wanted to use IDA’s native GUIs, you’ll need PySide. Unfortunately PySide is annoying to compile, and the only available binaries are for Python 2.6. This should work for any version.

Note: The python module installer executable at the end of this guide did not work for me. The compiled pyd and dll files, however were completely usable from within IDA.

Prequisites

Compiling QT

Before we can compile PySide, we need to compile Qt. IDA’s version of Qt uses a custom namespace, so our version of Qt will need to as well.

This stage took around 5 hours on my VM. If you customize the configure line, make sure you leave in the -qtnamespace QT! Otherwise your binaries will be unusable from within IDA.

Compiling PySide

I did some of this on Linux and some of this on Windows.

diff --git a/setuptools/build.py b/setuptools/build.py
index 36d83ea..1b63bab 100644
--- a/setuptools/build.py
+++ b/setuptools/build.py
@@ -22,14 +22,14 @@ modules = {
         ["Generatorrunner", "master", "https://github.com/PySide/Generatorrunner.git"],
         ["Shiboken", "master", "https://github.com/PySide/Shiboken.git"],
         ["PySide", "master", "https://github.com/PySide/PySide.git"],
-        ["Tools", "master", "https://github.com/PySide/Tools.git"],
+        # ["Tools", "master", "https://github.com/PySide/Tools.git"],
     ],
     'stable': [
         ["Apiextractor", "0.10.8", "https://github.com/PySide/Apiextractor.git"],
         ["Generatorrunner", "0.6.14", "https://github.com/PySide/Generatorrunner.git"],
         ["Shiboken", "1.0.9", "https://github.com/PySide/Shiboken.git"],
         ["PySide", "1.0.8", "https://github.com/PySide/PySide.git"],
-        ["Tools", "0.2.13", "https://github.com/PySide/Tools.git"],
+        # ["Tools", "0.2.13", "https://github.com/PySide/Tools.git"],
     ],
 }

Credits