Yoko
http://forum.yoko.com.ua/

Для чего патчится клиент при запуске инжекта?
http://forum.yoko.com.ua/viewtopic.php?f=1&t=3602
Page 1 of 1

Author:  J17 [ 2005-04-05 12:22:21 ]
Post subject:  Для чего патчится клиент при запуске инжекта?

Поковырял я тут немного исходники инжекта, которые когда-то выложил Yoko...
При запуске клиента, происходит его патчинг вот таким способом:
Code:
for(int i = 0; i < num_elements; i++)
{
    DWORD oldProtect;
    if(VirtualProtect(reinterpret_cast<LPVOID>(elem->m_address),
            elem->m_length, PAGE_READWRITE, &oldProtect) == 0)
    {
        api_error("Failed to patch (page protection)");
        error = 1;
        break;
    }
    CopyMemory(reinterpret_cast<unsigned char *>(elem->m_address),
        elem->m_buffer, elem->m_length);
    elem++;
}

В этом цикле изменяются несколько байтов, описанные в Ignition.cfg.
После пропатчивания устанавливаются хуки на сокеты.
По идее, всё должно работать и без этого пропатчивания (или я чего-то недопонимаю?)... Для чего оно нужно?

Author:  Edred [ 2005-04-05 12:42:55 ]
Post subject: 

Дык инже же надо как-то перехватывать трафик между клиентом и сервером. Я думаю, эти правки с этим и связаны. Чтобы клиент отправлял трафик не серверу, а инже, и получал от нее.

Author:  J17 [ 2005-04-05 12:51:14 ]
Post subject: 

Наверное, всё-таки это для чего-то другого. Патчем изменяются только три байта - в 3 байта, мне кажется, вряд ли можно уместить перехват трафика... Инжект, вроде, вмешивается в протокол через хуки на сокеты.

Author:  Fall0ut [ 2005-04-06 09:42:24 ]
Post subject: 

Ну так раз уж интирестно...

1) Патчиться крипт то бишь чтоб инжект получил трафик от клиента в чистом виде а не шифрованый.... (поэтому так мало байтиков патчим +) сообсвенно а нам много и не надо (С))
2) Да патчиться таблица импорта клиента и в адреса всок функций пишуться адреса инжектовских функций чтоб собсвенно говоря
а)Получать трафик от клиента
б)"Заставлять" клиент думать что пришел трафик
в)Эмулировать приход трафика..
3)Инжекшан это собсвенно говря injection.dll а не ЕХЕ... так что вот... это так если кому интиресно... а ЕХЕ это загрузчик библиотеки (самого инжекта) в адресное пространтсво клиента и патчер крипта... вотс...

Author:  J17 [ 2005-04-06 09:48:42 ]
Post subject: 

Fall0ut wrote:
1) Патчиться крипт то бишь чтоб инжект получил трафик от клиента в чистом виде а не шифрованый....

То бишь, расшифровкой трафика занимается только клиент, а инжект берет уже всё готовое? Если так, то зачем на главной закладке инжекта нужно выбрать Encryption?..

Author:  Yoko [ 2005-04-06 23:32:38 ]
Post subject: 

патчинг это пережиток старины
преданья старины былинной

инжект вырос из небольшой нашлёпки на программу Ignition, смыслом которой было снимать энкрипт с протокола для фришардов.

ну а если уже идёт чистый поток, почему бы его не читать?

а если читать то почему бы и не изменять?

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

Author:  Fall0ut [ 2005-04-07 11:36:02 ]
Post subject: 

Да новые технологии довно можно использовать только надо оно кому?... сомневаюсь...

Author:  Yoko [ 2005-04-08 21:16:50 ]
Post subject: 

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

Author:  J17 [ 2005-04-08 21:21:38 ]
Post subject: 

Супер!
А есть ли надежда, что разработка продолжится?
Может быть, нужна помощь?

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/