4 ms·
Haxing Minesweeper
- muterad_murilax 9y agoIn case anyone else is wondering, the debugger used is OllyDbg [0]. [0] http://www.ollydbg.de/ http://www.ollydbg.de/
- dmitriid 9y agoIn Win2000 you could read from and write to memory of any app [1]. Which we did for minesweeper. By setting proper values and forcing the window to repaint we implemented a simple snake game. The body of the snake consisted of bombs and "fruit" you had to eat were flags. I don't remember how we captured keyboard input though. [1] If your app had admin rights IIRC
- unrealhoang 9y agoThere were GameHack and ArtMoney, they allow you to track memory address for specific value in game (gold, money, scores...) by input the value before and after changing it, and then allow to change the value at that address.
- dmitriid 9y agoA modern version of these tools is Cheat Engine, which is brilliant: http://www.cheatengine.org http://www.cheatengine.org
- xenophonf 9y agoWatch out for the adware bundled into its installers, though. :(
- Andoryuuta 9y agoYeah. There is a link on the download page to a zip of the files, without an installer (or the installCore adware/bundleware). >"For those that want to have Cheat engine without automated installer and installCore recommendation during installation, click here"
- xenophonf 9y agoTo be honest, that's not really acceptable. We as a community should be pushing back hard against open source developers who want to monetize their work with malware. There are better ways for them to make money from their work than something that's ethically dubious at best.
- CodeArtisan 9y agoI once wrote a tool like that but for gnu+linux. You first have to retrieve the memory mapping of the targeted process by reading /proc/<PID>/maps [1] then use process_vm_read/write[2] [1] http://man7.org/linux/man-pages/man5/proc.5.html http://man7.org/linux/man-pages/man5/proc.5.html [2] http://man7.org/linux/man-pages/man2/process_vm_readv.2.html http://man7.org/linux/man-pages/man2/process_vm_readv.2.html
- gruez 9y ago>[1] If your app had admin rights IIRC only if it's a different user. you can read/write to your own processes without admin
- foxhop 9y agoI remember when my buddy Charles hacked minesweeper for fun and learning. I thought it was so cool. He wrote about it here if you are looking for another reference point: http://www.charleshooper.net/blog/minesweeper-hacking-viewing-process-memory-in-windows/ http://www.charleshooper.net/blog/minesweeper-hacking-viewin...
- Rjevski 9y agoI always thought Minesweeper would compute the minefield dynamically as you played instead of generating a fixed map of the minefield at the beginning of the game.
- monochromatic 9y agoThere’s the possibility of painting yourself into a corner (generating an inconsistent board) if you do it on the fly. It could be done, but it’s probably just simpler to generate it at the outset and then do lookups. edit: unless you just meant that the adjacency numbers could be generated on the fly, in which case painting yourself into a corner isn’t a concern
- rashkov 9y agoThere is one place where it's dynamic, which is that if your very first click is on a mine, then it'll relocate it to the upper-left corner (or the next available spot).
- ATsch 9y agoI'm surprised it's done this way... I'd expect that it just doesn't generate the mines until the first click.
- ronilan 9y agoNice. I once wrote a “clone”[1] and when someone here pointed out the “first click is safe” feature, I implemented it by putting the reshuffle inside a while. Never thought of the first click as being “pre game”... [1] https://www.ronilan.com/bugsweeper/ https://www.ronilan.com/bugsweeper/
- Zarel 9y agoModern versions of Minesweeper actually makes it so nothing _around_ your first click is a mine, so you always reveal more than one square. https://guangcongluo.com/dminer/ https://guangcongluo.com/dminer/ is a version I wrote while trying to teach myself React.
- szemet 9y agoOn Windows XP we still had xyzzy[1]. I had so much fun that time in school, claiming that I had psychic powers of seeing through the minesweeper table... ;) [1] https://en.wikipedia.org/wiki/Xyzzy_(computing)#Other_computer_games_and_media https://en.wikipedia.org/wiki/Xyzzy_(computing)#Other_comput... edit: The article links the original WinXP binary, and the cheat still works, even with wine ( https://www.winehq.org/ https://www.winehq.org/ ) ;)
- dumbcunt 9y agoWhy does OP pretend to be a girl? It's just weird. https://www.instagram.com/p/BeuHAcogZKS/ https://www.instagram.com/p/BeuHAcogZKS/
- franksunjin 9y agoyou can also delete the game physically from your disk