Zero Dereference – Telegram
Zero Dereference
127 subscribers
3 photos
3 files
372 links
Interesting links related to systems programming, hacking, and science.

Contact: @richiefreedom
Download Telegram
A paper exploring security issues related to IOMMU-based protection of memory from malicious DMA access.

https://thunderclap.io/thunderclap-paper-ndss2019.pdf
A home page of the NOVA project. NOVA is a hypervisor that uses Intel VT-x and AMD-V virtualization extensions and has an interface similar to the L4 microkernel API. It is written in a well-structured C++ and is small enough to be observable and clear. There are a few user level environments that support NOVA which include the Genode operating system framework.

http://hypervisor.org/
A style guide used in NASA SEL for code written in ANSI C.

http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf
A paper about a new microarchitectural leakage stemming from the false dependency hazards during speculative load operations. It also includes a denoscription of the corresponding attack called SPOILER.

https://arxiv.org/pdf/1903.00446.pdf
Channel photo updated
There is an excellent course explaining how processors work internally, how the one can write a translator of the assembly language and continue with development of a compiler for the higher-level language.

The authors of the course begin with Boolean logic and basic logic gates, smoothly proceed to the development of large CPU modules and lead to the full-featured processor described in own dialect of a hardware definition language.

Then they go on to design an assembly language for the processor, create a stack based VM, and then develop a compiler for own high-level programming language named JACK.

The final stage — the creation of a simple operating system and a Tetris analogue. That is why the course is called Nand to Tetris.

https://www.nand2tetris.org/course
Today I found an interesting blog by Chris Wellons. The author regularly writes new posts, not limited to any specific topic. He writes about low-level programming in assembly language and C, Emacs customization, functional programming, math, and much more.

https://nullprogram.com/
Nora Sandler's blog with a series on writing a compiler for a small but growing subset of the C programming language. The source code for the NQCC compiler is available on github.

https://norasandler.com/
An open source programming environment for kids with look of the Commodore 64's basic editor. It allows to make simple graphical demos and games in Lua.

https://github.com/antirez/load81
Slides by Xavier Leroy on compiling functional languages.

https://xavierleroy.org/talks/compilation-agay.pdf
Ultralight is an optimized WebKit-based solution for HTML UIs in C++ applications.

https://ultralig.ht/
Tigr — a tiny SDL-like library for simple graphics rendering. Only Mac OS and MS Windows are supported but the library is very small and includes a bitmap font, a simple PNG loader and basic drawing procedures.

https://bitbucket.org/rmitton/tigr/overview
Sourcehut is an open source project management software similar to Github but with very lightweight implementation. I works even if JavaScript is disabled in the browser! Along with such standard features as management of Git repositories and ticket tracking it has tools for continuous integration, task management, documentation (in wikis), etc.

https://sourcehut.org/
An extremely small TCL interpreter written in C.

http://antirez.com/picol/picol.c.txt
The following page contains a denoscription of the PCF file format's internals. PCF is a raster font format used by X Server.

https://fontforge.github.io/en-US/documentation/reference/pcf-format/
I didn't know that, but as a research activity Microsoft developed a verifier for concurrent C programs. They planned to use the verifier (VCC) to prove correctness of Hyper-V.
To verify your program you have to add special annotations describing state assertions, function contracts and type invariants. VCC will generate a set of mathematical statements and try to prove them using an automatic theorem prover.

https://archive.codeplex.com/?p=vcc