Skip to main content

Reverse-Engineering

8BitDo Mechanical Numpad firmware hackability and adventures with USB sniffing
·3423 words·17 mins
Usb Firmware Hardware Reverse-Engineering
8BitDo produces great gaming accessories, including PC peripherals like the Retro 18 Mechanical Numpad. I recently bought one and was intrigued by the possibility of hacking it. Many 8BitDo devices feature firmware upgrades; some offer extensive configuration options, and others hide undisclosed features. I wanted to see whether I could adapt my numpad to emulate the ancient Canon LS-100TKM built-in calculator mode, which was able to send results from the onboard display to the computer as key presses. Ultimately, it proved nearly impossible, so I submitted a feature request to 8BitDo. However, I’ll share my journey, since most online discussions merely noted the challenges of modifying 8BitDo firmware without offering practical guidance.
Down the AtlasCode rabbit hole - debugging Atlassian VS Code extension
·6763 words·32 mins
Vscode Jira Atlassian Npm Javascript Reverse-Engineering
Everyone knows Jira, an Atlassian product where you work with tickets (issues). They have a handy extension to VS Code that (among other things, including Bitbucket support) lets you view tickets inside code editor and have a preview of them, when you hover issue ID in code. However, for quite some time that official extension does not work with managed Jira instances in random places, especially with ticket previews. Stubborn as always, I went on a quest to identify what’s going on and found a plethora of issues in multiple projects; however, the culprits are typical ones - lazy changelog keeping, improper testing, chained bugs and reliance on Open-Source community.