How to decompile a DSP architecture (gpn24)

How to decompile a DSP architecture (gpn24)

Author: CCC media team June 5, 2026 Duration: 59:24
About a year ago, a friend gave me a binary to reverse engineer to playtest for a CTF. As the architecture lacked the necessary tooling, I started developing a decompiler plugin. What started as a small side project for learning, has been a part of my life over the last year. The project grew as my understanding of the architecture deepened, and it took several API updates to finally work. Join me on a journey into the rabbit hole of architecture features and how the decompiler works. This talk will discuss the TMS320C6x Digital Signal Processor (DSP) family and use Binary Ninja as the decompiler. Decompilers take a compiled executable and aim to recover higher-level structures close to the original source code. As the name implies, they try to reverse the work of a compiler. This process is structured into many analysis steps of which most are independent of the architecture. However, a decompiler needs to support an architecture to get the required information for its analysis. Using a decompilers API, an architecture plugin can extend this support to any architecture (in theory). In this talk, I will share my experiences from building such a plugin, and talk about occurring problems and solutions. You will learn the core tasks of an architecture plugin and how to fulfill them. The talk will discuss the TMS320C6x architecture family from high-level overview to opcode details. Both parts are combined to arrive at a plugin that can handle DSP architecture features. Along the way, we will discover limitations of APIs, compiler quirks and specification errors. The talk uses Binary Ninja and its API. Some parts are specific to this tool, many concepts (and sadly problems) apply to other decompilers as well. Licensed to the public under https://creativecommons.org/licenses/by/4.0/ about this event: https://cfp.gulas.ch/gpn24/talk/ALPR3D/

Tune into the Chaos Computer Club-recent events feed for a direct line to the forefront of digital culture and critical technology discourse. Curated by the CCC media team, this podcast channels the raw, insightful atmosphere of Europe's most influential hacker association, bringing you recordings from their major gatherings and community events. Each episode is a deep dive into talks and presentations from the last two years, covering topics from cryptography and privacy rights to hardware hacking, societal impacts of surveillance, and open-source philosophy. You'll hear from researchers, activists, and engineers who are actively shaping our digital future, offering perspectives rarely found in mainstream tech conversations. This isn't a produced show with hosts; it's an archival audio stream of genuine conference sessions, complete with audience questions and the spontaneous energy of the live event. For anyone interested in the technical details and ethical debates at the heart of modern technology, this feed serves as an essential, unfiltered resource. Subscribe to this podcast to keep your finger on the pulse of the Chaos Computer Club's ongoing dialogue, where complex ideas are broken down and the tools for a more empowered digital life are openly discussed.
Author: Episodes: 100

Chaos Computer Club - recent events feed
Podcast Episodes
Infrastructure Review & Closing (gpn24) [not-audio_url] [/not-audio_url]

Duration: 1:16:35
Große Zahlen und ganz viel WOW Licensed to the public under https://creativecommons.org/licenses/by/4.0/ about this event: https://cfp.gulas.ch/gpn24/talk/MTP7YB/
WAF: Wrong Approach Firewall (gpn24) [not-audio_url] [/not-audio_url]

Duration: 1:01:42
Web Application Firewalls (WAFs) for filtering based on HTTP and payload are omnipresent. In this talk an argument will be made that, in many cases, the wrong approach for implementing WAFs is chosen: They are implemente…
Building video games with 20 year old tech (gpn24) [not-audio_url] [/not-audio_url]

Duration: 19:10
The market is full of high-performance graphics APIs like Vulkan and fantastic engines like Unreal and Unity. So, why not use DirectX 9 and a self-built engine instead? ;) In this talk we'll take a quick stroll down memo…
Three Languages, Triple the Confusion (gpn24) [not-audio_url] [/not-audio_url]

Duration: 20:21
This code runs without errors, but still confuses. In this talk, we explore some subtle quirks of C, Python, and Java (and others) that catch even experienced developers off guard. No bugs, no typos - just the language d…
MMO-CHIP: From Microscope to Verilog in an hour (gpn24) [not-audio_url] [/not-audio_url]

Duration: 58:45
Reverse engineering old custom chips from microscope pictures is cool, but oh so painfully slow! Last time I did this (talk at 38C3), I spent two weeks waking up, annotating wires in Inkscape, going to bed, and then drea…
DI.Days as Anarchist Practice/Anarchist Practices for DI.Days (gpn24) [not-audio_url] [/not-audio_url]

Duration: 44:54
Digital Independence Days are a response to the growing monopolization of technology and the recent loss of trust in US-based tech firms after the USA's shift towards authoritarianism. The (communicated) goal is to prote…