JSLinux rewritten to be human readable, hand deobfuscated and annotated.
Go to file
2011-12-20 20:31:17 -08:00
cpux86-ta.js added readme and added the transformation scripts 2011-12-20 20:31:17 -08:00
cpux86-ta.original.js moved files 2011-12-16 21:38:46 -08:00
index.html added readme and added the transformation scripts 2011-12-20 20:31:17 -08:00
js-change-symbol.el added readme and added the transformation scripts 2011-12-20 20:31:17 -08:00
jslinux.js moved files 2011-12-16 21:38:46 -08:00
linuxstart-20110820.tar.gz more notes 2011-12-17 04:22:50 -08:00
linuxstart.bin moved files 2011-12-16 21:38:46 -08:00
PCEmulator.js moved files 2011-12-16 21:38:46 -08:00
readme.md added readme and added the transformation scripts 2011-12-20 20:31:17 -08:00
reify.js added readme and added the transformation scripts 2011-12-20 20:31:17 -08:00
root.bin moved files 2011-12-16 21:38:46 -08:00
term.js moved files 2011-12-16 21:38:46 -08:00
vmlinux-2.6.20.bin moved files 2011-12-16 21:38:46 -08:00

De-obfuscated JSLinux

I wanted to understand how the amazing JsLinux worked. However, Mr Bellard seems to have applied a decidedly french proclivity towards obfuscatory algorithmic prose, replete with two-letter variable names and the like...

So in order to better understand the code, I started transforming all the symbols, which isn't all that hard a thing to do given that it's been built to imitate a very well-specified piece of hardware.

Stats

It's still absolutely ungainly, but not nearly so ungainly as the original. About a third to a half of the variables/function names have been redescribed.

I highly recommend, by the way, the excellent JSShaper library for transforming large javascript code bases.

Caveat Coder

This is an artistic reinterpretation of Fabrice Bellard's original code. There's no alteration in the acutal algorithmic content. I do make sure that it still runs. I can't guarantee anything else.