• Stars
    star
    123
  • Rank 290,145 (Top 6 %)
  • Language
    C
  • License
    Other
  • Created over 5 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Reverse Engineering Minesweeper: Reconstruct Minesweeper Source Code

Reversing Minesweeper

Wtf

This project is currently on-going. The purpose of this is to reconstruct the full source code of the original windows xp Minesweeper. (sha256: bcff89311d792f6428468e813ac6929a346a979f907071c302f418d128eaaf41)

I finished reconstructing the full minesweeper source:) The only thing that I don't have time to do is to order variables in one module.. Looking in the assembly code and variable layout it looks like most of the variables were global variables declared in one source file.

The artifacts of the reverse engineering process:

  • Design document explaining the full design and implementation of MineSweeper
  • Full compilable source code of MineSweeper
  • Finding bugs

Most of the process is done using static analysis without using a decompiler. I wanted to read lots of assembly code.

TODO

  • Create documentation
  • Test code
  • Create remote hacking tool

Nt 4.0 Leak

As stated here, The source code of Minesweeper has already been leaked - So we have a peek at the original source back then.

  1. I did not know it was leaked when I started this
  2. I was doing this just for fun and learning so probably I would have done it anyway
  3. This is not the exact version I wanted to reverse engineer

After I finished the project, I compared the source code from my reversing to the leaked source, you can see it's almost identical, so yay.

Minesweeper Game Controller

The purpose of this tool is to allow full control over a remote minesweeper process. Some ideas I had:

  • Create a remote Minesweeper Hacking Tool (in Rust)
    • Configure bombs
    • Configure timer
    • Configure board size beyond the usual limits
    • Configure game state - end game, win game, lose game

More Repositories

1

windbg-cheat-sheet

My personal cheat sheet for using WinDbg for kernel debugging
JavaScript
373
star
2

etw-providers-docs

Document ETW providers
C
203
star
3

autochk-rootkit

Reverse engineered source code of the autochk rootkit
C
195
star
4

apc-research

APC Internals Research Code
C
156
star
5

ida-plugins

A collection of my IDA plugins
Python
131
star
6

shellcode2exe

Batch script to compile a binary shellcode blob into an exe file
Batchfile
79
star
7

windows-inspector

A driver to intercept low level windows events
C
60
star
8

windows-imports-searcher

Support Windows OS Reversing by searching easily for references to functions across many DLLs
Python
34
star
9

snax86

A snake game written in x86 Assembly language for windows console
Assembly
31
star
10

rpcmon

RPC Monitor based on The ETW Microsoft-Windows-Rpc provider
Python
25
star
11

practical-reverse-engineering

Code for the solutions of practical reverse engineering
C
20
star
12

autoit-analysis

AutoIt Analysis Library: Parser & Emulator For Malware Researchers
Python
16
star
13

simple-os

Simple Protected Mode Kernel for i386
C++
15
star
14

auto-makefile

Generic Makefile Template with Automatic Dependency Generation
Makefile
12
star
15

PE

PE.Parser, PE.Dumper, PE.Loader
C++
11
star
16

checkpoint-ctf-2018

Solutions to the challenges of the checkpoint CSA CTF
Python
8
star
17

set-critical-thread

Use NtSetInformationThread(ThreadBreakOnTermination) for anti-debugging
C++
8
star
18

real-kernel

16 bit Real mode operating system kernel
C++
7
star
19

tracelogging-providers

A dump of all the trace logging providers from system32
PowerShell
7
star
20

simple-etw-provider

hello world ETW provider
C
6
star
21

repnz.github.io

The deployed version of my blog
HTML
5
star
22

gamekid

Gameboy Emulation Library
C
5
star
23

supple

Supple way to load dynamic XML configuration files
C#
4
star
24

bluehat-il-2019-slotd

BlueHat IL 2019 vulnerable debugging interface
C
3
star
25

nc8-reversing-ctf

Solution to the NC8 CTF & nc8 instruction set emulation API
Python
2
star
26

pytreecli

A command line library that allows to build a tree structures command line easily
Python
2
star
27

c-streams

Wrapper for custom streams in the C language
C
2
star
28

dotflow

DotNet Actor Model POC library
C#
1
star
29

calculator-driver

Simple calculator windows driver
C
1
star