[Ответить в тред] Ответить в тред

15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 13 | 1 | 8
Назад Вниз Каталог Обновить

Нужно помощь в организации плана для самообучения. Аноним 19/10/16 Срд 20:07:16  859978  
(96Кб, 640x474)
(12Кб, 227x300)
Нужно помощь в организации плана для самообучения.

Что есть:
=======
Корейская MMORPG (клиент + сервер). Серверная часть написана на Си и находится на github (https://github.com/eathena/eathena). Клиент спизженный корейский, пропатченный и отвязан, опыт администрирования игровых серверов и понимание как это работает на базовом уровне - имеется. Опыт фикса очень простых багов, и написания базовых функций (например доп логическая команда для игрового NPC), так же. Т..е другими словами хочу продвинуть свои знания в этой сфере не для рубки бабла (сообщество по этой игре мертвое), а чисто для себя для самообразования.

Что хочу:
=======
1. Свободно понимать что и как и до чего в сорцах. На текущий момент понимаю ну максимум 30-40% от всего кода. Еще процентов 30-40 не понимаю из-за не знания основ Си, т.е. си обязательно буду учить.
2. Писать патчи \ фиксить баги (да даже по банальном issues tracker)
3. Разобраться с пакетами обмена данных, как чуваки достают пакеты, как с ними работать, как например зная о структуре пакета написать копию функционала который не доступен в эмуляторе.
4. После того, как буду свободно плавать в эмуляторе, хочу начать писать чит-софт для клиента (кликеры \ автожоры читающие память в .exe), повторить функционал уже существующих читов, и понять как чуваки разбирали экзе и видели уловки и дыры в экзешнике которые можно эксплуатировать.
5. Написать своего клиент-based бота (уже есть альтернативы которые написаны на perl, но я хочу бота подключить через dll к клиенту который напишу самостоятельно)
6. После всего изученного выше хочу научиться расширять функционал с помощью дифа экзешника и разрабатывать свои client-server фичи которые модифицируют клиент и вносят дополнительный функционал в экзешник (например сменить размер шрифта в клиенте с помощью дллки, либо заменять спрайты определенных игровых профессий или мобов на какую-то хуйню, либо убирать дамаг наносимый противнику для увеличения FPS игрового клиента)
7. Ну и результирующая цель - написать собственную защиту client-server с шифрованием трафика, защитой от ботов, с защитой от читов описанных выше.


С чего хочу начать:
===============
1. Изучение Си (классически книги по Си)

Где нужна помощь:
===============
1. Ну вот Си я выучу, начну внедрять и фиксить баги, но для меня останутся неведомые области с пакетами между клиентом и сервером (да даже сейчас могу пофиксить простенький баг \ или написать свою функцию на Си, но не сложнее этого)

2. Что учить дальше, какие мои дальнейшие шаги по обучению? Напишите плиз список литературы, желательно отсортированный в порядке прочтения \ изучения.

Си - обязательный язык для эмуля, ведь он на Си написан.
С++ не оч. люблю, но какой-то другой ЯП необходим для написания читов \ дебага \ написания своих плюшек.

Какой язык для написания читов посоветуете? Какой язык для написания защиты посоветуете? Куда копать? С чего начать после изучения Си?


Если структурировать и подвести некий итог:
===================================
1. Вот выучу Си на базовом уровне, а куда собственно дальше копать и что читать (нужны конкретные примеры) что бы писать чит-софт \ взаимодействовать с клиентом \ написать защиту для этой древней MMORPG?

Напомню двач - это все исключительно для самообразования делаю, потому что в этом немного понимаю, и в бородатые 200* держал сервера с онлайнами выше 500, но тогда особо никаких знания кроме как знания внутреннего скриптового языка (разработанного для этого игрового эмулятора, который напоминает синтаксис Си) ничего и не нужно было.

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

Аноним 19/10/16 Срд 21:34:33  860063
>>859978 (OP)
Херасе ты написал.
> либо заменять спрайты определенных игровых профессий или мобов на какую-то хуйню
Это делается распаковкой ресурсов и заменой нужных спрайтов.
> с онлайнами выше 500
Неблохо. Хотя 400 из них был торгаши, инфа 90%
По существу: ты слишком большую цель взял, Кармак. Того же бота разрабатывали десятки людей. Помню кто-то из сообщества приложение для создания пользовательских карт разрабатывал и это для одного человека оказалась непосильная задача (для опытного разработчка), что-то делать это редактор и умел, но падал при каждом чихе. Так что сделай переоценку своих возможностей и ограничься тем, чем ты действительно хотел бы заниматься. Либо уж с сервером работать, либо с клиентом. Ты просто не представляешь насколько ты высокую для себя планку поставил, что пиздец, потому что даже выбрав сервер или клиент, тебе всё равно надо сузить планку, раз в 10.
Книжку по Си тебе на всех ресурсах мира предложат одну единственную. K&R.
Но тебе нужно начать с другого, если честно. Если хочешь, чтобы твой энтузиазм не закончился в течение 4 дней, ознакомься с вот этими ресурсами (бесплатны):
1. http://www.cci.health.wa.gov.au/resources/infopax.cfm?Info_ID=50 (англ)
2. https://www.coursera.org/learn/learning-how-to-learn (есть русские сабы, но я надеюсь, что ты в эти дебри полез зная язык всё-таки)
Аноним 25/10/16 Втр 23:43:41  863645
Тут есть C-трэд, там много годной литературы.
Но читать ее надо после пары недель активного кодинга и копипасты со stackoverflow

Брать за основу чужой клиент хорошо, но разбирать чужой код гораздо сложнее, чем писать собственный. Если в первый месяц сможешь понять как работает один маленький модуль - уже хорошо
Аноним 26/10/16 Срд 01:43:23  863729
>>860063

Я понимаю о чем ты говоришь, и согласен что это овердохуя. Но желание есть, и это самое главное, и уже ебусь какой год - а желание не пропадает, и не пропадешь лишь потому, - что интересно. Следовательно намерен ебаться с этим и дальше.
Аноним 26/10/16 Срд 01:44:45  863731
>>863645
Да, я видел - читал, жаль что очень мало годноты там, которая по делу. Уж слишком много людей в треде которые ничего кроме лаб в вузе в лучшем случае и не видели, поэтому и был создан данный тред с надеждой услышать мнение людые которые в теме (для меня лично их легко вычислить по тому, что они будут писать).
Аноним 26/10/16 Срд 02:05:41  863735
>>859978 (OP)
$ find . -name ".c" | xargs wc -l
144330 total
$ find . -name "
.h" | xargs wc -l
12634 total
156964 total

> Свободно понимать что и как и до чего в сорцах
Это нереал, если ты не писал его сам 10 лет.

> На текущий момент понимаю ну максимум 30-40% от всего кода
Пиздеж. Если бы ты понимал 40%, то автоматом понимал бы и остальное. Просто по инерции.
Дай угадаю? Ты просто названия файлов посмотрел чтоли???

> Писать патчи \ фиксить баги
Как ты их собрался тестировать? Играя в игру? Всё???

> Написать своего клиент-based бота
+10к строк кода. Ниосилиш.

> написать собственную защиту client-server
КАКИМ ОБРАЗОМ ТЫ СОБРАЛСЯ ПИСАТЬ ЗАЩИТУ, ЕСЛИ ТЫ НИКОГДА НЕ ЛОМАЛ ММО???

> Изучение Си (классически книги по Си)
+5000 часов опыта в ММО.

> начну внедрять и фиксить баги
Не начнешь. Для тебя это будет просто набор функций и всё. Ты фиксил баги в войне и мире? Нет? русский же твой родной язык.

>>863729
Не понимаешь
Аноним 26/10/16 Срд 04:54:00  863759
>>863735

Плиз, съеби нахуй. Ты не в теме, и видимо с программированием связан исключительно установленной ОС, и беглым чтением карманного справочника по командам Linux, возможно даже сидишь на арче, или генту и строишь из себя крутого айтишника.
Аноним 26/10/16 Срд 08:18:36  863778
>>863759
Ты с радаров не пропадай. Хорошо? И не съебывай на хуй. Заведи гитхаб, форкни, ссылку дай. Ну как у людей.
Аноним 26/10/16 Срд 09:14:18  863801
>>863759
Но он прав. А ты его оскорбляешь на таком доброжелательном ресурсе. Учись быть вежливым, когда тебе отвечают. Или проигнорируй, если ответ не нравится.
>>859978 (OP)
>как чуваки достают пакеты
Ты имеешь в виду структуру сетевого пакета? Дизассемблирование программы.
>зная о структуре пакета написать копию функционала который не доступен в эмуляторе
Зная, для чего этот пакет, пишут функционал под него. Например, какая нибудь телепортация, структура пакета: кто, откуда и куда будет телепортироваться. Вот и пишешь функционал.
>чит-софт для клиента (кликеры \ автожоры читающие память в .exe)
Начни прямо сейчас. Мне нужно придумать способ перехватывать и модифицировать TCP пакеты. Найдёшь способ, как это сделать, т.к. клиент не поддерживает прокси?
>как чуваки разбирали экзе и видели уловки и дыры в экзешнике которые можно эксплуатировать
Дизассемблирование. И долгий поиск возможных мест для багов, а также тестирование для поиска этих багов.
>6.
Когда узнаешь, подскажешь. То же так хочу.
Аноним 26/10/16 Срд 09:27:43  863806
>>859978 (OP)
пакет это просто набор байт, всё. В каком порядке он идет - хз. Они могут в начале поместить unsigned short, а это уже 65 535 комбинаций. Только дизасемблирование. И да, никто не мешает твоей ММО задетектить попытку хака и тебя заблокировать.

Аноним 26/10/16 Срд 09:44:28  863810
>>863801
>2ch.mail.ru
>на таком доброжелательном ресурсе
Просто умри, гнида.
Аноним 26/10/16 Срд 15:46:17  863932
>>863778
живой проект где будут люди бегать пока я это делаю, и в паблик выложить свои наработки для своего проекта что бы админы других проектов пиздили сорцы и возможности и багофиксы которых нет в их эмуляторе? Да ну нахуй, я делаю это для образования, бабки тут не намоешь, т.к. сообщество мертвое, но жадность в распространении решений и потребность в этих решениях от других имеется, нахуя я должен шарить эти фиксы, и возможности которые я реализовываю бесплатно, когда я их могу продать на их саппорт бордах? Поэтому вариант к сожалению расшаривания кода с репозитория в паблик - нельзя сделать.
Аноним 26/10/16 Срд 17:39:31  864039
>>863932
> я делаю это для образования
> продать на их саппорт-бордах
Аноним 26/10/16 Срд 18:50:47  864082
>>864039
одно другому не мешает как бэ.
Или если "ученый \ художник" - то обязательно должен быть голодным и нищим?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 13 | 1 | 8
Назад Вверх Каталог Обновить

Топ тредов
Избранное