RSSAmplifier

Blog

boricj’s entropy-increasing blog

Increasing entropy inside the universe.

boricj.netRSS feed ↗10 posts

Latest posts

ghidra-delinker-extension and boricj do ACM CCS 2025

What?

ghidra-delinker-extension is still snowballing out of control, one year later

It’s been a while.

ghidra-delinker-extension is snowballing out of control

As the lack of updates might suggest, I’ve taken a break from my Tenchu: Stealth Assassins reverse-engineering/decompilation project. There’s a bunch of reasons for that and some of them are possibly relevant for whatever readership I have, so I figured I might as well write about them here.

Decompiling Tenchu: Stealth Assassins part 12: when stuffing PlayStation code inside a Linux MIPS process is no longer worth the trouble

Previously in this series of articles, we’ve perfected the art of modifying the code of Tenchu: Stealth Assassins on its native platform as if it was made out of Lego™, thanks to the power of delinking. In this part, I finally went one step too far with my heresy against computer science and I’m forced to backtrack lest I go completely insane. As a cautionary tale, I’ll document here the dangers…

Decompiling Tenchu: Stealth Assassins part 11: a modding framework powered by the tears of CS101 teachers

Previously in this series of articles, I’ve provided a potpourri-style update on this project due to a lack of demonstrable progress. Since then, the wretched demon of optimizing MIPS assemblers vacuuming up copies of instructions with HI16 relocations inside branch delay slots has been tamed, so we’re back on our irregularly-scheduled program.

Decompiling Tenchu: Stealth Assassins part 10: potpourri status update

Previously in this series of articles, we’ve completed the rescue of the debugging data that was nearly lost to the mists of time onto a more tangible vessel. A bunch of stuff happened since then, but nothing worthy of an article by itself, so I guess I’m going for a potpourri status update now.

Decompiling Tenchu: Stealth Assassins part 9: rescue the debugging data

Previously in this series of articles, we’ve discovered that the debugging symbols file PSX.SYM doesn’t match the PSX.EXE artifact we have on hand. Undaunted, we’ve created a placeholder program PSX.SYM.elf that matches the layout of PSX.SYM and then loaded the debug data on top of it inside Ghidra. In this part, we’ll complete the rescue of the debugging data by migrating it to PSX.EXE, a…

Decompiling Tenchu: Stealth Assassins part 8: make-believe executable for PSX.SYM

Previously in this series of articles, we’ve analyzed some leftovers hidden inside the AFS archive of the demo version of Tenchu. This time, we’ll continue with the main course: PSX.EXE and PSX.SYM, an early build of Tenchu’s main executable with its accompanying debugging information file.

Decompiling Tenchu: Stealth Assassins part 7: the AFSMAKE.EXE side-quest

Previously in this series of articles, we’ve messed with the archive code of Tenchu and uncovered some juicy leftovers in the earliest versions of the game. This time, we’ll lay off the dark magic for a bit and take a look at one of these artifacts: AFSMAKE.EXE, presumably used to create the proprietary AFS archive files for this game.

Decompiling Tenchu: Stealth Assassins part 6: archive adventures

Previously in this series of articles, we’ve started to tear apart the game, beginning with the memory allocator. This time, we’ll take a look at another piece of the puzzle, the code responsible for the data archive.