Гайд BYPASS for CS:GO's LoadLibrary injection prevention mechanism.

  • Автор темы Автор темы sandyy
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
29 Дек 2018
Сообщения
435
Реакции
109
Создатель крупнейшего обхода VAC модуля,
Пожалуйста, авторизуйтесь для просмотра ссылки.
,
зделал обход новой "ТОПОВЫЙ АНТИ-ЧИТ СИСТЕМЫ ОТ ВАЛВЕ" при помощью патчинга одного байта(1byte) игровой памяти. Скрипт написан на Python и на C.

Как это работает: (Этот уголок для тех кто знает Disassembly)
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_8]
mov eax, [esi+8]
mov eax, [eax+4]
test eax, eax ; is ObjectAttributes->ObjectName->Buffer not null
jz short loc_4095BB ; we patch this to skip loc_4095A1

loc_4095A1:

test byte ptr [ebp+arg_4], 20h ; check if DesiredAccess is equal FILE_EXECUTE
jz short loc_4095BB
push eax ; ObjectAttributes->ObjectName->Buffer
call sub_40D460
test al, al ; check if dll is allowed to load
jnz short loc_4095BB
mov eax, 0C0000034h ; return STATUS_OBJECT_NAME_NOT_FOUND
pop esi
pop ebp
retn 18h

loc_4095BB:

push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call originalNtOpenFile
pop esi
pop ebp
retn 18h

Код под Python:
Python:
Expand Collapse Copy
import pymem
import re

pm = pymem.Pymem('csgo.exe')

# bypass NtOpenFile hook in csgo.exe

csgo = pymem.process.module_from_name(pm.process_handle,
                                      'csgo.exe')

csgoModule = pm.read_bytes(csgo.lpBaseOfDll, csgo.SizeOfImage)
address = csgo.lpBaseOfDll + re.search(rb'.\x1A\xF6\x45\x0C\x20',
                                       csgoModule).start()

pm.write_uchar(address, 0xEB if pm.read_uchar(address) == 0x74 else 0x74)

# bypass thread creation detection in DllMain of client.dll

client = pymem.process.module_from_name(pm.process_handle,
                                        'client.dll')

clientModule = pm.read_bytes(client.lpBaseOfDll, client.SizeOfImage)
address = client.lpBaseOfDll + re.search(rb'.\x55\x6A\x00\x6A\x04',
                                         clientModule).start()

pm.write_uchar(address, 0xEB if pm.read_uchar(address) == 0x74 else 0x74)

pm.close_process()


Другой метод обхода anti-loadlibrary это восстановление первых 5 байтов оригинального NtOpenFile. Example под C:

Код под C:
C:
Expand Collapse Copy
// Restore original NtOpenFile from external process
LPVOID ntOpenFile = GetProcAddress(LoadLibraryW(L"ntdll"), "NtOpenFile");
if (ntOpenFile) {
    char originalBytes[5];
    memcpy(originalBytes, ntOpenFile, 5);
    WriteProcessMemory(csgoProcessHandle, ntOpenFile, originalBytes, 5, NULL);
}

P.S Update 02.07.2020 <"
Пожалуйста, авторизуйтесь для просмотра ссылки.
">
 
Последнее редактирование:
пхпхпхпхп, эту игру уже ничего не спасет. Обход их топовой защиты сделали меньше чем за 1 день.
Это позор.
Да нет для них не позор. Пока читы живут у Valve будет доход. Если зделают ешё аничит как у FaceIt и 128tick сервера то минус вообще колосальный будет. Мамкин дрочер не будет больше катать с фри читами и хвх-шыть по полному.
 
Какие еще хитровыебанные обходы придумают под эту защиту?) Сама защита состоит из пары строк кода, чего вы хотите ?
 
пхпхпхпхп, эту игру уже ничего не спасет. Обход их топовой защиты сделали меньше чем за 1 день.
Это позор.
у меня накаляется жопа все больше и больше... КАКОЙ НАХУЙ ОБХОД? Обычная проверка на загрузку дллки??? Что тут обходить? Вак и раньше банил за некоторые лоад либрари инжекты... В паблике дохуища ммап инжектор, даже наш кернел инжектор... Какой же хайп нахуй ловят на этом апдейте...
 
у меня накаляется жопа все больше и больше... КАКОЙ НАХУЙ ОБХОД? Обычная проверка на загрузку дллки??? Что тут обходить? Вак и раньше банил за некоторые лоад либрари инжекты... В паблике дохуища ммап инжектор, даже наш кернел инжектор... Какой же хайп нахуй ловят на этом апдейте...
Можешь называть это как хочешь
 
Valve пора уже просто сдаться, эту игру уже ничего не спасет. Ну, может быть кроме Source 2 ничего не спасет :3
 
Это нужно просто запустить во время того как ты игру запустил или как?
 
Последнее редактирование:
Назад
Сверху Снизу