Max Thomas is a software engineer with 13 years of experience specializing in reverse engineering, vulnerability research, hardware drivers and embedded systems, currently at NVIDIA and based in Wyoming. He bridges low-level reverse engineering and production driver work, contributing to high-profile open-source projects like the Pokémon Emerald decompilation (pret/pokeemerald) where he unraveled RFU/librfu internals, and switchbrew/libnx where he refined input handling and ELF-to-NRO startup behavior for Nintendo Switch homebrew. Max has a talent for translating assembly and obscure hardware behavior into readable, maintainable C—using techniques like unions for mixed-width packet handling—and for turning vulnerability research into practical driver and tooling improvements. A VR tinkerer and modding-tool author, he pairs curiosity-driven exploit work with pragmatic embedded engineering to ship reliable firmware- and system-level solutions.
13 years of coding experience
6 years of employment as a software developer
Graduated, Graduated at East Career and Technical Academy
Brigham Young University-Idaho
Bachelor's degree, Bachelor's degree at Brigham Young University
Contributions:19 commits, 10 PRs, 5 comments in 3 months
Contributions summary:Max primarily worked on the `libnx` library, focusing on low-level system interactions and services for the Nintendo Switch. Their contributions include implementing and refining features related to input handling (keyboard, mouse, joystick), and network socket management. They also focused on the conversion of ELF files to NRO format and adjustments for the crt0 startup to align with the NRO structure.
Contributions:11 commits, 1 PR, 2 comments in 1 month
Contributions summary:Max focused on decompiling and understanding the code of the Pokémon Emerald game, specifically related to the radio frequency unit (RFU) functionality. Their contributions involved reverse engineering the `librfu` library, breaking it down into smaller functions, and implementing decompiled functions like `STWI_send_CP_EndREQ`, `STWI_send_DisconnectREQ`, and `STWI_send_TestModeREQ`. The user also refactored code for better readability and used a union to differentiate between 8-bit and 32-bit packet operations, demonstrating a deep understanding of the original assembly code and how to structure the decompiled C code.
cppmondecompilationemeraldgameboy-advance
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.