Skip to content
Tech News
← Back to articles

Solving the Jane Street Reverse Engineering Challenge

read original more articles
Why This Matters

This article highlights the complexity and technical challenge of reverse engineering ASICs, showcasing how dedicated engineers can decode custom chips to understand their functions. It underscores the importance of such skills in the tech industry for security, innovation, and competitive advantage, while also illustrating the dedication required for complex problem-solving. For consumers, it emphasizes the behind-the-scenes effort involved in creating high-performance hardware that powers modern devices.

Key Takeaways

Or: Why do I always do things the hard way?

Jane Street periodically puts out challenges, and this one thoroughly nerd-sniped me and sent me down a month-long rabbit hole that I’m only now emerging from. This post is an overview of how I solved it with a combination of hard-headedness and sleep deprivation. It’s going to be decently technical, but in future posts I’ll go over the specifics of each step if people are interested.

For some background I’d recommend looking at the original post on the Jane Street blog here - Can you reverse Engineer an ASIC?

And if you ever want to read the (terrible) code I used for this challenge, you can find it at my github page here

Challenge Accepted

I have an engineering degree rotting away somewhere in my brain, so a lot of the words of the challenge are familiar. The challenge is to take an ASIC and work out what it does. For those unfamiliar, an ‘ASIC’ is an Application-Specific Integrated-Circuit, which is a fancy word for what we’d usually call a ‘Computer Chip’. Firms like Jane Street presumably design these to get extra performance relative to the equipment you can buy from a normal manufacturer.

In any case, the challenge is to take a ‘GDS’ file describing a chip, and work backwards to understand what it does, and then I guess maybe there’s a password in there or something. I didn’t, and still don’t, know what ‘GDS’ stand for.

There’s two parts to the challenge - one is a warmup where you’re given a lot more information (like the actual design of the chip), and the real puzzle where you’re given a firm handshake and a ‘good luck’ as you face the increasing prospect of not sleeping for the next three weeks.

What’s in the files?

For some reason, I like to do things the hard way so rather than doing any research I just started poking around in the files. I can see there’s some familiar words in them like like ‘clk’ (clock), ‘rst’ (reset) and ‘VGND’ (Ground Voltage) and ‘VPWR’ (Power Voltage).

... continue reading