Page 3 of 3

Posted: 2007-12-27 22:35:08
by Destruction
Исходный код первого поста:

Code: Select all

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

[i]Примечание: Пакет - это такая штука с некоторой информацией, которой обменивается клиент и сервер. Только не вздумайте давать такое объяснение в ВУЗ'е :)[/i]

Клиент Ultima Online использует шифрование трафика с целью защитить информацию которой обменивается графический клиент с сервером. Injection настроен на получение [b]не[/b] зашифрованных пакетов, для чего нужно снять шифрование с клиента. Сделать это можно двумя способами:
1. Изменить непосредственно исполняемый файл.
2. Указать корректные данные в файле ilpatch.cfg

Я не буду углубляться в способы снятия шифрования, как непосредственно и в само шифрование, я лишь отмечу структуру файла ilpatch.cfg:
[code]"строка" checksum length : bytes[/code]
Строка - непосредственно описание которое вы хотите связать с этой инструкцией по снятию шифрования.
checksum - контрольная сумма crc32 - 8 символов, получить можно используя сторонние программы в том числе - ilaunch и ylaunch.
length - размер файла клиента в байтах. Можно посмотреть в свойствах файла или опять-таки через те же сторонние программы
bytes - непосредственно байты которые нужно заменить, через запятую. Конкретный формат:
[code]address = bytes, address = bytes[/code]
Адреса и байты указываются непосредственно в их 16ом виде, можно указывать несколько байт - тогда будет произведена замена нескольких байт подряд.
Следует отметить то, что необходимо указывать виртуальный адрес, а не физический (поправьте меня, если я вдруг в словах запутался) - т.е. непосредственно физический адрес + Image Base, для исполняемых файлов он по умолчанию равен 400000H.
[i]Примечание: checksum и length используется для идентификации клиента, а заданная строка отображается непосредственно в логе - полезно при отладке заданной конфигурации. Кстати, можно править не только байтики отвечающие за снятие шифрования но и любые другие, например написать какую-нибудь гадость в графе Version.[/i]

Идём дальше - мы ввели логин/пароль (или это за нас сделал Injection) - мы жмём на кнопочку - клиент передаёт [b]не шифрованный[/b] пакет Injection - инжа его непосредственно шифрует и передаёт на сервер.

Логичный вопрос - откуда Injection узнает какое у вас на сервере шифрование? - Для этого служит файл UOKeys.cfg, информация из которого отображается в Injection Main в графе Encryption (шифрование), формат файла:
[code]"строка" ключ1 ключ2 тип_шифрования[/code]
Вообще - формат файла описан внутри этого файла, отмечу лишь про то, откуда берутся ключи шифрования.
На самом деле - для шифрования пакетов Injection необходимо знать три ключа, но третий выясняется по ходу дела, поэтому его указывать не нужно. Чтобы выяснить ключи шифрования для конкретной версии клиента - особым талантом обладать не нужно - достаточно заглянуть на форум sphereserver.net - там эта информация давным давно выложена.
Администрация сервера может намеренно изменить алгоритм/ключи шифрования с целью закрыть возможность использования Injection и аналогичных программ. Чтобы запустить Injection в этом случае - нужно по крайней мере не иметь вопроса - а как это сделать, если вопрос возникает - ищите тех, кто сделает это за вас.

Ну и на последок отмечусь ещё про три файла.
1. replaces.cfg - крайне удобная штука, формат:
[code]строка1=строка2[/code]
При включенной соответствующей настройке - позволяет заменить сообщение "строка1" на сообщение "строка2". В случае с клилоками - нужно писать непосредственно #cliloc.. или как их там. Если на ошибаюсь, то на работу функций с журналом влияния не оказывает.
2. Ignition.cfg - грубо говоря - то же самое, что и ilpatch.cfg, но был составлен непосредственно людьми понимающими смысл написанных там цифр.
3. injection_log.txt - самый необходимый файл, если возникают какие-либо проблемы - в нём можно найти исчерпывающую информацию, при включенной настройке Verbose Logging (если всё работает нормально - включать не рекоммендуется). Например, если с клиента некорректно снято шифрование - вполне вероятно, что мы не увидим в этом файле пакета авторизации.. Не проверял, но теоретически это именно так.

На этом всё. Кто не понял - я не виноват.

PS: Для корректной работы двух Injection - я бы рекомендовал запускать их из разных папок и большим плюсом был бы запуск под разными пользователями. Тем не менее, можно и так запустить несколько копий программы и не иметь при этом никаких проблем.


Grin, внеси поправки, а? А я тогда отредактирую первый пост и сотру отсюда всё, ибо нефиг..

Posted: 2007-12-27 22:37:05
by Grin
я же выделил что не так в первом посте, и то это нафиг не надо никому, лутше бы описали чего надо в илпатч пихать;)

Posted: 2007-12-27 22:39:03
by Destruction
Grin wrote:я же выделил что не так в первом посте, и то это нафиг не надо никому, лутше бы описали чего надо в илпатч пихать;)

Удалить топик?

Posted: 2007-12-27 22:45:11
by Grin
Нет... давай так... это твое творчество, вот ты и рисуй;) главное что должно быть это доступность.

Posted: 2007-12-27 22:46:21
by Destruction
Grin wrote:Нет... давай так... это твое творчество, вот ты и рисуй;) главное что должно быть это доступность.

Так я нифига не понял.

Варианты:
1. Ты редактишь и даёшь мне на замену.
2. Я удаляю топик.
3. Нифига не делать.

Я хз какой вариант лучше. Пока склоняюсь к третьему варианту.

Posted: 2007-12-27 22:48:50
by Grin
4. Ничего не удаляешь. Редактируешь ты;)
я спать пошел

Posted: 2007-12-27 22:53:56
by Destruction
Grin wrote:4. Ничего не удаляешь. Редактируешь ты;)
я спать пошел

Обсуждение удалю, отмечусь, что были некоторые поправки, ибо планирую разместить в FAQ, а четыре страницы обсуждений - дофига.

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

Posted: 2007-12-27 22:58:06
by admir
Destruction wrote:
Grin wrote:я же выделил что не так в первом посте, и то это нафиг не надо никому, лутше бы описали чего надо в илпатч пихать;)

Удалить топик?

удалить то что писал Грин - сума сошел ?

кому-то информация будет полезна .

ты подкореектируй 1 пост . остальное оставь

Posted: 2007-12-27 23:00:53
by admir
а вобще если ты берешщь на себя ответственность писать фак , то будь добр разберись в том что ты пишеш а этот топик оставь .

Posted: 2007-12-28 06:19:50
by Grin
Ничего сверх естественного не написано, человек маломальски знакомый с Си разберется в исходниках что выложены. на самом деле то что я написал хороший повод для появления новых инжектов;) работающих с 3 ключами и тд;)

Posted: 2007-12-29 16:45:00
by Destruction
admir wrote:
Destruction wrote:
Grin wrote:я же выделил что не так в первом посте, и то это нафиг не надо никому, лутше бы описали чего надо в илпатч пихать;)

Удалить топик?

удалить то что писал Грин - сума сошел ?

кому-то информация будет полезна .

ты подкореектируй 1 пост . остальное оставь

Гмм.. удалить всё кроме постов грина?

admir wrote:а вобще если ты берешщь на себя ответственность писать фак , то будь добр разберись в том что ты пишеш а этот топик оставь .

Каким же нужно быть идиотом, чтобы не заметить, что я предварительно замучал Yoko по аське, да ещё к тому же дал возможность здесь, на форуме, указать на мои неточности. Раз неточности есть - мой контент в FAQ не попадает, кажется всё просто.

PS: Каждый считает, что он прав, а в итоге - я хз, что с вами делать. Вам надо - вы и модерируйте. Первый пост стёр.

Posted: 2007-12-29 17:08:00
by Grin
бу бу бу;)

Posted: 2007-12-29 17:13:12
by Destruction
Grin wrote:бу бу бу;)

У меня в голове примерно такие же мысли.. :roll:

Posted: 2007-12-29 23:43:52
by admir
очень плохо , учись мыслить по делу .

Posted: 2007-12-30 02:03:00
by Grin
дайте мне права ваши посты удалять;) Заканчивайте, а то я с форума уйду;)

Posted: 2007-12-30 23:58:08
by I'm
Успокойтесь и не нервничайте.
Ничего удалять не надо.

Posted: 2007-12-31 12:01:57
by Destruction
I'm wrote:Успокойтесь и не нервничайте.
Ничего удалять не надо.

Во, пришёл грамотный модератор.

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

Posted: 2007-12-31 20:37:29
by I'm
В спорах рождается истинна.
Destruction wrote:а то я действительно что-нибудь удалю.. а главное то, чего удалять не надо -(
Например первое сообщение.
Тебе известна моя политика, в плане удалять.