profile
Hi! I'm 0x2a(wcampbell0x2a); Rust Software Engineer / Reverse Engineer

/> I'm a a computer enthusiast who enjoys writing, reversing, and designing low-level systems software and infrastructure. You can find me in the following places:
+ github
+ mastodon
+ twitter
+ crates.io

> deku projects

I co-maintain the deku project, which provides Rust Programming Lanuage declarative binary reading and writing: bit-level, symmetric, serialization/deserialization. This has nerd-sniped me into writing a bunch of libraries at work and in the public-domain using this library.
$ cargo add deku

backhand

Library and binaries for the reading, creating, and modification of SquashFS file systems
$ cargo add backhand $ cargo install backhand-cli

income

Library and binaries for the reading of UBI images
$ cargo add income

librarium

Library and binaries for the reading, creating, and modification of cpio archives
$ cargo add librarium $ cargo install librarium-cli

asterix-rs

Library for the parsing and generating of ASTERIX packets
$ cargo add asterix

KubOS-Preservation-Group/ccsds-spacepacket

Implementation of the CCSDS Space Packet Primary Header in Rust
$ cargo add ccsds-spacepacket

adsb_deku

See below
$ cargo add adsb_deku

bintex

Create bytefield latex digrams with the use of rust proc-macros and deku
$ cargo add bintex
>> unpublished/research only ! xz-deku - Library for reading XZ compression headers ! f12022-deku - Library for the parsing of PC f1 2022 UDP telemetry packets + tui ! rusty-chips - CHIP-8 emulator

> rsadsb

Rust software suite for ADS-B demodulation, decoding, and processing. + homepage - Announcements, Overview, Blog, and Quick Start guide. See quickstart for more details and installation steps.

adsb_deku

Library and binaries for the parsing and generation of ADS-B packets and display of information
# Use as a library $ cargo add adsb_deku # Install TUI $ cargo install --git https://github.com/rsadsb/adsb_deku rsadsb_apps --bin radar --locked

spotter

Rust ADS-B web server providing current information in JSON

dump1090_rs

Multi-SDR supported Rust translation of the popular dump1090 project for ADS-B demodulation

rsadsb-embedded

Experimental applications using the no_std feature of rsadsb/adsb_deku

FutureSDR

An Async SDR Runtime for Heterogeneous Architectures using my library >> In the news + rtl-sdr.com rsadsb v0.5.0 release + A Video on Radar-TUI: A Terminal User Interface Based ADS-B Display + rsadsb: Terminal Based Aircraft Radar on the Raspberry Pi >> unpublished/research only ! elons-jets-rs - Notify when one of Elon Musk's jets flyover your own ADS-B receiver

> other projects

heretek

Yet Another GDB Frontend
  • No gdbserver requirements: Many vendors ship invalid `gdbserver` binaries, this works on remote targets with just `gdb`, `nc`, `cat`, and `mkfifo`.
  • No python requirements: Many vendors ship `gdb` without python support.
  • Architecture agnostic: `heretek` only uses information given by `gdb`, no extra code required!
$ cargo install heretek --locked

zerus

Lightweight binary to download only project required crates for offline crates.io mirror
$ cargo install zerus --locked

test-assets-ureq

Download test assets with ureq, managing them outside of git
$ cargo add test-assets-ureq

kokiri

Test revisions of crates again other revisions of crates
$ cargo install kokiri --locked

aftermath

Find-and-replace, commit, check, and push new changes to CI files for multiple projects
$ cargo install aftermath-bin --locked

statusbar

dwm statusbar, now in Rust!
$ cargo install statusbar --locked

assert_hex

Rust library to display assert panics in hexadecimal format
$ cargo add assert_hex

dbg_hex

Display dbg result in hexadecimal {:#x?} format
$ cargo add dbg_hex

privacy-log

rust-lang/log, but without file and line information
$ cargo add privacy-log

no-std-io2

rust-lang/log, but without file and line information
$ cargo add no-std-io2
>> unpublished/research only ! dotfiles - My linux dotfiles ! sorensen - Cursed Compression Algorithm ! cargo-decompile - [!] A cargo subcommand that displays ghidra function output through the use of the {rizin, radare2}-ghidra ! freestanding - Small freestanding ARM binary calling function already in memory ! karkinOS - Hobby OS and bootloader ! saleae-rs - rust library for interacting with saleae devices ! usb-notify - (C) USB device insert notifications using the linux udev,uevent and libnotify ! mint-cli - (Python) Display account net worth and current monthly budget in your terminal. Uses the python-mintapi

> contributed

+ rust-lang/rust - A language empowering everyone to build reliable and efficient software + panamax-rs/pamanax - Mirror rustup and crates.io repositories, for offline Rust and cargo usage + Rust-For-Linux/linux - Adding support for the Rust language to the Linux kernel / linux kernel mailing list + genonullfree/teleporter - Simple application for sending files from Point A to Point B + ferrilab/bitvec - Crate for managing memory bit by bit + kevinmehall/rust-soapysdr - Rust bindings for SoapySDR, vendor-neutral software defined radio hardware abstraction layer and many others...

> ctfs

+ hackasat - solution for i_see_stars hackasat DEF CON 2020 CTF + dc30-badge-keygen - DEF CON 30 badge keygen

> github organizations

+ rsadsb + pamanax-rs + deku + AeroRust