MasterGH Опубликовано 31 июля, 2010 Поделиться Опубликовано 31 июля, 2010 Очень компактный справочник - сайт по языку программирования С++ - ссылкаКому надо, то учите С++ в первую очередь по ключевым словам. Ключевые слова и их приминение знать как таблицу умножения 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Namynnuz Опубликовано 8 ноября, 2010 Поделиться Опубликовано 8 ноября, 2010 Хотите знать C++? Читайте "Бьерн Страуструп. Язык программирования С++".Справочники - это все здорово, но без теории очень сложно что-либо понимать. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 8 ноября, 2010 Автор Поделиться Опубликовано 8 ноября, 2010 Правильно, Страуструпа нужно обязательно прочитать, тем кто не читал (даже тем кто читал Шилдта). Так же замечу, что хорошо бы понимать новую Visual Studio для C++: ее возможности, типы проектов которые можно, нужно или не нужно создавать... Для этого нужны книги по новее датируемые выше 2008 года. В частности нужны ещё книги (статьи или информация) как писать совместно с WinAPI от создания простых окон, работы с файлами до сложных задач. Классикой в последнем случае будет книга Рихтера (Windows для профессионалов). Также не забыть про архитектуру Windows (она есть у того же Рихтера и в некоторых книгах + в хелпах DDK: "Kernel-Mode Driver Architecture" и т.п. ). Также не забыть про ассемблер, который можно делать как вставками в VS C++ коде.И многое многое другое (программирование COM (DirectX, opneGL), PE формат (статьи в Wasm-а), работа с дизассемблирами и отладчиками (так же с Wasma и др. сайтов)). Короче знать надо все, всё от устройств, контроллеров и драйверов от которых зависит запуск игры... до процессов и механизмов позволяющие играть в эту игру. Только узнав всё это на полную катушку можно заниматься геймхакингом. Основные направления всё же это: 1) очень хорошие навыки дизассемблирования и отладки + такие же знания того как работают "механизмы" Windows2) создание инъекций кода путём ассемблера и языка программирования3) создание трейнеров как отдельных программ так и встроенных в саму игру (в том числе и интерфейс трейнера должен быть прямо в окне игры)4) остальное по мелочам и в зависимости от целей.По С++ советую изучить указатели на адреса и функции, структуры, множества, классы (функции), операция привидения. Это поможет понять суть того как например вам в вашем трейнере работать с адресом здоровья и как игра с этим адресом работает через множество структур и классов и массивов данных. Позже изучить как выглядит при отладке инкапсуляция, наследование, полиморфизм и множественное виртуальное наследование. Т.е. надо понять как увидеть связь данных и функций привязанных к классу. Увидеть таблицу виртуальных методов, таблицу базовых классов (при множественном наследовании). Увидеть как в дизассемблере происходит привидение чего-то к какому-то типу: динамик касты, статик касты. Как работают конструкторы и деструкторы в отладке. Должны научиться видеть границы функции в дизассемблере, видеть и "догадываться" как используется эта функция например работающая со здоровьем: она используется одним объектом (вашим героем), множествами объектов (вашим героем и врагами) или эта функция настолько полиморфна, что используется не только для здоровья вашего героя и врагов, но ещё и для адреса патронов, усталости и маны также для вашего героя и врагов. Или же только для вашего героя или же только для ваших врагов... Все перечисленное мне кажется должен уметь каждый, т.к. это базовые моменты при создании ин]екции кода. Остальное например может быть таким. Если вам интересно собирать статистику о том что происходит в игре и как вы на эту игру влияете вот тут-то очень даже пригодятся знания языка программирования. Возможно это вам поможет автоматизировать некоторые процессы (я имею ввиду для сингловых игр, а не для многопользовательских)...Другие моменты касаются создания трейнера. В интернете можно найти уже "вылизанные" функции поиска процесса и "механизмы" чтения, записи в адрес, снятие протекции со страницы памяти если в неё нельзя записывать байты. Создание окна на Win API тоже есть. Всё это очень просто.Есть вещи посложнее, которые если и есть, то найти сложно. Создание directx, OpneGL трейнеров встроенных в окно игры, чтение/эмуляция нажатий клавиш на уровне ближе к устройствам ввода/вывода. Собрание, анализировании часто повторяющихся, связанных или не связанных данных того как вы играете с последующей автоматизацией. Ссылка на комментарий Поделиться на другие сайты Поделиться
Namynnuz Опубликовано 8 ноября, 2010 Поделиться Опубликовано 8 ноября, 2010 Ну Visual Studio это все-таки уже явное определение платформы (в основном из-за встроенных MS-классов-велосипедов), а Страуструп - это все ж теория голого С++ в общем виде. Конечно, сайт тематический, геймхакинг, что уже определяет платформу (это как в том анекдоте про PC и Mac)..Тем не менее, для написания трейнера вполне хватит и WinAPI (в Рихтера, к слову, пару раз заглядывал, но там мне не понравился слог). И, мм.. Как таковых COM-объектов в Dx и Opngl с гулькин нос. Буквально, полторы функции. Да и зачем там это? Динамических библиотек в %windir% и корне достаточно за глаза, чтобы их еще и регистрировать в виде компонентов. А вот дизассемблирование прог, написанных на классах - это реально интересно Вчера наткнулся, заинтересовало.Я, собсно, че к вам заглянул-то Хочется порыться в ресурсах игр, для этого стоит познакомиться с WinAsm'ом, а то у нас только и было что один семестр по микроконтроллерам (то есть специфический, не под 8086), с кривой методичкой; там, помнится, даже сегменты были только общего назначения, а-ля DOS. Хотя могу ошибаться, нам явно не все начитали Надеюсь, в такой вот обстановке радости и веселья, по пути почитывая cracklab, приду к тому, к чему стремлюсь У вас тут как вообще, общение в вольном стиле изложения? То бишь, злостных тем, где выкладываются исключительно ссылки с шаблонными сообщениями, не наблюдается? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 ноября, 2010 Поделиться Опубликовано 8 ноября, 2010 С общением у нас тут все в порядке, если ты готов развиваться сам и помогать своими знаниями другим ) Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 9 ноября, 2010 Автор Поделиться Опубликовано 9 ноября, 2010 Ну Visual Studio это все-таки уже явное определение платформы (в основном из-за встроенных MS-классов-велосипедов), а Страуструп - это все ж теория голого С++ в общем виде. Конечно, сайт тематический, геймхакинг, что уже определяет платформу (это как в том анекдоте про PC и Mac)..Я пишу на VS в том числе и наработки для будущих трейнеров основываясь не таком малом и не правильном описании причин, которое ты привел. Да и под платформой принято понимать другое, а под средой разработки понимать не платформу как таковую.Тем не менее, для написания трейнера вполне хватит и WinAPI (в Рихтера, к слову, пару раз заглядывал, но там мне не понравился слог).И, мм.. Как таковых COM-объектов в Dx и Opngl с гулькин нос. Буквально, полторы функции. Да и зачем там это? Динамических библиотек в %windir% и корне достаточно за глаза, чтобы их еще и регистрировать в виде компонентов. От того какая у тебя цель зависит то чем ты будешь пользоваться. Win-API и язык программирования это минимальный набор "трейнеров по умолчанию", которых большинство людей делают. В моих целях "полный вариант" включая устройства, драйвера, управление com-объектами, которые игра использует и многое другое. У Рихтера надо читать, только, то что тебя интересует. В случае трейнеров это в первую очередь механизмы работы Windows (процессы, потоки,защита памяти, работа потоков, очереди сообщений, и др). А вот дизассемблирование прог, написанных на классах - это реально интересно Вчера наткнулся, заинтересовало.А вот для этого просто необходима VS C++. На ней можно писать приложения аналогичные игровым, дизассемблировать и понимать свои догадки. + IDA и hex-array, OllyDbg или иные программы.Я, собсно, че к вам заглянул-то Хочется порыться в ресурсах игр, для этого стоит познакомиться с WinAsm'ом, а то у нас только и было что один семестр по микроконтроллерам (то есть специфический, не под 8086), с кривой методичкой; там, помнится, даже сегменты были только общего назначения, а-ля DOS. Хотя могу ошибаться, нам явно не все начитали Надеюсь, в такой вот обстановке радости и веселья, по пути почитывая cracklab, приду к тому, к чему стремлюсь Под ресурсами игры обычно подразумевают: картинки, текстуры, музыка, модели, различные конфиги... Хотя последние могут пригодиться для создания читов, но мы как-то не занимались распаковкой/запаковкой ресурсов и у нас нет по этому информации (хотя жаль). Если тебе нужно копаться с игровыми ресурсами, то тебе надо на сайты по модингу., а если нет, то Welcome Ссылка на комментарий Поделиться на другие сайты Поделиться
Namynnuz Опубликовано 22 ноября, 2010 Поделиться Опубликовано 22 ноября, 2010 Я пишу на VS в том числе и наработки для будущих трейнеров основываясь не таком малом и не правильном описании причин, которое ты привел. Да и под платформой принято понимать другое, а под средой разработки понимать не платформу как таковую.Эммм.. Ну писать на среде программирования довольно трудно, пишут таки в ней, но на каком-то из языков (коих там не так и много). Под платформой понималась, как это часто бывает среди прикладников, операционная система (рассматриваем случай IBM-PC-совместимых). Можно, конечно, и по другим критериям сообразить, при этом правильнее\обеденные классификация от этого не станет. VS при этом идет только под семейство Windows, то есть под эту платформу. К примеру, полновесный проект с makefile под линь в ней ты уже не сообразишь. Ровно как и не откомпиллишь соответствующий исполняемый файл. Интересно, кстати, рыться в кросс-платформенных проектах, постоянно натыкаясь на сиротливо приткнутые папочки а-ля VS2008 с ее солюшенами. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 23 марта, 2011 Поделиться Опубликовано 23 марта, 2011 Изиучаем C# (СиШарп) рекомендую для новичков сайт http://www.simple-cs.ru/Default.aspxC++ язык програмирование для профессионалов. Я думаю новичку сначала освоит надо C# он более легкий язык потом переход на C++ будет легким. Ссылка на комментарий Поделиться на другие сайты Поделиться
gastraler Опубликовано 30 мая, 2012 Поделиться Опубликовано 30 мая, 2012 Библиотека по C# Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость dockerson Опубликовано 5 декабря, 2014 Поделиться Опубликовано 5 декабря, 2014 Изиучаем C# (СиШарп) рекомендую для новичков сайт http://www.simple-cs.ru/Default.aspxC++ язык програмирование для профессионалов. Я думаю новичку сначала освоит надо C# он более легкий язык потом переход на C++ будет легким.ПфЯ поставил переесли есть учебникиЕсли есть учебники и справочники значить новичку не выучить? пфф бред не верю, что мозгов не хватит что ли! Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 5 декабря, 2014 Поделиться Опубликовано 5 декабря, 2014 Если есть учебники и справочники значить новичку не выучить? пфф бред не верю, что мозгов не хватит что ли! Ты где был года три назад умник.Хорош флуд задай вопрос по существу. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения