Перейти к содержанию

Введенеию в программирование новичку


Рекомендуемые сообщения

Всем привет. тема взлома игр все больше и больше втягивает меня, началось все с простого написания трейнера.

Сознаюсь, познания мои в этом деле весьма скудны - я пользуюсь языками среднего уровня и выше типа c#, немного знаю c++

Ассемблер и тд просто наотрез не понимаю. С чего следует начать системное обучение, чтобы не гов**кодить и не писать костыли.

Какой ассемблер учить и какие существуют вообще, в чем их отличия? Какой материал поможет мне в этой теме?

Напишите, пожалуйста, развернуто - с чего вы начинали и какие есть фичи в этом деле. Интересует тема более глобально как написание ботов, хуков, автоасм и тд. Чтобы не быть подснежником и учить все систематично. Заранее большое спасибо за развернутый ответ:wub:

Ссылка на комментарий
Поделиться на другие сайты

Начать стоит с английского. На русском мало литературы по взломам и геймхакингу. Тут все индивидуально для каждого, и чтобы не тратить время, лучше подумать, чем хочешь заниматься. Я например, начал с C++ и Python их мне достаточно для решения всех задач. Начинал с обычных читов для игр, а потом как-то затянуло в Reverse-engeneering наверное из-за лени, и потому что это интересно для меня, (например решать keygenme), чтобы не писать лишнего кода, а использовать тот который написали разработчики с небольшими модификациями:-D.

Ссылка на комментарий
Поделиться на другие сайты

На C++ ассемблерные вставки есть которые можно использовать как AA скрипты в CE при инжекте вроде бы это называется Mid Hook Function, но обычно достаточно хука функций и манипуляций с памятью.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Trix сказал:

С чего следует начать системное обучение, чтобы не гов**кодить и не писать костыли.

справки/примеров fasm/nasm должно хватить. на оф сайтах найдешь остальное... тут также есть "уроки", правда редкие годятся для создания чего то МОЩНОГО

 

3 часа назад, Trix сказал:

Какой ассемблер учить и какие существуют вообще, в чем их отличия? Какой материал поможет мне в этой теме?

лучшие fasm/nasm. их дофига, некоторые больше чем на хелловорд не годятся :D

fasm - х32 модуль, не нужен линкер, не нужен билдер ресурсов, имеет минмум среду для кодинга под винду, также имеет кучу макросов которые помогают нубам и уменьшают количество строк кода в исходнике, иногда макросы мешают и создают невероятный бредокод lulz
nasm - х32/х64 модуль, нужен линкер, нужен билдер ресурсов, нужен редактор, в стиле "сделай все сам", поддерживает выравнивание в структурах, подходит для кодинга сложных шеллкодов, в х32 можно юзать регистр ebp (в fasm он забит стек фреймом), генерит код именно так как написал

материал любой где есть примеры х32/х64 вида. также тебе может понадобится С компиль для получения некой инфы из инклудов - подойдет mingw64. хотя в большинстве случаев хватает msdn...

конечно можно забить и кодить какой то хлам на С, как было сказано выше, кулстори в стиле что круче для кодинга тренеров С или asm всегда ржач lulz

 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

gmz, как всегда, в своем репертуаре ) На самом деле, все достаточно просто. На Си и СиПэПэ можно кодить трейнеры и вполне себе графически красивые демосцены. Для глубокого копания в коде игр без знаний ассемблера х86 не обойтись ну никак вообще. Ибо редко когда можно получить исходники игры хотя бы в виде СДК. Также не лишним будет чтение книги Криса Касперски "Дизассемблирование в уме", чтобы понимать, как именно формируются инстрцукции ассемблера х86, и для чего нужна балансировка опкодов при патчинге памяти (или файла). Для хорошего программирования также не будут лишними талмуды Дональда Кнута (трехтомник, если мне не изменяет память). Ну и да, для более глубокого понимания кода игра таки надо кодить что-то свое на ассемблере (тут gmz абсолютно прав - fasm для новичка - самое оно).

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, Xipho сказал:

На самом деле, все достаточно просто. На Си и СиПэПэ можно кодить трейнеры и вполне себе графически красивые демосцены.

дк если пишешь "трейнер" который не dll/exe а кусок кода? недавно писал такой в х64 виде. у него есть окно, он коректно сам себя освобождает из памяти если нажать Х +код пакован до инжекта. а С что? макс dll +какой то лоадер +куча движухи.. короче не то.

 

Ссылка на комментарий
Поделиться на другие сайты

Автор, привет! Когда-то давно я вполне успешно начал изучать ассемблер с "рассылки Калашникова" и "дневников чайника" aka bitfry-я на сайте exelab. Если коротко и очень округлить, то ассемблеры друг от друга отличаются синтаксисом. Удивительно, но факт: язык ассемблера - по сути, словесное написание ровно тех операций, которые может совершить процессор. Проблема в том, что процессоров много, они разные, соответственно - ассемблеров тоже много и разных, но в современном мире можно об этом особенно сильно не заморачиваться. Скажем, есть микроконтроллеры - маленькие такие компьютеры, представляющие из себя один-единственный чип, со своей памятью, в которую загружена программа. Вот у каждого такого чипа - свои возможности, следовательно, свой собственный набор команд. Еще очень советую на данном этапе не заморачиваться идеями написания ботов или чего-то сложного, потому что этот процесс обречен затянуться на бесконечно долгий срок, а просто взять конкретную игру и поставить в ней конкретную цель - сделать что-то, что в игре сделать нельзя. Например, я так в одной игре сделал самонаводящиеся патроны, хотя она этого не позволяла изначально. И да, без английского - никуда.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.