Skip to content

Instantly share code, notes, and snippets.

@eschulte
eschulte / asm-diff
Created March 26, 2019 20:10
Use objdump to view the differences between two object files
#!/bin/bash
#
# Usage: asm-diff [options] file1 file2 [-- diff options]
# Return the difference in the objudmp parsing of files
#
# OPTIONS:
# -o,--objdump CMD --- specify objdump command to use
# -j,--section NAME -- section to compare
# (default: .text)
# -c,--clean --------- specify whether to clean addresses
@0xabad1dea
0xabad1dea / weird-machines-video-games.md
Last active December 28, 2021 17:38
Weird Machines in Video Games

Abadidea's Index of Weird Machines in Video Games

A "weird machine" is when user-supplied input is able to create an arbitrary new program running within an existing program due to Turing-completeness being exposed. Sometimes such functionality was deliberately included but it is often the result of exploitation of memory corruption. You can learn more at the langsec site. There is a good argument for weird machines being inherently dangerous, but this index is just for fun.

It is broken into two categories: intentional gameplay features which may be used as weird machines, and exploit-based machines which can be triggered by ordinary player input (tool-assisted for speed and precision is acceptable). Games with the sole purpose of programming (such as Core Wars) are not eligible and plugin APIs don't count. If you know of more, feel free to add a comment to this gist.

Intentional Gameplay Mechanics