For our October “Community Choice” Project of the Month, the community elected x64dbg, an open-source x64/x32 debugger for windows. Developer Duncan Ogilvie shared some thoughts about the project’s history, purpose, and direction.
SourceForge (SF): Tell me about the x64dbg project please.
Duncan Ogilvie (DO): x64dbg is a user-mode debugger for Windows that focuses on debugging and analyzing executables, for which the source code is not available. A good use case would be debugging malware. Once you load an executable you can step through it, place breakpoints, view the registers, memory, call stack, threads and a lot more.
SF: What made you start this?
DO: Back in 2014 I wanted to debug a 64-bit executable and I didn’t think the debuggers that supported 64-bit (WinDbg, VisualDux) were user-friendly enough. Around the same time I also had to do a final project for secondary school, so I chose to develop it further.
SF: Has the original vision been achieved?
DO: Because I didn’t have much programming experience when starting x64dbg, I also didn’t really set any requirements or create a product vision. My initial idea was to create a 64-bit debugger that had features similar to OllyDbg, but what to develop first was basically dictated by the Tuts4You community and by personal experience of using x64dbg as my day-to-day debugger. The first contributer (Sigma) also helped me out a lot. He designed the GUI and a lot of his code is still being used years after he disappeared.
I actually think this project has exceeded any expectations I had for it and if it wasn’t for the amazing community I’d have probably stopped working on it a long time ago.
SF: Who can benefit the most from your project?
DO: Probably malware researchers and people who like reverse engineering software in general. I also heard reports of people using it to learn about x86 assembler, for game hacking, cracking software and generally I use it to debug the software I develop quite often.
SF: What’s the best way to get the most out of using x64dbg?
DO: The best way to get started is to open up a crackme or something and start debugging it to play around and see what you can do. A basic help is available, but this needs additions to help new users get started.
If you know your way around x64dbg a little, you should take a look at how expressions work. This is described in the introduction of the help and will get you a long way in the more advanced features like conditional breakpoints or tracing. It can also be very helpful to write a plugin or script if you want to automate something.
Don’t be afraid to contact us through Telegram, IRC, Twitter, e-mail or Github if you have questions. Also take a look at compiling x64dbg to help integrate your feature request or fix a bug.
SF: What has your project team done to help build and nurture your community?
DO: One of the things we did is provide community translations through Crowdin. There are very complete translations in Russian, Chinese, Turkish, Korean, Dutch, German, Spanish which helps grow the userbase in those communities.
We also built a bot to synchronize Telegram, IRC and Gitter which allows people to stay on their favorite platform. There is also a blog that is open to everybody to talk about their experience or project with x64dbg.
SF: Have you found that more frequent releases helps build up your community of users?
DO: Unlike a lot of projects there is no real release model for x64dbg. The philosophy is that every commit should compile a stable version and every commit is instantly uploaded to the Github repository. At the end of the day a snapshot is uploaded to SourceForge. In general I believe this helps the project because it makes for a very short feedback loop, but it has the obvious downside that a snapshot can suddenly introduce bugs (which are then quickly discovered and usually fixed the next day). It is really hard to say how this release model affects the amount of users.
SF: How has SourceForge and its tools helped your project reach that success?
DO: SourceForge has gracefully provided hosting for pretty much every snapshot of x64dbg that was ever released. It also provides hosting in almost every country in the world, and all for free, which is amazing!
[ Download x64dbg ]
The post October 2017, “Community Choice” Project of the Month – x64dbg appeared first on SourceForge Community Blog.
[Category: Open Source]