Как получать данные из процесса или как взламывать игры?
==========================================================

 Я не уверен как точно сформулировать вопрос, но мне хотелось бы научиться создавать программы для автоматизации некоторых моментов в играх.   

  

Допустим, есть игра minecraft. Я хочу чтобы при заходе в игру просканировалась поверхность в радиусе 20 блоков, и при нахождении определенного блока персонаж направился к нему. Мне непонятно как вытащить координаты блоков и координаты персонажа в программу.   

  

Я вижу два варианта:  

1) Писать программу которая будет сканировать данные с экрана. Здесь придётся очень много кодить, да и боюсь мне знаний не хватит.  

2) Как либо вытаскивать значения прямиком из оперативной памяти. Это является возможным? Если да, то подскажите в каком направлении копать и что читать. Я предполагаю что 'Cheat Engine' может помочь мне, но я не уверен что мне с ним делать.  

  

По программированию знаком с JS и C# 

> 2) Как либо вытаскивать значения прямиком из оперативной памяти. Это является возможным? Если да, то подскажите в каком направлении копать и что читать. Я предполагаю что 'Cheat Engine' может помочь мне, но я не уверен что мне с ним делать.

  

  

Cheat Engine в принципе поможет, но для этого вам нужно провести реверс инженеринг майнкрафта, чтобы понять как именно в памяти хранятся данные об окружающем мире, координатах вашего персонажа. В этом плане вместо cheat engine используют отладчики, используют различные варианты внедрения в процесс для добавления функций.  

  

Попробуйте для начала написать игру типа крестики нолики, а потом ее самостоятельно взломать.  

Просто посмотреть память и попробовать найти нужные значения может быть и не очень сложно. А вот "автоматизировать", то есть написать бота будет гораздо сложнее.  

  

Ну и да, базовое понимание ассемблера, как процесс хранит данные в памяти - поможет.