-
Автор темы
- #1
// Lightweight x86 instruction interpreter
unsigned int x86Copy(void *dest, const void *address, int count)
{
unsigned char *pDest = (unsigned char *)dest;
const unsigned char *pSrc = (unsigned char *)address;
while(count--)
{
const unsigned char *pStart = pSrc;
unsigned char opcode = NULL,
modRM = 0xFF;
unsigned int operandSize = sizeof(DWORD),
addressSize = sizeof(DWORD),
immediate = 0;
// Decode Prefix
/////////////////////////////////////////////////////////
while(*pSrc == 0xF0 || // LOCK
*pSrc == 0xF2 || // REPNE/REPNZ
*pSrc == 0xF3 || // REP/REPZ
*pSrc == 0x2E || // CS segment
*pSrc == 0x36 || // SS segment
*pSrc == 0x3E || // DS segment
*pSrc == 0x26 || // ES segment
*pSrc == 0x64 || // FS segment
*pSrc == 0x65 || // GS segment
*pSrc == 0x66 || // Operand-size override
*pSrc == 0x67) // Address-size override
{
if(*pSrc == 0x66) // Operand-size override
operandSize = sizeof(WORD);
else if(*pSrc == 0x67) // Address-size override
addressSize = sizeof(WORD);
pSrc++;
}
// Decode Opcode
/////////////////////////////////////////////////////////
// Secondary Opcode
unsigned char secondaryOpcode = NULL;
if(*pSrc == 0x0F || // Two-Byte Opcode
(*pSrc & 0xF8) == 0xD8) // FPU
secondaryOpcode = *pSrc++;
// Opcode
opcode = *pSrc++;
// Decode ModRM
//////////////////////////////////////////////////////////
if((opcode & 0xC0) != 0xC0 && secondaryOpcode)
modRM = opcode;
else if(!secondaryOpcode)
{
if((opcode & 0xC4) == 0x00 ||
(opcode & 0xF4) == 0x60 && ((opcode & 0x0A) == 0x02 ||
(opcode & 0x09) == 0x9) ||
(opcode & 0xF0) == 0x80 ||
(opcode & 0xF8) == 0xC0 && (opcode & 0x0E) != 0x02 ||
(opcode & 0xFC) == 0xD0 ||
(opcode & 0xF6) == 0xF6)
modRM = *pSrc++;
}
else
{
if((opcode & 0xF0) == 0x00 && (opcode & 0x0F) >= 0x04 && (opcode & 0x0D) != 0x0D ||
(opcode & 0xF0) == 0x30 ||
(opcode & 0xF0) == 0x80 ||
(opcode & 0xF0) == 0xA0 && (opcode & 0x07) <= 0x02 ||
(opcode & 0xF8) == 0xC8 ||
(opcode & 0xF8) == 0xE8 ||
opcode == 0x77)
{
// No mod R/M byte
}
else
modRM = *pSrc++;
}
// Decode SIB
/////////////////////////////////////////////////////
if((modRM & 0x07) == 0x04 &&
(modRM & 0xC0) != 0xC0)
pSrc++;
// Decode Displacement
/////////////////////////////////////////////////////
if((modRM & 0xC5) == 0x05 || (modRM & 0xC0) == 0x80)
pSrc += sizeof(DWORD);
if((modRM & 0xC0) == 0x40) // byte
pSrc++;
// Decode Immediate
/////////////////////////////////////////////////////
if(!secondaryOpcode)
{
if((opcode & 0xC7) == 0x04 ||
(opcode & 0xFE) == 0x6A || // PUSH/POP/IMUL
(opcode & 0xF0) == 0x70 || // Jcc
opcode == 0x80 ||
opcode == 0x83 ||
(opcode & 0xFD) == 0xA0 || // MOV
opcode == 0xA8 || // TEST
(opcode & 0xF8) == 0xB0 || // MOV
(opcode & 0xFE) == 0xC0 || // RCL
opcode == 0xC6 || // MOV
opcode == 0xCD || // INT
(opcode & 0xFE) == 0xD4 || // AAD/AAM
(opcode & 0xF8) == 0xE0 || // LOOP/JCXZ
opcode == 0xEB ||
opcode == 0xF6 && (modRM & 0x30) == 0x00) // TEST
{
pSrc++;
}
else if((opcode & 0xF7) == 0xC2)
{
pSrc += sizeof(WORD);
}
else if((opcode & 0xFC) == 0x80 ||
(opcode & 0xC7) == 0x05 || // ADD
(opcode & 0xF8) == 0xB8 || // MOV
(opcode & 0xFE) == 0xE8 || // CALL/JMP
(opcode & 0xFE) == 0x68 ||
(opcode & 0xFC) == 0xA0 ||
(opcode & 0xEE) == 0xA8 ||
opcode == 0xC7 ||
opcode == 0xF7 && (modRM & 0x30) == 0x00)
{
if(operandSize == sizeof(DWORD))
{
// adjust immediate relative to 'dest'
if((opcode & 0xFE) == 0xE8) // CALL / JMP
{
if(pDest)
{
immediate = (DWORD)pSrc + *(PDWORD)(PBYTE)pSrc;
}
}
}
pSrc += operandSize;
}
}
else
{
if(opcode == 0xBA || // BT
opcode == 0x0F || // 3DNow!
(opcode & 0xFC) == 0x70 || // PSLLW
(opcode & 0xF7) == 0xA4 || // SHLD
opcode == 0xC2 ||
opcode == 0xC4 ||
opcode == 0xC5 ||
opcode == 0xC6)
pSrc++;
else if((opcode & 0xF0) == 0x80)
pSrc += operandSize;
}
if(secondaryOpcode)
pSrc++;
if(pDest)
{
// copy instruction
while(pStart != pSrc)
*pDest++ = *pStart++;
// update immediate value
if(immediate)
*(PDWORD)(pDest - sizeof(DWORD)) = immediate - (DWORD)pDest + sizeof(DWORD);
}
}
return pSrc - (unsigned char *) address;
}
m_client.init( );
m_engine.init( );
m_client_ent_list.init( );
m_direct_device.init( );
m_surface.init( );
m_model_render.init( );
И как ты объяснишь тогда что драйвер подписан Майкрософт?1) Защита Алтимора
Защита в ските прославилась ещё на старте популярности чита, когда еушники с юц начали копать в их защиту, нашли драйвер скита, и офигели что он был подписанный настоящим Microsoft сертификатом, от туда и появилась эта байка мол один из кодеров работает в майкрософт. На самом же деле это не правда(или правд
так и знал что на digital пастят1) Защита Алтимора
Защита в ските прославилась ещё на старте популярности чита, когда еушники с юц начали копать в их защиту, нашли драйвер скита, и офигели что он был подписанный настоящим Microsoft сертификатом, от туда и появилась эта байка мол один из кодеров работает в майкрософт. На самом же деле это не правда(или правда), единственное что важно, так это, что кодер который писал защиту скиту действительно не простой чел. Сейчас я это докажу не на словах а общедоступными фактами приводя существенные примеры.
Поехали.
Человек с которым я сейчас буду сравнивать культа и абдулова это америкос, профи в драйверах, свободно пишет на ассемблере, общается с регистрами любого процессора на Ты, студент эм ай ти, и просто компьютерных дел мастер. Без рофлов, теперь показываю пруфы:
2) Skills
Знания этого чела позволяют ему влететь с двух ног в репозиторий Гидры и фиксить там ошибки:
Пожалуйста, авторизуйтесь для просмотра ссылки.Выглядит впечатляюще не так ли? всё ещё нет? погуглите что такое NationalSecurityAgency. но пох идём дальше
Теперь я покажу как этот человек хукает и делает свои хуки
Пожалуйста, авторизуйтесь для просмотра ссылки.
И как выглядят хуки культа и абдулова:Код:// Lightweight x86 instruction interpreter unsigned int x86Copy(void *dest, const void *address, int count) { unsigned char *pDest = (unsigned char *)dest; const unsigned char *pSrc = (unsigned char *)address; while(count--) { const unsigned char *pStart = pSrc; unsigned char opcode = NULL, modRM = 0xFF; unsigned int operandSize = sizeof(DWORD), addressSize = sizeof(DWORD), immediate = 0; // Decode Prefix ///////////////////////////////////////////////////////// while(*pSrc == 0xF0 || // LOCK *pSrc == 0xF2 || // REPNE/REPNZ *pSrc == 0xF3 || // REP/REPZ *pSrc == 0x2E || // CS segment *pSrc == 0x36 || // SS segment *pSrc == 0x3E || // DS segment *pSrc == 0x26 || // ES segment *pSrc == 0x64 || // FS segment *pSrc == 0x65 || // GS segment *pSrc == 0x66 || // Operand-size override *pSrc == 0x67) // Address-size override { if(*pSrc == 0x66) // Operand-size override operandSize = sizeof(WORD); else if(*pSrc == 0x67) // Address-size override addressSize = sizeof(WORD); pSrc++; } // Decode Opcode ///////////////////////////////////////////////////////// // Secondary Opcode unsigned char secondaryOpcode = NULL; if(*pSrc == 0x0F || // Two-Byte Opcode (*pSrc & 0xF8) == 0xD8) // FPU secondaryOpcode = *pSrc++; // Opcode opcode = *pSrc++; // Decode ModRM ////////////////////////////////////////////////////////// if((opcode & 0xC0) != 0xC0 && secondaryOpcode) modRM = opcode; else if(!secondaryOpcode) { if((opcode & 0xC4) == 0x00 || (opcode & 0xF4) == 0x60 && ((opcode & 0x0A) == 0x02 || (opcode & 0x09) == 0x9) || (opcode & 0xF0) == 0x80 || (opcode & 0xF8) == 0xC0 && (opcode & 0x0E) != 0x02 || (opcode & 0xFC) == 0xD0 || (opcode & 0xF6) == 0xF6) modRM = *pSrc++; } else { if((opcode & 0xF0) == 0x00 && (opcode & 0x0F) >= 0x04 && (opcode & 0x0D) != 0x0D || (opcode & 0xF0) == 0x30 || (opcode & 0xF0) == 0x80 || (opcode & 0xF0) == 0xA0 && (opcode & 0x07) <= 0x02 || (opcode & 0xF8) == 0xC8 || (opcode & 0xF8) == 0xE8 || opcode == 0x77) { // No mod R/M byte } else modRM = *pSrc++; } // Decode SIB ///////////////////////////////////////////////////// if((modRM & 0x07) == 0x04 && (modRM & 0xC0) != 0xC0) pSrc++; // Decode Displacement ///////////////////////////////////////////////////// if((modRM & 0xC5) == 0x05 || (modRM & 0xC0) == 0x80) pSrc += sizeof(DWORD); if((modRM & 0xC0) == 0x40) // byte pSrc++; // Decode Immediate ///////////////////////////////////////////////////// if(!secondaryOpcode) { if((opcode & 0xC7) == 0x04 || (opcode & 0xFE) == 0x6A || // PUSH/POP/IMUL (opcode & 0xF0) == 0x70 || // Jcc opcode == 0x80 || opcode == 0x83 || (opcode & 0xFD) == 0xA0 || // MOV opcode == 0xA8 || // TEST (opcode & 0xF8) == 0xB0 || // MOV (opcode & 0xFE) == 0xC0 || // RCL opcode == 0xC6 || // MOV opcode == 0xCD || // INT (opcode & 0xFE) == 0xD4 || // AAD/AAM (opcode & 0xF8) == 0xE0 || // LOOP/JCXZ opcode == 0xEB || opcode == 0xF6 && (modRM & 0x30) == 0x00) // TEST { pSrc++; } else if((opcode & 0xF7) == 0xC2) { pSrc += sizeof(WORD); } else if((opcode & 0xFC) == 0x80 || (opcode & 0xC7) == 0x05 || // ADD (opcode & 0xF8) == 0xB8 || // MOV (opcode & 0xFE) == 0xE8 || // CALL/JMP (opcode & 0xFE) == 0x68 || (opcode & 0xFC) == 0xA0 || (opcode & 0xEE) == 0xA8 || opcode == 0xC7 || opcode == 0xF7 && (modRM & 0x30) == 0x00) { if(operandSize == sizeof(DWORD)) { // adjust immediate relative to 'dest' if((opcode & 0xFE) == 0xE8) // CALL / JMP { if(pDest) { immediate = (DWORD)pSrc + *(PDWORD)(PBYTE)pSrc; } } } pSrc += operandSize; } } else { if(opcode == 0xBA || // BT opcode == 0x0F || // 3DNow! (opcode & 0xFC) == 0x70 || // PSLLW (opcode & 0xF7) == 0xA4 || // SHLD opcode == 0xC2 || opcode == 0xC4 || opcode == 0xC5 || opcode == 0xC6) pSrc++; else if((opcode & 0xF0) == 0x80) pSrc += operandSize; } if(secondaryOpcode) pSrc++; if(pDest) { // copy instruction while(pStart != pSrc) *pDest++ = *pStart++; // update immediate value if(immediate) *(PDWORD)(pDest - sizeof(DWORD)) = immediate - (DWORD)pDest + sizeof(DWORD); } } return pSrc - (unsigned char *) address; }
3) ЗаключениеКод:m_client.init( ); m_engine.init( ); m_client_ent_list.init( ); m_direct_device.init( ); m_surface.init( ); m_model_render.init( );
Я никогда в жизни не поверю что два 18ти летних хуесоса, у которых ещё молоко на губах не засохло, взломали-крякнули защиту серьёзного взрослого человека который делает коммиты в репозиторий анб, пишет свои интерпретаторы, и наизусть знает шестнадцатеричную систему.
Хорошо, может их матерям кололи стероиды и они сразу родились с большущим мозгом что позволило им всё таки сделать кряк(нет): остаётся лишь один вопрос: как они его собираются обновлять? учитывая что в кс2 ещё выйдет явно не одна и не две обновы....А ответ нам даст KucJloTa: позавчера Кислота залетел на стрим к ноулаву и просто чётко разъебал фразой: мол вспомните сколько прожил вантап и как его обновляли из года в год, ну конечно, скит это же вантап, а сам Виктор наверное думает что жрёт лобстеров когда в тарелке магазинные пельмени.
4) Мораль
В принципе, скит действительно заслуживает быть крякнутым либо скопированным, потому что на стаффе сидят хуесосы, которые варятся в теме продажи инвайтов, потом за это сами же банят потом опять продают и так по кругу хотя по их собственным правилам это запрещено.
Вы прочитали этот бред, что дальше?
Учитывая его цену в 15 баксов, и ваше дикое желание поиграть якобы со скитом, почему бы и нет, просто их громкие лозунги про кряк лучшей защиты выглядят нелепо, поэтому я написал эту хуйню, но в целом чит выглядит как скит красиво, иногда попадает - брать можно. Но если попросить у мамки докинуть 5 баксов, то лучше всё таки взять нл.
Но он по какой то причине может ебашить нл1) Защита Алтимора
Защита в ските прославилась ещё на старте популярности чита, когда еушники с юц начали копать в их защиту, нашли драйвер скита, и офигели что он был подписанный настоящим Microsoft сертификатом, от туда и появилась эта байка мол один из кодеров работает в майкрософт. На самом же деле это не правда(или правда), единственное что важно, так это, что кодер который писал защиту скиту действительно не простой чел. Сейчас я это докажу не на словах а общедоступными фактами приводя существенные примеры.
Поехали.
Человек с которым я сейчас буду сравнивать культа и абдулова это америкос, профи в драйверах, свободно пишет на ассемблере, общается с регистрами любого процессора на Ты, студент эм ай ти, и просто компьютерных дел мастер. Без рофлов, теперь показываю пруфы:
2) Skills
Знания этого чела позволяют ему влететь с двух ног в репозиторий Гидры и фиксить там ошибки:
Пожалуйста, авторизуйтесь для просмотра ссылки.Выглядит впечатляюще не так ли? всё ещё нет? погуглите что такое NationalSecurityAgency. но пох идём дальше
Теперь я покажу как этот человек хукает и делает свои хуки
Пожалуйста, авторизуйтесь для просмотра ссылки.
И как выглядят хуки культа и абдулова:Код:// Lightweight x86 instruction interpreter unsigned int x86Copy(void *dest, const void *address, int count) { unsigned char *pDest = (unsigned char *)dest; const unsigned char *pSrc = (unsigned char *)address; while(count--) { const unsigned char *pStart = pSrc; unsigned char opcode = NULL, modRM = 0xFF; unsigned int operandSize = sizeof(DWORD), addressSize = sizeof(DWORD), immediate = 0; // Decode Prefix ///////////////////////////////////////////////////////// while(*pSrc == 0xF0 || // LOCK *pSrc == 0xF2 || // REPNE/REPNZ *pSrc == 0xF3 || // REP/REPZ *pSrc == 0x2E || // CS segment *pSrc == 0x36 || // SS segment *pSrc == 0x3E || // DS segment *pSrc == 0x26 || // ES segment *pSrc == 0x64 || // FS segment *pSrc == 0x65 || // GS segment *pSrc == 0x66 || // Operand-size override *pSrc == 0x67) // Address-size override { if(*pSrc == 0x66) // Operand-size override operandSize = sizeof(WORD); else if(*pSrc == 0x67) // Address-size override addressSize = sizeof(WORD); pSrc++; } // Decode Opcode ///////////////////////////////////////////////////////// // Secondary Opcode unsigned char secondaryOpcode = NULL; if(*pSrc == 0x0F || // Two-Byte Opcode (*pSrc & 0xF8) == 0xD8) // FPU secondaryOpcode = *pSrc++; // Opcode opcode = *pSrc++; // Decode ModRM ////////////////////////////////////////////////////////// if((opcode & 0xC0) != 0xC0 && secondaryOpcode) modRM = opcode; else if(!secondaryOpcode) { if((opcode & 0xC4) == 0x00 || (opcode & 0xF4) == 0x60 && ((opcode & 0x0A) == 0x02 || (opcode & 0x09) == 0x9) || (opcode & 0xF0) == 0x80 || (opcode & 0xF8) == 0xC0 && (opcode & 0x0E) != 0x02 || (opcode & 0xFC) == 0xD0 || (opcode & 0xF6) == 0xF6) modRM = *pSrc++; } else { if((opcode & 0xF0) == 0x00 && (opcode & 0x0F) >= 0x04 && (opcode & 0x0D) != 0x0D || (opcode & 0xF0) == 0x30 || (opcode & 0xF0) == 0x80 || (opcode & 0xF0) == 0xA0 && (opcode & 0x07) <= 0x02 || (opcode & 0xF8) == 0xC8 || (opcode & 0xF8) == 0xE8 || opcode == 0x77) { // No mod R/M byte } else modRM = *pSrc++; } // Decode SIB ///////////////////////////////////////////////////// if((modRM & 0x07) == 0x04 && (modRM & 0xC0) != 0xC0) pSrc++; // Decode Displacement ///////////////////////////////////////////////////// if((modRM & 0xC5) == 0x05 || (modRM & 0xC0) == 0x80) pSrc += sizeof(DWORD); if((modRM & 0xC0) == 0x40) // byte pSrc++; // Decode Immediate ///////////////////////////////////////////////////// if(!secondaryOpcode) { if((opcode & 0xC7) == 0x04 || (opcode & 0xFE) == 0x6A || // PUSH/POP/IMUL (opcode & 0xF0) == 0x70 || // Jcc opcode == 0x80 || opcode == 0x83 || (opcode & 0xFD) == 0xA0 || // MOV opcode == 0xA8 || // TEST (opcode & 0xF8) == 0xB0 || // MOV (opcode & 0xFE) == 0xC0 || // RCL opcode == 0xC6 || // MOV opcode == 0xCD || // INT (opcode & 0xFE) == 0xD4 || // AAD/AAM (opcode & 0xF8) == 0xE0 || // LOOP/JCXZ opcode == 0xEB || opcode == 0xF6 && (modRM & 0x30) == 0x00) // TEST { pSrc++; } else if((opcode & 0xF7) == 0xC2) { pSrc += sizeof(WORD); } else if((opcode & 0xFC) == 0x80 || (opcode & 0xC7) == 0x05 || // ADD (opcode & 0xF8) == 0xB8 || // MOV (opcode & 0xFE) == 0xE8 || // CALL/JMP (opcode & 0xFE) == 0x68 || (opcode & 0xFC) == 0xA0 || (opcode & 0xEE) == 0xA8 || opcode == 0xC7 || opcode == 0xF7 && (modRM & 0x30) == 0x00) { if(operandSize == sizeof(DWORD)) { // adjust immediate relative to 'dest' if((opcode & 0xFE) == 0xE8) // CALL / JMP { if(pDest) { immediate = (DWORD)pSrc + *(PDWORD)(PBYTE)pSrc; } } } pSrc += operandSize; } } else { if(opcode == 0xBA || // BT opcode == 0x0F || // 3DNow! (opcode & 0xFC) == 0x70 || // PSLLW (opcode & 0xF7) == 0xA4 || // SHLD opcode == 0xC2 || opcode == 0xC4 || opcode == 0xC5 || opcode == 0xC6) pSrc++; else if((opcode & 0xF0) == 0x80) pSrc += operandSize; } if(secondaryOpcode) pSrc++; if(pDest) { // copy instruction while(pStart != pSrc) *pDest++ = *pStart++; // update immediate value if(immediate) *(PDWORD)(pDest - sizeof(DWORD)) = immediate - (DWORD)pDest + sizeof(DWORD); } } return pSrc - (unsigned char *) address; }
3) ЗаключениеКод:m_client.init( ); m_engine.init( ); m_client_ent_list.init( ); m_direct_device.init( ); m_surface.init( ); m_model_render.init( );
Я никогда в жизни не поверю что два 18ти летних хуесоса, у которых ещё молоко на губах не засохло, взломали-крякнули защиту серьёзного взрослого человека который делает коммиты в репозиторий анб, пишет свои интерпретаторы, и наизусть знает шестнадцатеричную систему.
Хорошо, может их матерям кололи стероиды и они сразу родились с большущим мозгом что позволило им всё таки сделать кряк(нет): остаётся лишь один вопрос: как они его собираются обновлять? учитывая что в кс2 ещё выйдет явно не одна и не две обновы....А ответ нам даст KucJloTa: позавчера Кислота залетел на стрим к ноулаву и просто чётко разъебал фразой: мол вспомните сколько прожил вантап и как его обновляли из года в год, ну конечно, скит это же вантап, а сам Виктор наверное думает что жрёт лобстеров когда в тарелке магазинные пельмени.
4) Мораль
В принципе, скит действительно заслуживает быть крякнутым либо скопированным, потому что на стаффе сидят хуесосы, которые варятся в теме продажи инвайтов, потом за это сами же банят потом опять продают и так по кругу хотя по их собственным правилам это запрещено.
Вы прочитали этот бред, что дальше?
Учитывая его цену в 15 баксов, и ваше дикое желание поиграть якобы со скитом, почему бы и нет, просто их громкие лозунги про кряк лучшей защиты выглядят нелепо, поэтому я написал эту хуйню, но в целом чит выглядит как скит красиво, иногда попадает - брать можно. Но если попросить у мамки докинуть 5 баксов, то лучше всё таки взять нл.
АНБ АНКРЯКАБЛ!!! НЕВЕР ЕВЕР КРЯК!!взломали-крякнули защиту серьёзного взрослого человека который делает коммиты в репозиторий анб
Все бы хотели подписывать свои pe файлы сертификатом майкрософт ( что не возможно )он был подписанный настоящим Microsoft сертификатом, от туда и появилась эта байка мол один из кодеров работает в майкрософт
Почти все читы сделаны по одной системе, так как движок Source ( Source 2 )мол вспомните сколько прожил вантап и как его обновляли из года в год, ну конечно, скит это же вантап
хватит фанатить естк. он не такой гений как ты думаешь. да защита там лучше чем в многих хаках, но это не значит что она не крякаемая.1) Защита Алтимора
Защита в ските прославилась ещё на старте популярности чита, когда еушники с юц начали копать в их защиту, нашли драйвер скита, и офигели что он был подписанный настоящим Microsoft сертификатом, от туда и появилась эта байка мол один из кодеров работает в майкрософт. На самом же деле это не правда(или правда), единственное что важно, так это, что кодер который писал защиту скиту действительно не простой чел. Сейчас я это докажу не на словах а общедоступными фактами приводя существенные примеры.
Поехали.
Человек с которым я сейчас буду сравнивать культа и абдулова это америкос, профи в драйверах, свободно пишет на ассемблере, общается с регистрами любого процессора на Ты, студент эм ай ти, и просто компьютерных дел мастер. Без рофлов, теперь показываю пруфы:
2) Skills
Знания этого чела позволяют ему влететь с двух ног в репозиторий Гидры и фиксить там ошибки:
Пожалуйста, авторизуйтесь для просмотра ссылки.Выглядит впечатляюще не так ли? всё ещё нет? погуглите что такое NationalSecurityAgency. но пох идём дальше
Теперь я покажу как этот человек хукает и делает свои хуки
Пожалуйста, авторизуйтесь для просмотра ссылки.
И как выглядят хуки культа и абдулова:Код:// Lightweight x86 instruction interpreter unsigned int x86Copy(void *dest, const void *address, int count) { unsigned char *pDest = (unsigned char *)dest; const unsigned char *pSrc = (unsigned char *)address; while(count--) { const unsigned char *pStart = pSrc; unsigned char opcode = NULL, modRM = 0xFF; unsigned int operandSize = sizeof(DWORD), addressSize = sizeof(DWORD), immediate = 0; // Decode Prefix ///////////////////////////////////////////////////////// while(*pSrc == 0xF0 || // LOCK *pSrc == 0xF2 || // REPNE/REPNZ *pSrc == 0xF3 || // REP/REPZ *pSrc == 0x2E || // CS segment *pSrc == 0x36 || // SS segment *pSrc == 0x3E || // DS segment *pSrc == 0x26 || // ES segment *pSrc == 0x64 || // FS segment *pSrc == 0x65 || // GS segment *pSrc == 0x66 || // Operand-size override *pSrc == 0x67) // Address-size override { if(*pSrc == 0x66) // Operand-size override operandSize = sizeof(WORD); else if(*pSrc == 0x67) // Address-size override addressSize = sizeof(WORD); pSrc++; } // Decode Opcode ///////////////////////////////////////////////////////// // Secondary Opcode unsigned char secondaryOpcode = NULL; if(*pSrc == 0x0F || // Two-Byte Opcode (*pSrc & 0xF8) == 0xD8) // FPU secondaryOpcode = *pSrc++; // Opcode opcode = *pSrc++; // Decode ModRM ////////////////////////////////////////////////////////// if((opcode & 0xC0) != 0xC0 && secondaryOpcode) modRM = opcode; else if(!secondaryOpcode) { if((opcode & 0xC4) == 0x00 || (opcode & 0xF4) == 0x60 && ((opcode & 0x0A) == 0x02 || (opcode & 0x09) == 0x9) || (opcode & 0xF0) == 0x80 || (opcode & 0xF8) == 0xC0 && (opcode & 0x0E) != 0x02 || (opcode & 0xFC) == 0xD0 || (opcode & 0xF6) == 0xF6) modRM = *pSrc++; } else { if((opcode & 0xF0) == 0x00 && (opcode & 0x0F) >= 0x04 && (opcode & 0x0D) != 0x0D || (opcode & 0xF0) == 0x30 || (opcode & 0xF0) == 0x80 || (opcode & 0xF0) == 0xA0 && (opcode & 0x07) <= 0x02 || (opcode & 0xF8) == 0xC8 || (opcode & 0xF8) == 0xE8 || opcode == 0x77) { // No mod R/M byte } else modRM = *pSrc++; } // Decode SIB ///////////////////////////////////////////////////// if((modRM & 0x07) == 0x04 && (modRM & 0xC0) != 0xC0) pSrc++; // Decode Displacement ///////////////////////////////////////////////////// if((modRM & 0xC5) == 0x05 || (modRM & 0xC0) == 0x80) pSrc += sizeof(DWORD); if((modRM & 0xC0) == 0x40) // byte pSrc++; // Decode Immediate ///////////////////////////////////////////////////// if(!secondaryOpcode) { if((opcode & 0xC7) == 0x04 || (opcode & 0xFE) == 0x6A || // PUSH/POP/IMUL (opcode & 0xF0) == 0x70 || // Jcc opcode == 0x80 || opcode == 0x83 || (opcode & 0xFD) == 0xA0 || // MOV opcode == 0xA8 || // TEST (opcode & 0xF8) == 0xB0 || // MOV (opcode & 0xFE) == 0xC0 || // RCL opcode == 0xC6 || // MOV opcode == 0xCD || // INT (opcode & 0xFE) == 0xD4 || // AAD/AAM (opcode & 0xF8) == 0xE0 || // LOOP/JCXZ opcode == 0xEB || opcode == 0xF6 && (modRM & 0x30) == 0x00) // TEST { pSrc++; } else if((opcode & 0xF7) == 0xC2) { pSrc += sizeof(WORD); } else if((opcode & 0xFC) == 0x80 || (opcode & 0xC7) == 0x05 || // ADD (opcode & 0xF8) == 0xB8 || // MOV (opcode & 0xFE) == 0xE8 || // CALL/JMP (opcode & 0xFE) == 0x68 || (opcode & 0xFC) == 0xA0 || (opcode & 0xEE) == 0xA8 || opcode == 0xC7 || opcode == 0xF7 && (modRM & 0x30) == 0x00) { if(operandSize == sizeof(DWORD)) { // adjust immediate relative to 'dest' if((opcode & 0xFE) == 0xE8) // CALL / JMP { if(pDest) { immediate = (DWORD)pSrc + *(PDWORD)(PBYTE)pSrc; } } } pSrc += operandSize; } } else { if(opcode == 0xBA || // BT opcode == 0x0F || // 3DNow! (opcode & 0xFC) == 0x70 || // PSLLW (opcode & 0xF7) == 0xA4 || // SHLD opcode == 0xC2 || opcode == 0xC4 || opcode == 0xC5 || opcode == 0xC6) pSrc++; else if((opcode & 0xF0) == 0x80) pSrc += operandSize; } if(secondaryOpcode) pSrc++; if(pDest) { // copy instruction while(pStart != pSrc) *pDest++ = *pStart++; // update immediate value if(immediate) *(PDWORD)(pDest - sizeof(DWORD)) = immediate - (DWORD)pDest + sizeof(DWORD); } } return pSrc - (unsigned char *) address; }
3) ЗаключениеКод:m_client.init( ); m_engine.init( ); m_client_ent_list.init( ); m_direct_device.init( ); m_surface.init( ); m_model_render.init( );
Я никогда в жизни не поверю что два 18ти летних хуесоса, у которых ещё молоко на губах не засохло, взломали-крякнули защиту серьёзного взрослого человека который делает коммиты в репозиторий анб, пишет свои интерпретаторы, и наизусть знает шестнадцатеричную систему.
Хорошо, может их матерям кололи стероиды и они сразу родились с большущим мозгом что позволило им всё таки сделать кряк(нет): остаётся лишь один вопрос: как они его собираются обновлять? учитывая что в кс2 ещё выйдет явно не одна и не две обновы....А ответ нам даст KucJloTa: позавчера Кислота залетел на стрим к ноулаву и просто чётко разъебал фразой: мол вспомните сколько прожил вантап и как его обновляли из года в год, ну конечно, скит это же вантап, а сам Виктор наверное думает что жрёт лобстеров когда в тарелке магазинные пельмени.
4) Мораль
В принципе, скит действительно заслуживает быть крякнутым либо скопированным, потому что на стаффе сидят хуесосы, которые варятся в теме продажи инвайтов, потом за это сами же банят потом опять продают и так по кругу хотя по их собственным правилам это запрещено.
Вы прочитали этот бред, что дальше?
Учитывая его цену в 15 баксов, и ваше дикое желание поиграть якобы со скитом, почему бы и нет, просто их громкие лозунги про кряк лучшей защиты выглядят нелепо, поэтому я написал эту хуйню, но в целом чит выглядит как скит красиво, иногда попадает - брать можно. Но если попросить у мамки докинуть 5 баксов, то лучше всё таки взять нл.
Ну прекращай уже блин, жир с монитора стекает. Я не верю, что можно быть таким недалеким. Любой прекрасно понимает, что приведенный тобой снипет кода во первых интерпретатором то называется с натяжкой, это скорее дизассемблер длин с встроенным копированием по другому адресу и исправлением рва адресации. Подобный парт является обязательным и есть под капотом любого адекватного перехватчика вызовов,в том числе многих самопальных как в данном примере, алсо подобный код как в примере не хендлит многие кейсы, но ему это и не надо тбх, потому что это мод для игрушки сто летней давности :). Ничего удивительного в этом коде нет. На самом деле смешно видеть, как подобный простенький кусочек кода вызывает в тебе детский восторг и изумление. Я в лет 15 так же восторгался шаблонной магии на плюсах и считал ее чем-то непостижимым ;) Спешу тебя расстроить, но такие шутки под капотом есть у всех, а высокоуровневая часть апи у него буквально m_hook.enable(), просто он в конструкторе вызываетсяТеперь я покажу как этот человек хукает и делает свои хуки
что он был подписанный настоящим Microsoft сертификатом
А разница-то какая для нас всех здесь? Тебе для оформления EV сертификата, например, достаточно иметь компанию и предоставить информацию о ней. Сертификаты получить порой проблематично, но не нереально. В чём смысл писать о том, о чём сам не понимаешь?На самом же деле это не правда(или правда)
И это пул,Знания этого чела позволяют ему влететь с двух ног в репозиторий Гидры и фиксить там ошибки
Нет, не показал. То, что ты нам всем на обозрение скинул - именно что дизассемблер длин, который юзается для построения трамплина (судя по репозиторию). Дизассемблер юзаетсяТеперь я покажу как этот человек хукает и делает свои хуки
Пожалуйста, авторизуйтесь для просмотра ссылки.
У тебя сравнение некорректное, держу в курсе. Ты показываешь нам одно, но сравниваешь c совершенно другим. В чём смысл?И как выглядят хуки культа и абдулова
Ты очень предвзято относишься к людям, которых ты не знаешь, но которые в чём-то преуспели. У тебя с этим какая-то проблема. Тебе никто не запрещает, конечно, недолюбливать кого-то из коммьюнити. Я могу даже с натяжкой понять твою парадигму "Я Д'Артяньян, а вы пидорасы". Только нахуя ты вываливаешь всё это на общее обозрение? У тебя дефицит внимания или что? Или ты завидуешь людям со знанием или практикой? Или это постирония такая? Я не выкупаю.Я никогда в жизни не поверю что два 18ти летних хуесоса
Ахуенный пул, согласен. Я бы так тоже хотел с двух ног влетать. Увы, не всегда получается.взрослого человека который делает коммиты в репозиторий анб
В чём сложность написания дизассемблера-то?пишет свои интерпретаторы
Ну я думаю, ты умеешь считать от 0 до 15наизусть знает шестнадцатеричную систему
А нахуя я всё это писал тогдапоэтому я написал эту хуйню
Приношу свои извинения, не знаю кто стоит за написанием мне этого ответа, но этот человек серьёзно относится к делу. Благодарю что выделили время на моё эго, изначально мой пост не хотел никого оскорбить, просто я застал время когда появился скит и тогда многие именитые еушники пытались крякнуть не у кого не вышло. Если у вас действительно получилось, это уникальный опыт в который сложно поверить, думаю мы можем это сравнить с высадкой американцев на луну, да есть видео, но кто то верит а кто то нет и обе стороны на протяжении века приводят весомые аргументы за и противАчё так воняет-то, пездаааа!
А разница-то какая для нас всех здесь? Тебе для оформления EV сертификата, например, достаточно иметь компанию и предоставить информацию о ней. Сертификаты получить порой проблематично, но не нереально. В чём смысл писать о том, о чём сам не понимаешь?
И это пул,Пожалуйста, авторизуйтесь для просмотра ссылки.в файле с описанием архитектуры. Ахуенный пул, серьёзно, пиздатый, прям ух нахуй, ряльна с двух ног влетел. А если серьёзно - мне не кажется, что этот пул "олицетворяет" фразу "влететь с двух ног". Это обычный пул коих десятки в популярных репозиториях популярных тулзов,Пожалуйста, авторизуйтесь для просмотра ссылки.из той же гидры. Баг фиксы - прикольно, только это "не влететь с двух ног", как ты выразился. В чём смысл этого тейка?
Гидра говно ебаное, кстати, юзайте ильфака
Нет, не показал. То, что ты нам всем на обозрение скинул - именно что дизассемблер длин, который юзается для построения трамплина (судя по репозиторию). Дизассемблер юзаетсяПожалуйста, авторизуйтесь для просмотра ссылки.(минхук для примера), связанных так или иначе с хуканием чего-либо,Пожалуйста, авторизуйтесь для просмотра ссылки.Пожалуйста, авторизуйтесь для просмотра ссылки.Пожалуйста, авторизуйтесь для просмотра ссылки.есть целые либы для дизассемблирования (нихуя себе). Я такие вещи даю первокурсникам, которые хотяб что-то вдупляют, не поверишь - спокойно пишут.
У тебя сравнение некорректное, держу в курсе. Ты показываешь нам одно, но сравниваешь c совершенно другим. В чём смысл?
Ты очень предвзято относишься к людям, которых ты не знаешь, но которые в чём-то преуспели. У тебя с этим какая-то проблема. Тебе никто не запрещает, конечно, недолюбливать кого-то из коммьюнити. Я могу даже с натяжкой понять твою парадигму "Я Д'Артяньян, а вы пидорасы". Только нахуя ты вываливаешь всё это на общее обозрение? У тебя дефицит внимания или что? Или ты завидуешь людям со знанием или практикой? Или это постирония такая? Я не выкупаю.
Ахуенный пул, согласен. Я бы так тоже хотел с двух ног влетать. Увы, не всегда получается.
В чём сложность написания дизассемблера-то?
Ну я думаю, ты умеешь считать от 0 до 15
А нахуя я всё это писал тогда
Короче, отстань от людей, get a life, как говорится. Ну, ещё желательно хуйню перестать нести.
sya
Можно.Я не верю, что можно быть таким недалеким.
в блекбоне такие пиздатые касты есть...Можно.
Он видит код с темплейтом - уже считает тебя господь-богом компьютер саенса. Не дай боже ты указатель кастанешь к другому типу - сразу будешь записан в уважаемые люди. Дополнительные очки за использование того что он не видел (asm блоки и атрибуты - наше всё). Заводится от оплаченной лицензии вмпротекта. Верит в то что "скит делали люди понимающие", а неверлуз проджект "купил мозги". Если скинуть ему скриншот х64дбг - попросит твой дискорд, так как ты становишься автоматически человеком понимающим.
Фрик.
Вы же понимаете, что в настоящем обществе на идаюзеров смотрят как на замызганных чуханов, которые убогие, некрасивые, ничего не успевают, и все время чем то недовольные омеганы.Гидра говно ебаное, кстати, юзайте ильфака
ЕБАТЬ ЭТО ЧЕ ЮНИОН? С ДВУХ НОГ!в блекбоне такие пиздатые касты есть...
СУКА ПОМОГИТЕдумаю мы можем это сравнить с высадкой американцев на луну
Капиталист Тайлер ЖирденОбладатель двух хуёвин. Я кто тогда?
Посмотреть вложение 272184
Вы же понимаете, что в настоящем обществе на идаюзеров и бинжаюзеров смотрят как на замызганных чуханов, которые убогие, некрасивые, ничего не успевают, и все время чем то недовольные омеганы. Ставь радар.Обладатель двух хуёвин. Я кто тогда?
Посмотреть вложение 272184
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz