TPythonOS

Judge Raptor
2 min readOct 19, 2019

--

TPython now supports IncludeOS, allowing you to make more secure bootable images that run directly in a VM (like Qemu) or directly on hardware. IncludeOS images are immutable and easy to checksum verify, so you can deploy them to the cloud with minimal maintenance or worry of your micro-server being tampered with; unlike Linux, where an attacker can do serious hard-to-detect-damage if they penetrate your network.

IncludeOS also supports VGA graphics, which is very educational because there are basically no abstraction layers, like with SDL or a game engine. With IncludeOS you directly draw to the frame buffer. Below is an example how to draw graphics per-pixel and animate the color pallet.

TPython rewritten in Pythonic++

TPython was until now written in C++, which is not ideal for understanding or extending if you do not know C++, and prefer Python. Yesterday, TPython was 100% rewritten in Pythonic++, our own dialect of C++ that is a subset of Python mixed with C++. The new files in the git repo end with .pyc++ or .pyh

Extra Security

If you want to make it harder to reverse engineer your compiled binary, you can now use the option --secure which will scramble the interpreter codes, and obfuscate the interpreter function names. In the future this will enable more scrambling features. To provide extra security to WASM builds, you should wrap the building process with your own on-demand build server, which can uniquely scramble each WASM binary, it only takes about 30 seconds to rebuild the entire interpreter with your embedded script. This forces attackers to use a debugger like gdb, and manually step through the program, instead of using simple automated attacks.

--

--