Вход

Просмотр полной версии : Проблема с допиливанием newxor.dll


pAladdin
19.02.2020, 17:34
Здравствуйте. Пришлось пилить newxor.dll под один сервер, алгоритм шифрации в общем уже понятен.
Суть проблемы:

1. Сделал все по мануалу - создал проект dll, закинул в него newxor.lpr и coding.pas. Библиотека компилится, но пакетхак ее не цепляет, даже если исходники не менять. Может ли это быть из-за того, что компиляция не в Delphi, а в Lazarus IDE? (с установкой делфи проблемы)

2. Шифрация сервера использует второй xor-ключ, который прилетает в том же пакете KeyInit, но расположен в конце пакета. При этом функция InitKey, по-видимому, принимает не пакет Init целиком, а лишь выдранные из него 8-байт ключа. Как мне получить доступ из функции к содержимому всего пакета?

ScythLab
21.02.2020, 21:09
1. Зависит от экспортируемых функций, если механизм делали грамотно, то можно компилить хоть в Лазарусе, хоть на с++ писать. Но нет гарантий, что ты сам не косячишь в лазарусе.

PS. Фразы "алгоритм шифрации в общем уже понятен" и "по-видимому, принимает" плохо между собой уживаются.

pAladdin
23.02.2020, 17:29
С компиляцией разобрался, поставил делфи и взял готовый проект newxor из исходников.

Касаемо фраз - я написал сторонний скрипт на питоне, который перехватывает трафик при помощи scapy, реализовал под него стандартные функции newxor (траффик начал выглядеть нормально при подключении к серверу без шифрации), а потом дописал дешифровку конкретно под целевой сервер - и на нем тоже начал видеть ожидаемые пакеты. Но консольный скрипт на питоне - одно, а пакетхак - совсем другое)

Меня смущает то, что InitKey newxor.dll принимает, похоже, только первые 8 байт пакета с ключом. Этого достаточно для стандартной шифрации, но не для целевого сервера.
Сейчас пробую извлекать нужные мне данные из пакета KeyInit прямо в функции дешифрации (если первый байт пакета = 0, то...).

Добавлено через 13 часов 23 минуты
Все, разобрался с ситуацией, newxor.dll заработал.
Почитал исходники, в метод InitKey передаются не первые 8 байт, а все байты пакета KeyInit кроме первых двух.

ScythLab
24.02.2020, 23:46
Отлично. Мало кто получает готовый результат, в основном заканчивается все на "я тут придумал крутую херню, ищу людей, кто за меня это реализует" :)

SeregaZ
05.03.2020, 16:35
я тоже придумал крутую игру. осталось чтоб за меня её ктонить написал. а я буду играть и требовать новые фишки :)

JokeruleZ
18.10.2022, 15:02
Здравствуйте. Пришлось пилить newxor.dll под один сервер, алгоритм шифрации в общем уже понятен.
Суть проблемы:

1. Сделал все по мануалу - создал проект dll, закинул в него newxor.lpr и coding.pas. Библиотека компилится, но пакетхак ее не цепляет, даже если исходники не менять. Может ли это быть из-за того, что компиляция не в Delphi, а в Lazarus IDE? (с установкой делфи проблемы)

2. Шифрация сервера использует второй xor-ключ, который прилетает в том же пакете KeyInit, но расположен в конце пакета. При этом функция InitKey, по-видимому, принимает не пакет Init целиком, а лишь выдранные из него 8-байт ключа. Как мне получить доступ из функции к содержимому всего пакета?


А что за мануал такой? Может подскажете, где взять сейчас актуальный исходный код newxor.dll?