• Страница 1 из 1
  • 1
Мутация кода чита (Anti-Vac) для читов cs:go
Kentos311Дата: Воскресенье, 15.04.2018, 13:10 | Сообщение # 1
Сообщений: 729
Статус:
Небольшой гайд о том как провести мутацию кода в чите, а точнее чтобы шансы на его детект были малейшие.  Для того чтобы всё сделать правильно, вам необходимо вызвать crypt1(), и он мутирует код от одной _asm вставки до другой, в данном чите который будете использовать, можно будет сделать несколько в разных местах, при этом шанс будет намного ниже.


Код
DWORD func_start1; 

DWORD func_end1; 

void to_be_crypted1() 

_asm // получаем адрес начала функции 

CALL next1 
next1 : pop func_start1 

int a[123], b[321], c[322];// здесь начинаем писать какую нибудь х*йню (чем больше тем лучше, тем больше зашифруется) 
for (int i = 0; i < 123; i++) 

if (i % 2 == 0) 

a [i]= i - 1; 
b [i]= a [i]* 123; 
c [i]= 321; 

else 

a [i]= i + 1; 
b [i]= 123; 
c [i]= a [i]* 321; 


for (int i = 0; i<2; i++) 

a[12] = b[12]; 
a[11] = b[12]; 
a[10] = b[12]; 
a[9] = b[12]; 
a[8] = b[12]; 

int y = 0; 
while (y < 12) 

a [y]= a[y + 1]; 
y++; 

y = 1; 
while (y < 24) 

a[y - 1] = a[y + 1]; 
y++; 

y = 2;// здесь заканчиваем писать какую нибудь х*йню 
_asm // получаем адрес конца функции 

CALL next2 
next2 : pop func_end1 


void crypt1() 

to_be_crypted1();// вызываем чтобы узнать адреса 
DWORD FuncSize = func_end1 - func_start1, OldProtect, Ignore; 
DWORD StartAddr = func_start1; 
DWORD xd = func_start1; 
VirtualProtect((LPVOID)StartAddr, FuncSize, PAGE_EXECUTE_READWRITE, &OldProtect);//разрешаем запись в эту область памяти 
for (int i = 0; i < FuncSize; i++) 

xd[(char*)0] = rand() % 12345; 
xd++; 

VirtualProtect((LPVOID)StartAddr, FuncSize, OldProtect, &Ignore); // запрещаем запись в эту область памяти 
cout « func_start1 « "func start\n";// debug 
cout « func_end1 « "func end\n"; // debug 
}
 
  • Страница 1 из 1
  • 1
Поиск: