On this day in 1894, the anti-colonial Donghak Peasant Rebellion began with the "Gobu Uprising", where 1,000 peasants stormed the county of Gobu, freeing prisoners, occupying government buildings, and causing the county ruler to flee.
The Donghak Peasant Rebellion was an uprising that took place in late Joseon-era Korea during the 1890s. "Donghak" refers to a religious movement, founded in 1860, which preached for social equality and the uplifting of the peasantry. Choe Jeu was executed by the state in 1864.
Amidst a backdrop of growing foreign influence in Korea (which would eventually lead to colonization by Japan), Donghak peasants rebelled against oppression by feudal rulers. The uprising began in the county of Gobu in Jeolla province, where the magistrate had extorted vast amounts of wealth and forced the peasants to build a reservoir.
On January 10th, 1894, approximately 1,000 peasant rebels gathered at an empty horse ranch, from which they split off into two separate armies where they successfully destroyed three of Gobu's four gates, occupied government offices, and set about destroying prisons and freeing the people held in them.
As rebels successfully defeated government forces, unrest would spread across the country, and the panicked Joseon dynasty called for Chinese Qing dynasty for support. Doing this, however, aggrieved the Japanese government, which was competing with China for influence over Korea.
Japan invaded Korea, occupying Seoul, triggering the First Sino-Japanese War. Following a temporary truce, the peasant rebellion would resume in October, this time directed towards the Japanese occupation.
The Japanese proved successful in defeating the uprising, however, continuing to quell rebels through 1895. Korea would become increasingly absorbed into Japan's sphere of influence before official annexation in 1910.
Megathreads and spaces to hang out:
- ❤️ Come listen to music and Watch movies with your fellow Hexbears nerd, in Cy.tube
- 💖 Come talk in the New Weekly Queer thread
- 💛 Read and talk about a current topics in the News Megathread
- Come talk in the New Weekly PoC thread
- ⭐️ September Movie Nominations ⭐️
reminders:
- 💚 You nerds can join specific comms to see posts about all sorts of topics
- 💙 Hexbear’s algorithm prioritizes comments over upbears
- 💜 Sorting by new you nerd
- 🌈 If you ever want to make your own megathread, you can reserve a spot here nerd
- 🐶 Join the unofficial Hexbear-adjacent Mastodon instance toots.matapacos.dog
Links To Resources (Aid and Theory):
Aid:
Theory:
Not at this exact moment.
The last game I had in mind was Pathologic 1 a few years ago. Disassembling its main
Game.exe
produces a 110 MB file containing 1.8 million lines of assembly code. I should probably start smaller, but it also has to be a game I'm interested in hacking.Attaching a live debugger to the game while it's running is even more intimidating. I can't imagine how I'd ever get to the point where I figure out which CALL instructions are specific to eg. the player entering a new area, or even something more simple like finding the memory address of the player's hitpoints and being able to watch it for code paths where it might be modified.
That seems very large, even for a fully-featured game. How did you disassemble it? It's possible your disassembler was interpreting data embedded in the binary as code.
What I like to do is find human-readable strings related to the functionality I'm interested in. A lot of games contain debugging code or profiling code left over from the development process. Maybe there's even some strings in that game that say something like "Loading %s area" or "Player lost %d hitpoints" or "SetPlayerHP() was called". Then you can see what functions reference those strings and get a sense of what they're doing and what data (like HP) they're manipulating from the strings they reference. Then you can label them (so you remember what they are later and be reminded what they are if you see a reference somewhere else), set a breakpoint on them and step through them, watch them work, see who called that function and what functions they call, etc. Usually a debugger will let you stop execution of the program if it modifies some memory you specify, too! (like an integer containing HP)
Sorry if I'm repeating myself or this is obvious lol.
from the command line:
objconv -fgasm Game.exe
. Some of those lines are embedded binary data but I think that it's just the entire game engine in there.I know about debugging information, some games have it and some don't. I think I just need to get better at using a live debugger.