О том, как работает Injection.
Moderators: Murderator+, Murderator
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
omi4 wrote:шифровать не умеют 99% эмуляторов, инже шифры не мешают
Как это не умеют?.. Те кто не умеют - у тех играют через nocryptclient - там зайти с инжей вообще проще некуда..
Проблема в том, что некоторые всё-таки умеют и успешно это делают. А некоторые даже специально обучены администраторами делать это по-вумному.
Вообще, в наши времена, с либой от некра (вместе с которой идёт отличное описание шифрования в целом) - пора бы научиться шифровать..
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
omi4 wrote:дык укажи где крупт клиент нужен? Шарды где навесное оборудование прилепляют можно пропустить, это не то немного.
Рассмотрение частных случаев выходит за рамки этой темы, а тем более - этого раздела.
Если ты считаешь, что я не полностью раскрыл тему - пожалуйста, распиши то, что я упустил.
Крипт клиент например на антаресе нужен - ну и что? - Какой прок от этой информации?..
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
omi4 wrote:Сразу обиделся...
ilpatch.cfg это файл с шифрованием ну никак не связан, он нужен для патча. Точки для присоединения инжи к клиенту. Антарес с криптом?
Вытри что мы тут нафлудили и поправь.
Традиционно в файле размещается информация благодаря которой правится память клиента и снимается шифрование. Лично записывал туда diff байтиков простого клиента и патченного нокриптом, для большего понимания ситуации. Делал собственно по указке Yoko, которого целые сутки мучал по ICQ.
"Точки для присоединения инжи к клиенту" - вот это вообще не понял, признаться честно - я всегда недопонимал через какое место лаунчер лепит Injection.dll и направляет на него коннекшн, но чтобы размещать эту информацию в ilpatch.cfg - тут уж вы меня извините, полный бред.
А Антарес - действительно с криптом - зайти на него nocryptclient'ом не получиться. Это KR-серваки не могут похвастаться шифрованием, а вот старый изученный ренисанц - давным давно всеми хорошо шифруется.
ilpatch.cfg это файл ...., он нужен для патча.
Давай тогда заодно определение слова патч, в котором объясни, что патчить непосредственно необходимо под нокрипт и получи текст один в один мой.
PS: Сначала дофлудим, потом вытру.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
omi4 wrote:Injection - можно перевести как введение или инъекция. Он перехватывает и если нужно подменяет истинные данные. Для этого клиен патчится лаучером. В этом файле адреса для патча. Он даже так называется..
угу.. а храним мы там инфу по снятию крипта с клиента..
так и называется.. это как? ILPatch = Injection Launcher Patch ?) Млиа..
Давай ты прекратишь флудить и начнёшь отвечать на мои сообщения, я конечно понимаю - фантазия и всё такое, хочется каждый раз написать что-то новое, но блин - это противоречит правилам ведения разумного диалога!
Примечание: Флудить - в условном смысле, т.к. некоторую смысловую нагрузку твои сообщения всё же несут..
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
давай по слогам
Криптование снимается переписыванием байтиков в ехзешнике, делается это раз и навсегда. Кем написаны икак пользоватся все знают. Делать это при каждом запуске бессмысленно.
Инжекция происходит следующим макаром. Инжект запускает клиента, находит его в памяти и на основании данных файла о назначении которого спор вычисляет адреса где нужно поправить байтики чтобы перенаправить данные на инжект. Вот и все.
Так работают инжа, разор, асист.
Как описать это еще проще даже незнаю.
Криптование снимается переписыванием байтиков в ехзешнике, делается это раз и навсегда. Кем написаны икак пользоватся все знают. Делать это при каждом запуске бессмысленно.
Инжекция происходит следующим макаром. Инжект запускает клиента, находит его в памяти и на основании данных файла о назначении которого спор вычисляет адреса где нужно поправить байтики чтобы перенаправить данные на инжект. Вот и все.
Так работают инжа, разор, асист.
Как описать это еще проще даже незнаю.
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
omi4 wrote:давай по слогам
Ок.
omi4 wrote:Криптование снимается переписыванием байтиков в ехзешнике, делается это раз и навсегда. Кем написаны икак пользоватся все знают. Делать это при каждом запуске бессмысленно.
Ну не то, чтобы совсем бессмысленно, в любом случае - так делают, против фактов не попрёшь. Взять хотя бы топик Injection 2007.
omi4 wrote:Инжекция происходит следующим макаром. Инжект запускает клиента, находит его в памяти и на основании данных файла о назначении которого спор вычисляет адреса где нужно поправить байтики чтобы перенаправить данные на инжект. Вот и все.
Неправда.
omi4 wrote:Так работают инжа, разор, асист.
См. выше, Yoko Injection видимо особенный. Иначе чем ты объяснишь вполне работоспособную конструкцию:
Code: Select all
"string" crc32 length :
? Тобишь вообще без байтов.. ? Запускается и работает, если клиент - нокрипт.. Как тогда происходит перенаправление ?..
PS: Что курил?
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Для большего понимания всеми, что в информация в ilpatch.cfg предназначена не для прикручивания клиента к инже, маленькая вырезка из аси:
Не говоря уже про то, что заявление omi4 - написано видимо с большого недосыпу.
Пока есть желание добавить к своему тексту только то, что неплохо бы в конце каждого файла ставить перевод строки - упрощает жизнь.
119060 (03:48:53 2/05/2007)
слушай, а ведь инжа - кулл штука, она после того, как клиент загрузится - в памяти ковырятся, и делает это с лёгкой руки через любую инфу в илпатче
Кулл
Yoko (13:28:19 2/05/2007)
4) да, если патч статичный, т.е. то что надо править не меняется в зависимости от тех или иных параметров. Более того, программы типа изиуо и ассиста прямо через память управляют клиентом
Не говоря уже про то, что заявление omi4 - написано видимо с большого недосыпу.
Пока есть желание добавить к своему тексту только то, что неплохо бы в конце каждого файла ставить перевод строки - упрощает жизнь.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Временно перенёс в раздел хелпа..
Предлагаю обсудить, а потом обратно - в фак, чтобы не уплыл.
Предлагаю обсудить, а потом обратно - в фак, чтобы не уплыл.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Destruction wrote:omi4 wrote:давай по слогам
Ок.omi4 wrote:Криптование снимается переписыванием байтиков в ехзешнике, делается это раз и навсегда. Кем написаны икак пользоватся все знают. Делать это при каждом запуске бессмысленно.
Ну не то, чтобы совсем бессмысленно, в любом случае - так делают, против фактов не попрёшь. Взять хотя бы топик Injection 2007.omi4 wrote:Инжекция происходит следующим макаром. Инжект запускает клиента, находит его в памяти и на основании данных файла о назначении которого спор вычисляет адреса где нужно поправить байтики чтобы перенаправить данные на инжект. Вот и все.
Неправда.
лауч запускает длл инжи, которая запускает и патчит клиента. После этого лауч больше не нужен.
Что неправда?omi4 wrote:Так работают инжа, разор, асист.
См. выше, Yoko Injection видимо особенный. Иначе чем ты объяснишь вполне работоспособную конструкцию:Code: Select all
"string" crc32 length :
? Тобишь вообще без байтов.. ? Запускается и работает, если клиент - нокрипт.. Как тогда происходит перенаправление ?..
PS: Что курил?
Вопрос не понял.
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
omi4 wrote:Вопрос не понял.
Я тебя тоже не понял. Не оверквоть кстате.
Ты говоришь, что инжа берёт данные о том, куда ей пришиваться из файла ilpatch.cfg, я говорю - что это нихуя не так и спрашиваю, как оно тада запущается, если в файле нет данных?..
На что ты мне вот говоришь, что дескать вопрос не понял..
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
это часть строки, если нет там цифер, значит нет
вот что будет
вот строчка
по этому и непойму про что ты спросил
вот что будет
Code: Select all
bool Patch::load(const char * filename, unsigned int checksum,
unsigned int length)
{
FILE *hFile;
if((hFile = fopen(filename, "rb")) == 0) return false;
while(true)
{
char buffer[PATCH_LINE_MAX];
fgets(buffer, PATCH_LINE_MAX, hFile);
if(feof(hFile)) break;
char *pToken = &buffer[strspn(buffer, " \t\n\r")];
if(*pToken++ != '\"') continue;
char *strName = pToken;
if((pToken = strchr(pToken, '\"')) == 0) continue;
*pToken++ = 0;
unsigned int currentChecksum;
unsigned int currentLength;
if(sscanf(pToken, "%x %x", ¤tChecksum, ¤tLength) != 2) continue;
if((currentChecksum != checksum) || (currentLength != length)) continue;
if((pToken = strchr(pToken, ':')) == 0) continue;
if(!load_line(pToken + 1)) continue;
strcpy(m_name, strName);
fclose(hFile);
return true;
}
fclose(hFile);
return false;
}
вот строчка
Code: Select all
if((pToken = strchr(pToken, ':')) == 0) continue;
по этому и непойму про что ты спросил
Re: О том, как работает Injection.
Injection настроен на получение не зашифрованных пакетов, для чего нужно снять шифрование с клиента.
Никто его не настраивал;) и принимает он как криптованые так и не криптованые пакеты, а передает в клиент только не криптованые.
В отличаа от инжекта, тот же разор (поповоду асиста не знаю, но на 99% тот же принцип) перехват осущевствляется после того как пакет расшифруется самим клиентом и до как пойдет на шифрование, в инжекте же на оборот все;) По чему то разработчики решили, что хорошо было бы управлять шифрованием, в итоге получили, что в случаи не известных ключей инжект просто не работоспособен.
На самом деле - для шифрования пакетов Injection необходимо знать три ключа, но третий выясняется по ходу дела, поэтому его указывать не нужно.
На самом деле 3 ключ не вычисляется походу. их ровно 3, просто ввиду избраного алгоритма кодирования стадии подключения (логин), если один ключь отличается от другово всего 1 младшим битом, то ключи идентичны, а если не младшим;)) то тогда мы имеем вариант с абисом;)
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
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_k2
)>> 1
)
| (table0 << 31)
) ^ m_k1;
m_key[0] = ((table0 >> 1) | (table1 << 31)) ^ m_k3;
}
}
соответствено младший бит ключа m_k2 мало значим, так как присутствует опирация сдвига на 1 бит в право, следовательно (как оно и есть во всех клиентах) если разница между (вовтором примере) ключами m_k2 и m_k1 1 бит (младший) то они эдентичны;)
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Я ща вообще нафиг топик грохну.
Вы меня убить этими кодами решили?..
Я понятия не имею, что эти коды значат.
Пишите мне побайтно, что где в первом посте исправить, а лучше - пишите свой топик.
PS:
Какой индус это писал?... Там не было случаем копирайта?..
Вы меня убить этими кодами решили?..
Я понятия не имею, что эти коды значат.
Пишите мне побайтно, что где в первом посте исправить, а лучше - пишите свой топик.
PS:
Code: Select all
while(true)
{
...
return true;
}
Какой индус это писал?... Там не было случаем копирайта?..
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Инжекция происходит следующим макаром. Инжект запускает клиента, находит его в памяти и на основании данных файла о назначении которого спор вычисляет адреса где нужно поправить байтики чтобы перенаправить данные на инжект. Вот и все.
Нет. Илпатч нужен только для того что бы инжект не пытался расшифравать пакеты которые ему передает инжект, так как инжект передает пакеты в расшифрованном виде клиенту.
Инжект использует самую простую схему подключения, подменяет в таблице импорта основные пункции для работы ссокетами, и просто в наглую на "низком" уровне хватает трафик;) при этом инжект должен обладать возможность расшифровок и тд... в случаи с разаром нужно иметь таблицу куда цеплятся в памяти что бы перезхватывать выход с фунций расшифровки и шифровки.