pinkflawd GitHub avatar

MIPSReverseEngineeringWorkshop

pinkflawd

A workshop repository providing slide deck, lab exercises, and a real MIPS-32 malware sample (AcidRain) for learning MIPS reverse engineering, including a Binary Ninja database with recovered LIBC symbols.

Stars

25

7-day growth

No data

Forks

5

Open issues

0

License

No data

Last updated

2026-06-27

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It offers a rare hands-on experience with a real MIPS malware sample, complete with a prebuilt Binary Ninja project and structured challenges, making cross-architecture RE education practical and engaging.

Who it is for

  • Reverse engineers wanting to expand beyond x86-64 and ARM
  • Security researchers and malware analysts
  • CTF participants seeking new architecture skills
  • Students in software security or low-level programming courses

Use cases

  • Learning MIPS instruction set and calling conventions from scratch with a real-world example
  • Practicing recovery of stripped libc functions using Binary Ninja
  • Analyzing daemonization and wiping code flow in MIPS malware
  • Transferring existing reverse engineering knowledge to an obscure architecture

Strengths

  • Comes with a complete workshop structure (slides, lab, solution discussion) for self-study or teaching
  • Includes a real malware sample (AcidRain) for authentic analysis
  • Provides a Binary Ninja .bndb with pre-recovered libc function names, saving initial setup time
  • Emphasizes transferable concepts from x86-64/ARM to MIPS, reducing the learning curve

Considerations

  • Sample is actual malware; antivirus will delete it if unpacked on a protected host, requiring careful handling
  • Prerequisite knowledge of x86-64 or ARM reverse engineering is assumed, limiting absolute beginners
  • Focuses only on MIPS-32 and a single malware family, so broader MIPS knowledge may need additional resources

README quick start

MIPS Reverse Engineering Workshop at Recon 2026

You'll find the class slide deck, the lab exercise and the sample here, accompanied by a Binary Ninja .bndb with recovered LIBC library function names. The sample is encrypted, the password is 'infected'. Do not unpack this on a host thats running an AV, your AV will delete it. Do not worry about this malware infecting anything, if you're not trying to analyze it on your Playstation2, you should be fine. And Playstation2 doesn't even have the right MIPS version, duh.

Sales Pitch :)

Curious about expanding your reverse engineering skills to another architecture? Lets go learn MIPS! Both x86-64 and ARM reverse engineering knowledge transfer really well to MIPS, and with some basics and an instruction cheat sheet we're on our way in no time. We'll analyze AcidRain, a piece of MIPS-32 malware, a Russian wiper malware none the less. The sample is stripped, and we'll learn how to quickly recover essential libc functions, to then reconstruct the malware's code flow.

Outline

Workshop outline (45 min lecture / 45 min lab / 30 min discussion of solutions):

  • MIPS architecture 101 and a brief history
  • The MIPS pipeline
  • Delay slots
  • Instruction categories
  • MIPS registers and their purpose
  • The MIPS stack
  • The O32 calling convention
  • Syscall calling convention and numbering
  • Function prologues/epilogues
  • Other MIPS architectures and their calling conventions, briefly
  • Hands on: AcidRain -- Challenge 1: Understand daemonization -- Challenge 2: Reconstruct wiping code flow

A lot of us are stuck on one architecture, and its not actually that hard learning another one, since we don't need to learn from scratch but can easily transfer understanding of one architecture to another. This workshop will show how, with the example of MIPS, assuming that many students are not familiar with this somewhat obscure architecture. That, while the basics of MIPS are actually rather simple, especially AcidWiper is quite easy to read once the basics are understood.

Description

Materials for my MIPS workshop at Recon 2026

Related repositories

Similar projects matched by category, topics, and programming language.

MoonshotAI
Featured
MoonshotAI GitHub avatar

Kimi-K3

Kimi K3 is an open-weight, 2.8T-parameter native multimodal agentic model with a 1M-token context window, designed for frontier coding, knowledge work, and reasoning tasks.

AI & Machine LearningAI Agents
3,348
xuchonglang
Featured
xuchonglang GitHub avatar

investing-for-beginners

A structured investing guide for Chinese beginners covering US stocks, options, and cryptocurrency, with focus on foundational concepts and risk awareness.

Blockchain & Web3
2,739
Krishnagangwal
Featured
Krishnagangwal GitHub avatar

CS-Fundamentals

A curated collection of Computer Science fundamentals (PDFs, notes, cheatsheets, interview question banks) for placement preparation, covering seven core subjects plus general resources.

Data & DatabasesDatabases & Storage
2,326