PDA

Просмотр полной версии : Копаем вглубь DLL


Polymorph
21.04.2008, 19:35
Жаль что не перенесли тему эту со старого форума. Содержит очень много полезной информации, воодушевляет. Если есть возможность xkor верни тему. Много нужного для себя подчерпнул из неё, думаю и другим пригодится.
А столкнулся я с той же проблемой что и VORON в своей теме. А именно не стандартная шифрация пакетов. Причём если у VORON`a шифровалась часть, то у меня шифрован весь пакет и после передачи Init пакета при выборе чара, вся дальнейшая информация l2ph не поддаётся дешифровке. Даже пакеты идентифицировать верно нет возможности. Отснифил часть трафика по подобию первой темы:
(Интерлюд сервер, протокол 746, трафик не дешифрованый (не дешифровать траффик галка установлена), обход смены ксор ключа отключён, трафик входящий для клиента, НПЦ/игроков вокруг нет, лог сплошной без изъятия чего либо)
Ключи из Init пакета: C8 3E 97 4C
Далее лог нажимания скилла сидя без взятого таргета бафа Шилд для ШЕ
5B E4 5E CA 92 BE 4F A7 16
0A
5B E4 5E CA 92 BE 4F A7 EC
75
5B E4 5E CA 92 BE 4F A7 FA
0C
5B E4 5E CA 92 BE 4F A7 F0
77
5B E4 5E CA 92 BE 4F A7 CE
0E
5B E4 5E CA 92 BE 4F A7 C4
69
5B E4 5E CA 92 BE 4F A7 D2
10
5B E4 5E CA 92 BE 4F A7 A8
6B
5B E4 5E CA 92 BE 4F A7 A6
12
5B E4 5E CA 92 BE 4F A7 BC
6D
5B E4 5E CA 92 BE 4F A7 8A
14
5B E4 5E CA 92 BE 4F A7 80
6F
5B E4 5E CA 92 BE 4F A7 9E
16
5B E4 5E CA 92 BE 4F A7 94
61
5B E4 5E CA 92 BE 4F A7 62
18

Лог сплошной. Никаких промежуточных пакетов не удалял.
Предположения:
5B E4 5E CA 92 BE 4F A7 16
0A (25 xor 2F = 0A)
5B E4 5E CA 92 BE 4F A7 EC
75 (25 xor 50 = 75)
5B E4 5E CA 92 BE 4F A7 FA
0C (25 xor 29 = 0C)
5B E4 5E CA 92 BE 4F A7 F0
77 (25 xor 52 = 77)
5B E4 5E CA 92 BE 4F A7 CE
0E (25 xor 2B = 0E)
5B E4 5E CA 92 BE 4F A7 C4
69 (25 xor 4C = 69)
5B E4 5E CA 92 BE 4F A7 D2
10 (25 xor 35 = 10)
5B E4 5E CA 92 BE 4F A7 A8
6B (25 xor 4E = 6B)
5B E4 5E CA 92 BE 4F A7 A6
12 (25 xor 37 = 12)
5B E4 5E CA 92 BE 4F A7 BC
6D (25 xor 48 = 6D)
5B E4 5E CA 92 BE 4F A7 8A
14 (25 xor 31 = 14)
5B E4 5E CA 92 BE 4F A7 80
6F (25 xor 4A = 6F)
5B E4 5E CA 92 BE 4F A7 9E
16 (25 xor 33 = 16)
5B E4 5E CA 92 BE 4F A7 94
61 (25 xor 44 = 61)
5B E4 5E CA 92 BE 4F A7 62
18 (25 xor 3D = 18)

Закономерность изменения шифра пакета 25 вроде бы есть, но иногда она нарушается пока не ясным мне образом. А задача в принципе как и в предидущей теме - определить алгоритм. На делфи немного программирую и по шифрованию некоторые знания есть.

У кого какие мысле по теме? Если надо какие логи - пишите выложу.

xkor
22.04.2008, 00:25
http://coderx.ru/showthread.php?t=165 - а это что по твоему?)

Добавлено через 54 секунды
зы собсно перенесены были все темы)

Sherman
24.04.2008, 18:03
Судя по дате перваго поста, сервер Отланд, небезызвестного Ылмор
Если ошибся, то прошу простить. Если нет, могу рассказать как оно работает.
Но капать там на до не с помощью phx, а с помощью Олли и IDA.

Polymorph
24.04.2008, 19:03
нет, сервер не тот.
учасники первой версии это темы, дайте о себе знать - есть о чём поговорить

Sherman
24.04.2008, 19:11
хотя да, попутал. апдейт защиты там произошел 22 часла. хотя, может быть ты дк, и закинул парням на проверку новую защиту.
:d

Polymorph
24.04.2008, 19:37
Дебгаером/дазасм-ом не так же просто решить эту задачу, чем на пакетном уровне. Один только W32Dasm дал столько функций в импортируемых библиотеках касательно фишрования, что голова кругом идёт. Около сотни килобайт асм кода разгребать это не в паскальном коде ковырятся. Там одних только джампов условных надо столько проследить, что потеряешь то место, откуда следить начал.

Добавлено через 1 минуту
http://coderx.ru/showthread.php?t=165&page=3
Рекомендую прочесть. Много полезной информации.

Sherman
24.04.2008, 20:10
Посмотрел. По сути, просто два различных подхода к решению одной задачи. Я все же сторонник копания в коде. Если разобрался что там,
то ты заешь на 100% как это обойти, а генереция функций шифрования усилием мысли, для меня шаманство. 21 числа Даpk Кибер поменял защиту. Ранее защита работала по принципу описанному в теме:
http://coderx.ru/showthread.php?t=165
т.е. происходило подписывание некоторых пакетов, после 21 числа защита, после обновления, в котором по сути заменялась лишь билиотека реализующая шифрование, стала работать по описанному тобою принципу. 22 числа я уже имел декриптованный вариант этой библиотеки, и сейчас изучаю. Берем библиотеку защиты, и прост оее используем. :)

Polymorph
24.04.2008, 20:14
случаем не reborn.dll ?
Вся фишка в том, что я не в курсе когда была сменяна защита. И не смогу точно определить где она реализована.

Sherman
24.04.2008, 20:32
нет pkcrypt.dll, но видимо принцип используется один и тот же.
открой текстовым редактором engine.dll и найди там строку название своей библиотеки.

по поводу, когда была смена защиты, это на форуме твоего сервера есть скорее всего... сообщения от администрации.

Есть мысль, что защита коммерческая, и твой и мой сервер закупаются у одной и той же конторы. :)

ASSA
24.04.2008, 22:37
2 Sherman: я гамаю на ылморе и падло дарксибер(пипетс ник!! главное по-круче ник написать, и тада все будут считать тебя точно не лошарой) круто подговнил всем достойным узверям л2пх.
Я один из них и прошу помоч тебя Шерминатор)))
А еще было бы прикольно обсудить прошлую защиту, он слабовата была

Складывается мнение что эти оболдуи сами не шифруют, а защиту гдето надыбали..Ну мне чегото не веритцо что чел с ником Дарксибер чего-то там мутит-шыфрует)))

Polymorph
24.04.2008, 23:00
шутишь в 29 мегах искать неизвестную строку? ещё и блокнотом.

ASSA
24.04.2008, 23:02
2 sherman глянь плиз, это с томата. Вот..
http://coderx.ru/showthread.php?t=267

Sherman
24.04.2008, 23:42
шутишь в 29 мегах искать неизвестную строку? ещё и блокнотом.

ну, можно еще в таблице импорта у енджине посмотреть, там должо быть использование хотя бы одной ф-ции из твоей библиотеки. Чистый енджин левых дллек не использует.

Добавлено через 6 минут
2 Sherman: я гамаю на ылморе и падло дарксибер(пипетс ник!! главное по-круче ник написать, и тада все будут считать тебя точно не лошарой) круто подговнил всем достойным узверям л2пх.
Я один из них и прошу помоч тебя Шерминатор)))
А еще было бы прикольно обсудить прошлую защиту, он слабовата была

Складывается мнение что эти оболдуи сами не шифруют, а защиту гдето надыбали..Ну мне чегото не веритцо что чел с ником Дарксибер чего-то там мутит-шыфрует)))

Прошлая защита была построена на модифицировании кода в Engine.dll после функций формирования 6 пакетов отправляемых на сервер, на прыжек в тело pkcrypt.dll, дописывание хвоста подписи по маске, маска в ресурсах длл хранитсо, и возврат обратно в engine.dll для отправки на сервер. Пакеты от Сервера не подписывались и не анализировались, хотя я в этом направлении не копал.
Пакеты: GGuardAuth
RequestUseItem
RequestMagicSkillUse
Action
ValidatePosition
и еще какой то, щас не помню.

Нынешняя защита построена по тому же сценарию, но навернута шифрация всего пакета перед оправкой, и дешифрация входящего пакета. Плюс ДыКа сменил криптор (имеется ввиду упаковка dll-ки для защиты от отладки и понимания внутренностей) с UPX на ASProtect 2.xx

Вообще, зря я у парня флуд развел. Polymorph извини если чо не так, просто у нас там весь сервер в панеке :confused:

ASSA
25.04.2008, 18:05
тут тока 3 топа про шифрацию, так что я решил не увеличивать их кол-во так что сорь полиморф.))
Cпасбо шерман, блин круто=))
прошлая защита была дырявая, я с ней спокойно л2пх узал..
кстати я там так и не смог скриптом хп пить но это и не было нужно=)) аденки 1ккк+ из манора брались=)
блин было бы круто воткнуть как вообще расшифровывать подобное и моч применять для игры. я так понимаю он и дллы сменил и шифрование пакетов..было бы не плохо еслиб ты направил мои действия=)))
я деширируем трафик 1 и 2 прочитал, но пока не ясно как действовать.. могу выложить пакеты любые и все такое..подскажите плз

Polymorph
25.04.2008, 18:39
Sherman,
Енжн длл вообще левых дллок не использует. А помимо pkcrypt.dll есть ещё pkcdb.dll и pkcrypt.vxd pkcrypt.sys
Функций из них экспортится немеряно. А какая из них для дешифровки используется так и не определил.

Polymorph
25.04.2008, 21:38
OlegDX,
Зачем мне чтото писать?
Я знаю какой пакет в рассшифрованм виде отправляет клиент, и знаю какой присылает сервер. см лог выше.

Добавлено через 1 минуту
парни хотите подсказку как дуплить кодировщик
Перед тем как советовать, рекомендую прочитать обе темы про дешифрацию

Добавлено через 24 минуты
xkor, прошу склеить эту тему с первой частью и оставить только 3 сообщение

Sherman
26.04.2008, 03:01
Sherman,
Енжн длл вообще левых дллок не использует. А помимо pkcrypt.dll есть ещё pkcdb.dll и pkcrypt.vxd pkcrypt.sys
Функций из них экспортится немеряно. А какая из них для дешифровки используется так и не определил.

npkcrypt.dll npkcrypt.sys и npkcrypt.vxd это стандартные файлы клиента,
я говорю о pkcrypt.dll, просто сравни названия. Дай сцылку на сервер, я посмотрю ваш патч.

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

ASSA
26.04.2008, 13:13
нах че-то удалять??? пусть читают люди, думают, втыкают=) давайте вообще все сотрем, и будем каждый раз новый топ делать=)) а потом его быстро стирать =d
xkor, прошу склеить эту тему с первой частью и оставить только 3 сообщение

Polymorph
26.04.2008, 13:47
Sherman, pkcrypt.dll отсутствует как таковой вообще. Ссылка на сервер ушла в личку. А ещё лучше оставь ICQ, пообщаемся.

ASSA, Втыкать то особо нечего пока. Тема начала уходить от своего первоначального направления. Поэтому логичной 3й пост перенести в изначальную, а эту переименовать например Определяем алгоритмы шифрации из dll файлов.

xkor
27.04.2008, 02:05
3е сообщение уехало в http://coderx.ru/showthread.php?t=165&page=7
тему закрыть? или ещё поболтаете?)

Polymorph
27.04.2008, 12:29
Good.
Переименуй: Копаем вглубь DLL
Может кто ещё что дельное поведает...

ASSA
29.04.2008, 20:51
Перед вводом новой защиты был апдейт, и длл-ки заменили.
Я вообще понимаю что дешифрование/шифрование идет в длл.
Но я не хотел бы заморачиваться и там копаться, хотя можно было бы если с кем то на пару хотябы. Я вообще хотел использовать дешифратор на делфи или на л2пх, так как известно что при входе на ГС я получаю криптини с ключем, потом этот ключ используется для шифрации входящего трафа и меняется на длинну пакета(вроде или типа чето в етом духе) и исходящего с таким же изменением. то есть у нас уже 2 ключа, но для разных трафов. Поэтому нада дергать ключ на стадии логина и включать скрипт, чтоб он иммитировал изменения ключа(и серв них не просек). Вот чтоб я сделал еслиб был супер програмером=)))

Добавлено через 4 минуты
упсс)

Добавлено через 22 минуты
Кстати Полиморф, какие у тебя дллы добавились после апдейта.
У мну тока pkcrypt.dll npkcrypt.dll npkcrypt.sys и npkcrypt.vxd.
вроде тока ети.

OlegDX
01.05.2008, 18:30
я вижу ты так и ничего непонял

или ты просто ждал что ктото за тебя всё зделает

Нестандартных шифровок немеряно , и они ни как независят от какихто там длл, покрайней мене даже если зависят
ТО ТОЧНО НИКТО НЕПРЕДОСТАВЛЯЛ ИНТЕРФЕЙС ДОСТУПА КНИМ
(они для етого и созданы чтобы чтото скрить)

а мой совет был как самому написать декодировщик по имеющим данным
но вижу тя это неинтересует те подавай готовое решение и ты потом скажеш всем спасибо и таковым будеш :(

желаю удачи в поисках

ASSA
03.05.2008, 21:34
2 olegdx если это было адресовано мне, то ты заблуждаешься, я не такой !!! я тут прочитал почти все на форуме, так как свободного время жж. Вот и щас пишу просто шивровалку для моего серва(для какого не скажу===)))) но если получиться то помогу любому.
А если ты это не мне написал------------------------------>OOooopppss..
=)))

Polymorph
04.05.2008, 01:29
ASSA, Просто твои сообщения не несут полезной смысловой нагрузки, а лишь сождержат общие фразы и мысли из других постов обеих тем. Твой дабл-пост в обе темы лишь потверждает это предположение. Если твои сообщения важны, но них итак обратят внимание, а постить ссылки на свои сообщения в других темах - показывать уровень своего незнания по теме. От того что ты везде оставишь своё сообщение люди не потянутся к твоей проблеме. Прочитать форум - одно, понять что там написано - другое.
Оправдания ищет виноватый.
Это так, "мысли вслух"
з.ы.ж. не уводите тему от её направления.

Добавлено через 54 секунды
xkor, думаю тему лучше всё таки закрыть.

xkor
04.05.2008, 03:32
xkor, думаю тему лучше всё таки закрыть.согласен, закрыто.