scaramanga::l33t pr0jects

Projects

Twenty-odd years of C on Linux, for fun and profit, plus whatever else came along the way. Some of these link straight out to GitHub rather than having a page of their own here yet.

compression

  • bmo — Burrows-Wheeler, move-to-front, Elias omega coding based lossless compression.

databases

  • cola — Cache Oblivious Lookahead Arrays.
  • skunk — A static key/value database format for high-speed data retrieval — build once, query many times, 511 bytes of code to look something up.

electronics

  • primula — A simple circuit simulator.

emulation

  • spu-kit — A SNES SPU (SPC700 sound chip) emulator.

games

  • blackbloc — A toy 3D game engine in OpenGL.
  • funky — An alternative BrettSpielWelt Funkenschlag/PowerGrid client, Python + GTK+3.
  • ircnukes — An online zero-sum game blending strategic thinking and unthinking brutality, set in the current, possibly terminal, era of human existence. Based on the Nuclear War card game.
  • kapital — An online Monopoly-playing bot using eigenvector centrality to estimate steady-state landing probabilities and inform play.
  • libmc — A C library for messing with Minecraft worlds.
  • punani-strike — A Desert Strike clone, in 3D.
  • tbot — An extremely unfair Tetrinet bot that will annihilate any competitor in a (configurably) short span of time. Trash-talk included.
  • wabs — A reverse engineered Worms Armageddon bot.

historical

  • code-fu & historical stuff — Small one-file snippets and programs — prime sieves, a packet sniffer, a password strength checker, and more.

intrusion-detection

  • firestorm — A high-performance, modular network intrusion detection system. Essentially redundant now that Suricata exists.
  • fwmon — Monitors ipchains/iptables output in realtime — logs to a file, stdout, and/or tcpdump-format capture logs, and supports running non-root and chrooted. Linux-only.
  • nads — N.A.D.S. — Normalized Attack Detection System. An HTTP normalization library and Squid ACL helper, from back before projects like this had a natural home on GitHub.

kernel

  • HierOS — "The Hierophant." A legacy-free 64-bit kernel with SMP support.
  • ScaraOS — A 32-bit multiboot OS kernel for IA32 (PC/AT) systems, written to teach myself OS fundamentals and have some fun. PCI support, the beginnings of paged memory management, the start of a VFS layer.
  • uxen — Code at Bromium for efficiently converting physical Windows laptop disk images to VM disk images.
  • xen — Contributor to the libxenlight toolstack.

korean

  • gordon — Vocabulary flash-cards for Korean/English (or any language pair), in GTK.
  • krsite — A Korean language learning website.

networking

  • ashttpd — Fast(er|est) HTTP daemon, originally used as an async-sendfile testbed.
  • chanirc — An experimental IRC client with inline web image display.
  • fwmon — Monitors ipchains/iptables output in realtime — logs to a file, stdout, and/or tcpdump-format capture logs, and supports running non-root and chrooted. Linux-only.
  • LVSmon — A cluster monitoring daemon, originally meant to replace tools like ldirectord and mon for maintaining LVS tables. Secure, reliable, scalable.
  • resynth — A network packet synthesis language.
  • xpdt — eXPeditious Data Transfer.

performance

  • ashttpd — Fast(er|est) HTTP daemon, originally used as an async-sendfile testbed.

programming

  • autober — A language for generating BER decoders. Simpler than a full ASN.1 compiler — it only deals with BER-encoded messages — and aimed at smartcard and RFID applications, where most on-device data is BER-encoded TLV.
  • neostatic — A small Neocities static blog generator — the precursor to the tool this site itself is built with.
  • plinn — Partition Like It's 1999.
  • project-mayhem — A native client for Streamate/webcam mayhem.
  • resynth — A network packet synthesis language.

python

  • minotaur — A pythonic, asynchronous inotify interface.
  • pyelf — A Python wrapper for libelf.
  • pylr — A compiler-compiler for lexers, and LL and LALR grammars, written in Python.

reverse-engineering

  • act.c — Extracts data from Symantec Act! databases; started turning into a GUI called fuct.
  • intrusig.c — Parses IntruShield signatures out of a binary pulled from an appliance disk image.
  • ondawagon — Userland driver for ZTE/Onda 3G USB dongles sold by Vodafone.
  • pyelf — A Python wrapper for libelf.
  • sweet-rev-eng — A graphical decompiler and reverse-engineering toolkit, developing techniques for recovering C source (as close as possible) from machine code.
  • wabs — A reverse engineered Worms Armageddon bot.
  • webschlong.c — Queries Websense servers using WISP.

security

  • nads — N.A.D.S. — Normalized Attack Detection System. An HTTP normalization library and Squid ACL helper, from back before projects like this had a natural home on GitHub.

smartcards

  • acgtools — A driver for the ACG HF MultiISO RFID reader — an OEM RFID reader circuit behind an FTDI USB serial converter, talking ASCII or (carefully) binary. Tools like RFIDIOt already support this device; this went after some of its extended features.
  • ccid-utils — A USB smartcard driver and development platform. Simple synchronous design, multiple slots but one transaction at a time, with a Python interface. Includes a command-line smartcard shell with searchable history.