Поиграл в hydorah. Симпатичная old-school игрушка (правда, занимает 100 мегабайт, но музыка/разнообразные фоны-уровни-боссы оправдывают).
Click to view
Но слишком для меня сложная. Я не в состоянии начинать игру с нуля в двадцатый раз после при попытке пройти первого босса, и в сотый при попытке убить второго босса.
Пропатчил exe-файл, так что бы жизни были бесконечные:
Сама игра:
http://www.gamershell.com/download_59664.shtmlpatched hydorah.exe file:
http://dobrokot.ru/dump/hydorah2.exec:\games\hydorah>fc hydorah.exe hydorah2.exe
Comparing files hydorah.exe and HYDORAH2.EXE
0011FE75: DD 90
0011FE76: 45 90
0011FE77: F0 90
0011FE78: E8 B8
0011FE79: 1B 07
0011FE7A: 2A 00
0011FE7B: EE 00
0011FE7C: FF 00
Как патчил: сначала дизассемблировал тупым objdump, увидел много кода, ничего неясно. Попробовал заскриптовать gdb/WinDbg так, что бы поймать изменение в ячейке памяти содержащей количество жизней. Не вышло, по разным причинам (find в моём cygwin-gdb не работает, зависает в WinDbg при найденном миллионе ячеек, врубаться в язык скриптов gdb/WinDbg не хотелось, неясно можно ли ими пробежаться 100 миллионов ячеек памяти, понятные дампы памяти тоже не получилось сделать ).
Воспользовался специальным игро-трейнером, который заточен на поиск ячеек памяти с известным меняющимся значением (сначала взял Ram Cheat, потом подсказали про более крутой и открытый
Cheat Engine). После выяснения адреса ячейки памяти - уже просто. Поставил hardware breakpoint на запись в эту ячейку, нашёл кусок машинного кода который туда пишет, переписал машинный код что бы он её не менял.
Теперь hydorah казуальный, с бесконечными жизнями :3
Но играть всё равно непросто, но по крайней мере не нужно по сто раз доходить до босса.