2 ms·
I did not actually invent delinking, there was some scant evidence of prior art online before I did my stuff. I did however come up with it independently from f
by boricj 1y ago
I did not actually invent delinking, there was some scant evidence of prior art online before I did my stuff. I did however come up with it independently from first principles.
As for the reinvention part, I was referencing the wheel of video game decompilation specifically. By that point Super Mario 64 was already fully decompiled and several other projects were well underway. The established wheel was matching decompilation (either instruction or byte level) and the community was producing tooling for this sole purpose.
In a sense, I did reinvent the wheel of video game decompilation in stark contrast to everything else that was out there at the time. It just turned out horribly right, because before I knew it I was making chimeras executables made out of bits of programs coming from different platforms.
- geoka9 1y ago> made out of bits of programs coming from different platforms By platforms you mean different binary formats, right? Not CPUs (just making sure I'm not going crazy here :))
- boricj 1y agoYup. I've shoved bits of a PlayStation game inside a Linux MIPS program and I've made a native port of a Linux x86 program to Windows, all without source code, decompiling anything or even fully reverse-engineering said bits. The toolchains happened to agree on calling conventions and structure padding/alignment, so it was mostly a matter of writing shims to glue everything together. I don't have the tooling to meld together incompatible ABIs. I tried once with two really similar ABIs (MIPS PIC and non-PIC) and while I've managed to work around incompatibilities with assembly trampolines, the debugging experience was so poor that I rage quit. Never tried with different CPUs. I'm crazy enough to think it ought to be possible (there's plenty of prior art for most of the needed pieces), but I'm already stuck inside a rabbit hole so deep I can't see the bottom... I'll let someone else investigate that.