Skip to content

Instantly share code, notes, and snippets.

@xarkes
Last active August 28, 2017 14:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xarkes/b617706fbf97ae4523ca924434790e77 to your computer and use it in GitHub Desktop.
Save xarkes/b617706fbf97ae4523ca924434790e77 to your computer and use it in GitHub Desktop.
GSoC '17 Summary: radare2 proper windows platform support

GSoC '17 Summary: radare2 proper windows platform support

image radare2's debugger being debugged inside Visual Studio 2017

Introduction

At first I'd like to thank my mentors Maijin and Xvilka for advising me during this Google Summer of Code. I'd also like to thank Pancake for his help on radare2 understanding. This GSoC was a great experience. I did not manage to finish everything I planned to do, however windows support has been greatly improv ed during this summer. There's a lot of work remaining and we are translating the current testsuite so it can run smoothly on Windows. With this done it will be a lot easier to see what does not work on Windows and fix it.

The commits below are ordered by date in each category.

MSVC Support

This is the major work of this GSoC. Radare2 was already windows compatible through mingw, however a lot of code was not portable to MSVC. This include the use of meson to build radare2 under windows using MSVC. As you can see on the screenshot above, having MSVC is very handy because it makes radare2 being a completely Windows native application, which can be debugged and developed using Visual Studio.

PDB support

PDB support was already in radare2 before this summer, however there is still some work to do to enhance it.

DLL support

We had big discussions on how to implement libraries debugging on radare2. We finally decided to implement library function calling using rarun2, which will allow us later to automatically put a breakpoint on the called function. image

Windbg

Windbg support was broken, so I fixed it, however it is not yet suitable for proper use. The fact is nobody never fully reversed engineered the Windbg protocol. Reversing the protocol was not fitting in this GSoC.

Ar io support

This was not planned in my initial planning, however this is usefull to generate zignatures on .lib files.

Windows installer

Windows users can now use the windows installer which makes it very easy to install. image

Radare2 testsuite

As said above, we are translating the current testsuite so it runs faster on both linux and windows. Here you can find some work I did, and of course some usual regression tests I added.

Documentation

Radare2 release

Random fixes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment