Кто может объяснить как создаётся софт для игр?
=================================================

 Где-то читал, что для того, чтобы создавать ПО для игр...читы, нужно знать C++ и Assembler. Хочу начать, но всё-таки, кто может поверхностно объяснить как всё выполнятся? 

 Поверхностно: вам должны быть в состоянии ответить на следующие вопросы:  

- что такое процесс в ОС;  

- что такое поток и чем отличается от процесса;  

- что такое адресное пространство процесса;  

- как пользоваться системным API в выбранном вами языке программирования.  

Разумеется, общее понимание процесса вычислений на современных машинах должно присутствовать.  
  

После этого можно переходить к более частным проблемам. Процесс изучения языка программирования - вопрос отдельный. 

 Чтобы создавать ПО, нужно уметь программировать.  
  

Чтобы создавать ПО для игр - для начала тоже нужно уметь программировать, ведь игры - это тоже ПО.  
  

Ассемблер не обязательно, но полезно знать принципы и основы.  

С++ не обязательно, но полезно знать основы.  
  

Было бы неплохо знать основы того языка программирования, на котором написана игра, которую вы хотите взломать. 

 Если пользовались ArtMoney или CheatEngine - вот вам и план действий. Ищется уязвимая ячейка памяти процесса(в которой хранится значение денег/хп/маны и т.д) и модифицируется под свои нужды. Как - уже другой вопрос с индивидуальным подходом к каждой программе.   

C/C++/Assembler - ибо это лучшие варианты для работы непосредственно с памятью.  

Опять же, зависит от того, что именно вы хотите делать. Есть просто невинные "трейнера" для оффлайн-игр, есть атака на сервера, есть "крякинг", есть трейнера для онлайн-игр - для всего этого используются совершенно разные подходы и технологии.  

Сейчас защита игр от взлома находится на крайне высоком уровне(та же система Denuvo), так что придется учить до кучи безопасность систем. А это и перехват пакетов, и низкоуровневое программирование, и дата инжекты и еще много чего интересного. Пожалуй, одно из самых сложных направлений программирования, требующего нехилого багажа знаний и практики. 

 Писал комент но вышел пост)))  

> ПО для игр...читы

 -- если говорить о серьезных играх, тогда нужен asm. От этого не уйти ну ни как. Ах да artmoney можно засунуть себе в долгий ящик с устаревшими знаниями, так как уже есть игры на которых artmoney бессилен. И пригоден он только для правки значений в памяти на данной машине в данном сеансе, а если мы хотим написать ЧИТ который работает на всех машинах и даже после перезагрузки игры то увы asm, с++.  

С++ заменяется легко на C#, rust, go, python.... - в зависимости от того какая вам нужна итоговая производительность и нужны ли вставки на асме. Чит можно разбить на несколько программ это уже из области разработки по.  

Общий начальный бэкграунд примерно такой:  

1) петцольд код   

2) карпов основы операционных систем. старая книга но даст общее представление об ос это то что вам нужно. потом иртегов и таненбаум(основы ос и распределенные системы)  

3) курс молодого бойца на ютубе. + курс по wireshark  

4) TCP/IP Illustrated/[тык](https://habrahabr.ru/post/134892/)/ cisco cnna/ учебник олиферов  

\_\_\_\_\_До этого момента была просто теоритическая подготовка\_\_\_\_\_\_  

5) Универсальным выбором по языку будет с++. Поэтому учить нужно его. Здесь рекомендация в пользу курсов на степике. Если в программировании плохи учите с# он легче, намного.  

6) После того как освоитесь с этим учите асм.  

7) Спец литра по реверсингу, крэкингу.  
  

Есть путь проще ищите видосы от gamthacklab на ютубе и учитесь по ним.  
  

>  кто может поверхностно объяснить как всё выполнятся

 - методик и подходов очень много, поверхностное объяснение здесь не катит