Page 1 of 13

Идем на восток... (для любителей абиса)

Posted: 2006-06-27 21:43:43
by Grin
Хорошая погода, тепло;) Идем на Абис;))

4 Декабря 2006 UPDATE:
Всем походу лень листать.
http://filebuffer.narod.ru/abyss.html

Posted: 2006-06-27 22:12:32
by Grin
приходится качать лишнее 13 метров;(

Posted: 2006-06-27 22:16:24
by DerMeister =)
А как же ЗХР??? :cry:

Posted: 2006-06-27 22:24:22
by Grin
;) я туда не напостоянку;) посмотрю как на Олдп и все;)

Posted: 2006-06-28 00:35:30
by Grin
Запарил меня ваш абис;)
Акк досих пор не активен;)

Posted: 2006-06-28 00:46:15
by SESTRA
давай давай ! ) регся и внедряй инжу ))

Posted: 2006-06-28 01:37:02
by Grin
зашел на абис без abyss.dll смотрим чего дальше будет из за статики не могу пока ходить телепортюсь на рынок;)

Posted: 2006-06-28 18:13:41
by Destruction
Не забудь спросить у администрации, почему абисовские хакеры, сами не сделали инжект :roll:

Posted: 2006-06-28 18:22:08
by Nmy
мне понравился ОлдП ... там нету безконечного макроса чтоб за ноч поднять 1% БСа :lol: , там идёт игра :roll:

Posted: 2006-06-28 20:53:22
by Grin
на учить инжект работать с 3 ключами сейчас не проблема...
Встает вопрос о изменении пакетов...

Posted: 2006-06-28 23:18:51
by KTO nyKHyJI???
grin я ща тож на абисе вшториваю ) инжи не хватает.. эх ))
кста спаисб во времена расцвета дк за антимакро :? :roll:

Posted: 2006-06-28 23:55:43
by SESTRA
Ну что там не чего новенкого нету?)

Posted: 2006-06-29 11:50:58
by Grin
Инжект заходит... полет нормальный.. .а вот пакетики...

Posted: 2006-07-01 03:31:55
by Seer
Выложи архиф готовый как зайти на абисс с инжой как ты зашел?
и ище как без длл зашел?

Posted: 2006-07-01 08:32:05
by Grin
Что мешает нам зайти?
1. 3 крипт ключа, для передачи инфы вовремя логина
2. изменен коэфициент в формуле для определения будующих ключей

Начнем со второго. Когда вы залогинились сервер присылает рандомное число Seed и на основании него происходит шафрование всего последующего игрового трафика трафика.
как это выглядит в реале (воспользуюсь исходниками инжи)

Code: Select all

void LoginCrypt::init(unsigned char * pseed, unsigned int k1, unsigned int k2)
{
    unsigned int seed;
    N2L(pseed, seed);

    m_key[0] =
            (((~seed) ^ 0x00001357) << 16)
        |   ((seed ^ 0xffffaaaa) & 0x0000ffff);
    m_key[1] =
            ((seed ^ 0x43210000) >> 16)
        |   (((~seed) ^ 0xabcdffff) & 0xffff0000);

    m_k1 = k1;
    m_k2 = k2;
}

изменен какраз 0x00001357 коэффициет за менили на 0x0000135f
в клиенте эта функция мало чем отличается от инжовой по этому легко найти;) Изменения этого коэффициента происходят после загрузки дллки тоесть сам клиент содержит нормальное родное число... длл его правит в момент загрузки.

Что касается 3 ключей. Они опять таки на прямую не прописаны... Длл перезаписывает xor команды на вызов своих процедур в которых тотже xor но уже с другим значение (куда проще было это значение просто переписать), возможно хитрость за ключалось в том что процедуры лежат в далюких некому не нужных сегментах и при дампе они просто не дампятся. Вытаскиваем ключи и наживую пишем в клиент и и справляет коэффициент. И заменяем abyss.dll на advapi32.dll в таблице импорта.

С инжектом тежелей он не умеет работать с 3 ключами...

Code: Select all

void LoginCrypt::encrypt(unsigned char * in, unsigned char * out, int len)
{
    for(int i = 0; i < len; i++)
    {
        out[i] = in[i] ^ static_cast<unsigned char>(m_key[0]);

        unsigned int table0 = m_key[0];
        unsigned int table1 = m_key[1];

        m_key[1] =
            (
                (
                    (
                        ((table1 >> 1) | (table0 << 31))
                        ^ m_k1
                    )
                    >> 1
                )
                | (table0 << 31)
            ) ^ m_k1;
        m_key[0] = ((table0 >> 1) | (table1 << 31)) ^ m_k2;
    }
}

Code: Select all

                | (table0 << 31)
            ) ^ m_k1;

тут в место m_k1 должен быть m_k2

Code: Select all

m_key[0] = ((table0 >> 1) | (table1 << 31)) ^ m_k2;

а тут m_k3

Но ввиду того что все компилятор имеет своство выравнивать код было достаточно пустот чтобы эту функцию подредактить;) Тоже правим в инжекте правим и коэфициент.

Но на этом не закончено. Уних там есть приблуда которая каверкает пакеты а имено перезаписывает их номера.
Тоесть зайти вы зайдете но не поиграете;)
С пакетами буду разбиратся позже

Posted: 2006-07-01 12:15:08
by SESTRA
Спасиба за точто взялся за это дела!

Posted: 2006-07-10 08:49:25
by shtirlits
Доброго времени суток,всем!
Как там никаких новых вестей нету???

Posted: 2006-07-10 10:14:47
by Grin
Продвигаемся помаленьку;)
Не которые фичи вашего шарда реализованы через клиент. Возможно сними придется или простится ну или мы их сохраним;)
Есть ли у вас команда .ec и если есть что она делает?
должно вылезать Names caching enabled. и тд
Еще пара команд
.rb
.r

Posted: 2006-07-10 11:05:34
by Grin
В общем если эта шняга не нужна то сегодня вечером возможно будет рабочий вариант;)

Posted: 2006-07-10 15:40:36
by Grin
поскольку время прошло достаточно, и так никто не от писался, т оя я рубли весь этот неймкеш...