this post was submitted on 21 Mar 2025
1 points (100.0% liked)

Hardware Hacking

179 readers
1 users here now

Bend electronic devices to your will! This is a place to discuss all things electronics, hardware security, modifying devices, and circuit bending. Rules:

  1. Be excellent to each other
  2. Party on, dudes
  3. Please check for duplicates before posting
  4. Proceed at your own risk- we are not responsible for any damage or legal trouble from what you learn here. Use proper safety precautions when working with electricity, power tools, and solder.

founded 2 years ago
MODERATORS
 

This is going to be big. It might reshape vintage gaming. From the guy with a repo on reverse engineering a gameboy ROM from a photo of the die.

Howdy y'all,

These days, the world has many excellent disassemblers, but when writing assembly in a weird languages, many of us just fall back to handwriting bytes in Nasm or painfully adjusting to yet another macro assembler. GoodASM is my attempt to fix that.

This assembler is very easy to retarget by extending C++ class and calling a few functions. You pretty much just define the endianness and byte size, then copy the instruction definitions almost verbatim from the programmer's guide.

Defining a new target is completely symmetric. While assembly is the primary purpose of this tool, a disassembler is also produced. An example for each instruction automatically becomes a unit test, insuring that you don't accidentally fat-finger a bitfield or two.

When writing assembly, particularly shellcode, you often have questions that a calculator should answer. What are all the instruction that begin with ro in this language? What are all of the potential forms of the jmp instruction? Does ror a assemble to ASCII? An interactive REPL mode answers these in a jiffy, with tab completion.

If you like this program, please buy my book on Microcontroller Exploits for yourself or for a clever student.

--Travis

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here