Old New Things: An examination of the Philips TriMedia architecture
In today’s Intel/AMD and ARM controlled world, it’s always interesting, for a reverse engineer, to find new or uncommon CPU architectures to learn and play with. It’s always a challenge to deal with uncommon/unknown firmware files and weird file formats and try to unravel what’s behind. This allows us to continuously improve and expand our knowledge. If you are willing to learn new stuff, this talk is for you.
In this presentation, by inspecting an IoT device, you will see an examination of the architectural and functional aspects of the Philips TriMedia architecture, an ‘obscure’ CPU that makes you think you are in the darkest corner of the reverse engineering (RE) world. You’ll see some characteristics of the architecture itself and the inner workings of the CPU, its assembly language (instruction set, encoding and decoding), and the toolset available at the moment to work with this architecture.
Also, you’ll learn some general aspects related to the RE methods used to deal with an unknown/uncommon architecture like Philips TriMedia.
The talk will have different points of interest. First, it’s going to be a little explanation about how all this research started. This is not an architecture you can find all over the new devices so I pretend to put you in context.
The second part will talk about the device porting this architecture. I’ll show you, chronologically, all the different things I was trying (tools and methods I used) to do in order to study the camera from a software and hardware perspective.
Finally, the last part of the presentation will talk about the CPU architecture itself. I’ll show you how the CPU is composed, how it works and how the ASM language of this CPU looks like :)