- Yasaklandı
- #1
Banlı Üye
[font=Monaco, Consolas, Courier, monospace]PBYTE FindStartOfFunc[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE Addy[/FONT][font=Monaco, Consolas, Courier, monospace])
{
if (![/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace];
while ([/FONT][font=Monaco, Consolas, Courier, monospace]true[/FONT][font=Monaco, Consolas, Courier, monospace]) if ([/FONT][font=Monaco, Consolas, Courier, monospace]compare[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"\x55\x8B\xEC"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxx"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace]--)) return ++[/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE FindPush[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE sig[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]PCHAR mask[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]DWORD dwBase[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]DWORD dwLen[/FONT][font=Monaco, Consolas, Courier, monospace])
{
if (![/FONT][font=Monaco, Consolas, Courier, monospace]dwBase[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]nullptr[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]BYTE PushSig[/FONT][font=Monaco, Consolas, Courier, monospace][[/FONT][font=Monaco, Consolas, Courier, monospace]5[/FONT][font=Monaco, Consolas, Courier, monospace]] = { [/FONT][font=Monaco, Consolas, Courier, monospace]0x68[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0 [/FONT][font=Monaco, Consolas, Courier, monospace]};
*([/FONT][font=Monaco, Consolas, Courier, monospace]PDWORD[/FONT][font=Monaco, Consolas, Courier, monospace])(&[/FONT][font=Monaco, Consolas, Courier, monospace]PushSig[/FONT][font=Monaco, Consolas, Courier, monospace][[/FONT][font=Monaco, Consolas, Courier, monospace]1[/FONT][font=Monaco, Consolas, Courier, monospace]]) = [/FONT][font=Monaco, Consolas, Courier, monospace]FindSignature[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]sig[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]mask[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwBase[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwLen[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace]);
if (*([/FONT][font=Monaco, Consolas, Courier, monospace]PDWORD[/FONT][font=Monaco, Consolas, Courier, monospace])(&[/FONT][font=Monaco, Consolas, Courier, monospace]PushSig[/FONT][font=Monaco, Consolas, Courier, monospace][[/FONT][font=Monaco, Consolas, Courier, monospace]1[/FONT][font=Monaco, Consolas, Courier, monospace]]) == [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace];
return ([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]FindSignature[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]PushSig[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxxxx"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwBase[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwLen[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace]);
}
[/FONT][font=Monaco, Consolas, Courier, monospace]bool bTriggered [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]false[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]bSuccess [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]false[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]void bypass[/FONT][font=Monaco, Consolas, Courier, monospace]()
{
[/FONT][font=Monaco, Consolas, Courier, monospace]DWORD dwCShell [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindCShell[/FONT][font=Monaco, Consolas, Courier, monospace]();
if ([/FONT][font=Monaco, Consolas, Courier, monospace]dwCShell [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE BypassSig [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindPush[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"XIGNCODE"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxxxxxxxx"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwCShell[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]5000000[/FONT][font=Monaco, Consolas, Courier, monospace]);
if ([/FONT][font=Monaco, Consolas, Courier, monospace]BypassSig [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]nullptr[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE BypassFunc [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindStartOfFunc[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]BypassSig[/FONT][font=Monaco, Consolas, Courier, monospace]);
if ([/FONT][font=Monaco, Consolas, Courier, monospace]BypassFunc [/FONT][font=Monaco, Consolas, Courier, monospace]&& ![/FONT][font=Monaco, Consolas, Courier, monospace]memcmp[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]BypassFunc[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"\x55\x8B\xEC"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]3[/FONT][font=Monaco, Consolas, Courier, monospace]))
{
[/FONT][font=Monaco, Consolas, Courier, monospace]Wrt[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]BypassFunc[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"\xB0\x01\xC3"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]3[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]bSuccess [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]true[/FONT][font=Monaco, Consolas, Courier, monospace];
}
}
}
[/FONT][font=Monaco, Consolas, Courier, monospace]bTriggered [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]true[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]cBreakpoint[/FONT][font=Monaco, Consolas, Courier, monospace]* [/FONT][font=Monaco, Consolas, Courier, monospace]bp [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]LONG WINAPI ExceptionHandler[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_POINTERS[/FONT][font=Monaco, Consolas, Courier, monospace]* [/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace])
{
if ([/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ExceptionRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ExceptionCode [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_SINGLE_STEP[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_CONTINUE_SEARCH[/FONT][font=Monaco, Consolas, Courier, monospace];
if ([/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Eip [/FONT][font=Monaco, Consolas, Courier, monospace]== ([/FONT][font=Monaco, Consolas, Courier, monospace]DWORD[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Esp [/FONT][font=Monaco, Consolas, Courier, monospace]-= [/FONT][font=Monaco, Consolas, Courier, monospace]4[/FONT][font=Monaco, Consolas, Courier, monospace];
*([/FONT][font=Monaco, Consolas, Courier, monospace]PDWORD[/FONT][font=Monaco, Consolas, Courier, monospace])([/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Esp[/FONT][font=Monaco, Consolas, Courier, monospace]) = [/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Eip [/FONT][font=Monaco, Consolas, Courier, monospace]+ [/FONT][font=Monaco, Consolas, Courier, monospace]0x2[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Eip [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Edx[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]bypass[/FONT][font=Monaco, Consolas, Courier, monospace]();
return [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_CONTINUE_EXECUTION[/FONT][font=Monaco, Consolas, Courier, monospace];
}
return [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_CONTINUE_SEARCH[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]void Start[/FONT][font=Monaco, Consolas, Courier, monospace]()
{
[/FONT][font=Monaco, Consolas, Courier, monospace]Sleep[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]1000[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]AntiHWIDBan[/FONT][font=Monaco, Consolas, Courier, monospace]();
while ([/FONT][font=Monaco, Consolas, Courier, monospace]pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]== [/FONT][font=Monaco, Consolas, Courier, monospace]nullptr[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]Sleep[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]30[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindPush[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"DIRECTSHOW\x00"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxxxxxxxxx"[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]DWORD[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]GetModuleHandleA[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]"wolftü.bin"[/FONT][font=Monaco, Consolas, Courier, monospace]), [/FONT][font=Monaco, Consolas, Courier, monospace]5000000[/FONT][font=Monaco, Consolas, Courier, monospace]);
}
[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]-= [/FONT][font=Monaco, Consolas, Courier, monospace]2[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]bp [/FONT][font=Monaco, Consolas, Courier, monospace]= new [/FONT][font=Monaco, Consolas, Courier, monospace]cBreakpoint[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]ExceptionHandler[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]bp[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]SetBP[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]DWORD[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck[/FONT][font=Monaco, Consolas, Courier, monospace]);
while (![/FONT][font=Monaco, Consolas, Courier, monospace]bTriggered[/FONT][font=Monaco, Consolas, Courier, monospace]) [/FONT][font=Monaco, Consolas, Courier, monospace]Sleep[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]1000[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]delete bp[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]BOOL APIENTRY DllMain[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]HMODULE hModule[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]DWORD ul_reason_for_call[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]LPVOID lpReserved[/FONT][font=Monaco, Consolas, Courier, monospace])
{
if ([/FONT][font=Monaco, Consolas, Courier, monospace]ul_reason_for_call [/FONT][font=Monaco, Consolas, Courier, monospace]== [/FONT][font=Monaco, Consolas, Courier, monospace]DLL_PROCESS_ATTACH[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]//int iStaticModule = MessageBoxA(0, "Static CShell/Obj?", "", MB_YESNO);
//if (iStaticModule == IDYES) Hook((PBYTE)GetProcAddress(GetModuleHandleA("kernel32"), "GetTempFileNameA"), (PBYTE)&xGetTempFileNameA, 5);
[/FONT][font=Monaco, Consolas, Courier, monospace]HANDLE hThread [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]CreateThread[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]LPTHREAD_START_ROUTINE[/FONT][font=Monaco, Consolas, Courier, monospace])&[/FONT][font=Monaco, Consolas, Courier, monospace]Start[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace]);
if ([/FONT][font=Monaco, Consolas, Courier, monospace]hThread [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace]) [/FONT][font=Monaco, Consolas, Courier, monospace]CloseHandle[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]hThread[/FONT][font=Monaco, Consolas, Courier, monospace]);
}
return [/FONT][font=Monaco, Consolas, Courier, monospace]TRUE[/FONT][font=Monaco, Consolas, Courier, monospace];[/FONT]
{
if (![/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace];
while ([/FONT][font=Monaco, Consolas, Courier, monospace]true[/FONT][font=Monaco, Consolas, Courier, monospace]) if ([/FONT][font=Monaco, Consolas, Courier, monospace]compare[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"\x55\x8B\xEC"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxx"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace]--)) return ++[/FONT][font=Monaco, Consolas, Courier, monospace]Addy[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE FindPush[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE sig[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]PCHAR mask[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]DWORD dwBase[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]DWORD dwLen[/FONT][font=Monaco, Consolas, Courier, monospace])
{
if (![/FONT][font=Monaco, Consolas, Courier, monospace]dwBase[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]nullptr[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]BYTE PushSig[/FONT][font=Monaco, Consolas, Courier, monospace][[/FONT][font=Monaco, Consolas, Courier, monospace]5[/FONT][font=Monaco, Consolas, Courier, monospace]] = { [/FONT][font=Monaco, Consolas, Courier, monospace]0x68[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0 [/FONT][font=Monaco, Consolas, Courier, monospace]};
*([/FONT][font=Monaco, Consolas, Courier, monospace]PDWORD[/FONT][font=Monaco, Consolas, Courier, monospace])(&[/FONT][font=Monaco, Consolas, Courier, monospace]PushSig[/FONT][font=Monaco, Consolas, Courier, monospace][[/FONT][font=Monaco, Consolas, Courier, monospace]1[/FONT][font=Monaco, Consolas, Courier, monospace]]) = [/FONT][font=Monaco, Consolas, Courier, monospace]FindSignature[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]sig[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]mask[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwBase[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwLen[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace]);
if (*([/FONT][font=Monaco, Consolas, Courier, monospace]PDWORD[/FONT][font=Monaco, Consolas, Courier, monospace])(&[/FONT][font=Monaco, Consolas, Courier, monospace]PushSig[/FONT][font=Monaco, Consolas, Courier, monospace][[/FONT][font=Monaco, Consolas, Courier, monospace]1[/FONT][font=Monaco, Consolas, Courier, monospace]]) == [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace];
return ([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]FindSignature[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]PushSig[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxxxx"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwBase[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwLen[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace]);
}
[/FONT][font=Monaco, Consolas, Courier, monospace]bool bTriggered [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]false[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]bSuccess [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]false[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]void bypass[/FONT][font=Monaco, Consolas, Courier, monospace]()
{
[/FONT][font=Monaco, Consolas, Courier, monospace]DWORD dwCShell [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindCShell[/FONT][font=Monaco, Consolas, Courier, monospace]();
if ([/FONT][font=Monaco, Consolas, Courier, monospace]dwCShell [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE BypassSig [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindPush[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"XIGNCODE"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxxxxxxxx"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]dwCShell[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]5000000[/FONT][font=Monaco, Consolas, Courier, monospace]);
if ([/FONT][font=Monaco, Consolas, Courier, monospace]BypassSig [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]nullptr[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE BypassFunc [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindStartOfFunc[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]BypassSig[/FONT][font=Monaco, Consolas, Courier, monospace]);
if ([/FONT][font=Monaco, Consolas, Courier, monospace]BypassFunc [/FONT][font=Monaco, Consolas, Courier, monospace]&& ![/FONT][font=Monaco, Consolas, Courier, monospace]memcmp[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]BypassFunc[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"\x55\x8B\xEC"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]3[/FONT][font=Monaco, Consolas, Courier, monospace]))
{
[/FONT][font=Monaco, Consolas, Courier, monospace]Wrt[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]BypassFunc[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"\xB0\x01\xC3"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]3[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]bSuccess [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]true[/FONT][font=Monaco, Consolas, Courier, monospace];
}
}
}
[/FONT][font=Monaco, Consolas, Courier, monospace]bTriggered [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]true[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]cBreakpoint[/FONT][font=Monaco, Consolas, Courier, monospace]* [/FONT][font=Monaco, Consolas, Courier, monospace]bp [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]0[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]LONG WINAPI ExceptionHandler[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_POINTERS[/FONT][font=Monaco, Consolas, Courier, monospace]* [/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace])
{
if ([/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ExceptionRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ExceptionCode [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_SINGLE_STEP[/FONT][font=Monaco, Consolas, Courier, monospace]) return [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_CONTINUE_SEARCH[/FONT][font=Monaco, Consolas, Courier, monospace];
if ([/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Eip [/FONT][font=Monaco, Consolas, Courier, monospace]== ([/FONT][font=Monaco, Consolas, Courier, monospace]DWORD[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Esp [/FONT][font=Monaco, Consolas, Courier, monospace]-= [/FONT][font=Monaco, Consolas, Courier, monospace]4[/FONT][font=Monaco, Consolas, Courier, monospace];
*([/FONT][font=Monaco, Consolas, Courier, monospace]PDWORD[/FONT][font=Monaco, Consolas, Courier, monospace])([/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Esp[/FONT][font=Monaco, Consolas, Courier, monospace]) = [/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Eip [/FONT][font=Monaco, Consolas, Courier, monospace]+ [/FONT][font=Monaco, Consolas, Courier, monospace]0x2[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Eip [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]e[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]ContextRecord[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]Edx[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]bypass[/FONT][font=Monaco, Consolas, Courier, monospace]();
return [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_CONTINUE_EXECUTION[/FONT][font=Monaco, Consolas, Courier, monospace];
}
return [/FONT][font=Monaco, Consolas, Courier, monospace]EXCEPTION_CONTINUE_SEARCH[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]void Start[/FONT][font=Monaco, Consolas, Courier, monospace]()
{
[/FONT][font=Monaco, Consolas, Courier, monospace]Sleep[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]1000[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]AntiHWIDBan[/FONT][font=Monaco, Consolas, Courier, monospace]();
while ([/FONT][font=Monaco, Consolas, Courier, monospace]pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]== [/FONT][font=Monaco, Consolas, Courier, monospace]nullptr[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]Sleep[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]30[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]FindPush[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]PBYTE[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]"DIRECTSHOW\x00"[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]"xxxxxxxxxx"[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]DWORD[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]GetModuleHandleA[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]"wolftü.bin"[/FONT][font=Monaco, Consolas, Courier, monospace]), [/FONT][font=Monaco, Consolas, Courier, monospace]5000000[/FONT][font=Monaco, Consolas, Courier, monospace]);
}
[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck [/FONT][font=Monaco, Consolas, Courier, monospace]-= [/FONT][font=Monaco, Consolas, Courier, monospace]2[/FONT][font=Monaco, Consolas, Courier, monospace];
[/FONT][font=Monaco, Consolas, Courier, monospace]bp [/FONT][font=Monaco, Consolas, Courier, monospace]= new [/FONT][font=Monaco, Consolas, Courier, monospace]cBreakpoint[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]ExceptionHandler[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]bp[/FONT][font=Monaco, Consolas, Courier, monospace]->[/FONT][font=Monaco, Consolas, Courier, monospace]SetBP[/FONT][font=Monaco, Consolas, Courier, monospace](([/FONT][font=Monaco, Consolas, Courier, monospace]DWORD[/FONT][font=Monaco, Consolas, Courier, monospace])[/FONT][font=Monaco, Consolas, Courier, monospace]pcheck[/FONT][font=Monaco, Consolas, Courier, monospace]);
while (![/FONT][font=Monaco, Consolas, Courier, monospace]bTriggered[/FONT][font=Monaco, Consolas, Courier, monospace]) [/FONT][font=Monaco, Consolas, Courier, monospace]Sleep[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]1000[/FONT][font=Monaco, Consolas, Courier, monospace]);
[/FONT][font=Monaco, Consolas, Courier, monospace]delete bp[/FONT][font=Monaco, Consolas, Courier, monospace];
}
[/FONT][font=Monaco, Consolas, Courier, monospace]BOOL APIENTRY DllMain[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]HMODULE hModule[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]DWORD ul_reason_for_call[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]LPVOID lpReserved[/FONT][font=Monaco, Consolas, Courier, monospace])
{
if ([/FONT][font=Monaco, Consolas, Courier, monospace]ul_reason_for_call [/FONT][font=Monaco, Consolas, Courier, monospace]== [/FONT][font=Monaco, Consolas, Courier, monospace]DLL_PROCESS_ATTACH[/FONT][font=Monaco, Consolas, Courier, monospace])
{
[/FONT][font=Monaco, Consolas, Courier, monospace]//int iStaticModule = MessageBoxA(0, "Static CShell/Obj?", "", MB_YESNO);
//if (iStaticModule == IDYES) Hook((PBYTE)GetProcAddress(GetModuleHandleA("kernel32"), "GetTempFileNameA"), (PBYTE)&xGetTempFileNameA, 5);
[/FONT][font=Monaco, Consolas, Courier, monospace]HANDLE hThread [/FONT][font=Monaco, Consolas, Courier, monospace]= [/FONT][font=Monaco, Consolas, Courier, monospace]CreateThread[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], ([/FONT][font=Monaco, Consolas, Courier, monospace]LPTHREAD_START_ROUTINE[/FONT][font=Monaco, Consolas, Courier, monospace])&[/FONT][font=Monaco, Consolas, Courier, monospace]Start[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace], [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace]);
if ([/FONT][font=Monaco, Consolas, Courier, monospace]hThread [/FONT][font=Monaco, Consolas, Courier, monospace]!= [/FONT][font=Monaco, Consolas, Courier, monospace]NULL[/FONT][font=Monaco, Consolas, Courier, monospace]) [/FONT][font=Monaco, Consolas, Courier, monospace]CloseHandle[/FONT][font=Monaco, Consolas, Courier, monospace]([/FONT][font=Monaco, Consolas, Courier, monospace]hThread[/FONT][font=Monaco, Consolas, Courier, monospace]);
}
return [/FONT][font=Monaco, Consolas, Courier, monospace]TRUE[/FONT][font=Monaco, Consolas, Courier, monospace];[/FONT]