I recently took the stage at DEF CON 32 to introduce the cutting-edge field of Mechanistic Interpretability to the reverse engineering community. This fascinating area, which focuses on decoding the inner workings of AI systems, bridges the gap between traditional reverse engineering and the...
Back in my pre-grad school days, I loved competing in security capture the flag (CTF) competitions. I frequently competed with RPISEC and led the Lab RATs team to DEF CON CTF finals before I “retired” to focus on my PhD. I loved the challenge of reverse engineering and exploitation puzzles, but...
Introduction If you use IDAPython a lot, I am sure you started reading its source code or felt the need to add missing functionality. In this article, we will show you how to build IDAPython on Windows. On Linux/macOS, the process is straightforward as per the BUILDING.txt. In this article:...
After gaining root access to the device in the first post of this series, we will have a closer look at the device and its firmware. This post is documenting some internals of the device which is not the most exciting stuff to read. I mainly collected it here for documentation purposes. All...
Introduction A few weeks ago, I proposed an IDA features to improve the CLI and add macros support. After a few email exchanges with Arnaud from Hex-Rays, we could not agree on how to best do it and still accommodate to everyone’s needs. Finally, Arnaud kindly wrote a quick IDAPython script to...
Just a quick post to introduce QScripts. QScripts is a productivity tool that helps IDA users speed up their scripts development. The idea for QScripts sprang from my autox script that I wrote for the Batchography book. With QScripts, you will be able to develop your scripts in your favorite text...
Ghidra has only been released for a short while and the RCE community started adopting it (scripts, tutorials, articles, etc.) really quick. Since Ghidra is free and open-source (coming soon), I expect a torrent of contributions in the form of tools, plugins and scripts. I think it is important...
Introduction BSIDES CTF 2019 was hosted by Google and Facebook in San Francisco during the BSides Conference. Teams from all over the world could compete, but the prizes can only be claimed by teams who have their member(s) present physically in the BSIDES conference. The duration of the event was...
I have been meaning to learn about SMT based program analysis for a long time and recently I started learning about the topic. There are so many frameworks, articles and tutorials out there that I shall explore as time goes by. Since I am still learning, I do not claim that the following material...
Often times, when I stumble upon IDAPython scripts, I notice that they are using inefficient / incorrect IDAPython APIs to disassemble or decode instructions (for instance using idc.GetMnem() or idc.GetDisasm()). Therefore, in this blog post, I am going to illustrate how to use IDA’s instruction...