Когда мы вернулись из
отпуска, сын рассказал, чем он развлекался, пока нас не было. Пытался взломать игрушку, получить от неё больше инвентаря. Игрушка древняя, написанная большей частью на Python 1.5(!). Но в неё есть одна DLL и один выполняемый файл. Юноша сказал, что с Питоном он разобрался сам (что бы это ни значило), а с DLL сделал так.
Он взял какой-то дизассемблер, дизассемблерировал эту DLL, скормил код в бесплатный ChatGPT и стал задавать вопросы — что и где надо "исправить". ChatGPT что-то отвечал, сын взял 16-ричный редактор, влез им в DLL и исправлял, что и где было сказано. Совместными усилиями им удалось довести игру до состояния, когда нужный (или неограниченный) инвентарь появляется при сохранении игры или при загрузке сохранённой. Хотелось бы ещё, чтобы нужный инвентарь появлялся сразу при запуске игры, но с этим они не справились.
Хотя я, честно говоря, не понимаю, как ChatGPT справился и с меньшими задачами.
Upd. Забыл сразу сказать — мой сын не имеет отношения к программированию, ничего не знает про процессоры и системы команд, ничего не понимает в ассемблерах.
X-Post в ЖЖ.