 |
|

13.04.2010, 03:41
|
|
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами:
8464868
Репутация:
0
|
|
Inject(снова)
Есть инжект всего образа в целевой процесс.
Вопрос в том что если делать основную функцию которою внедрять в ап процесса небольшую (то есть пару месидж боксов все раб ок ) но если использовать там WinAPI ws2_32.dll то получается так что функции в разных ап после чего приложение аварийно закрывается может пример есть у кого кода с решением программы ?
|
|
|

13.04.2010, 10:40
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
1) у тебя в заинжектеном коде должно быть всё валидно с импортом.
Если kernel32.dll и user32.dll грузятся по статическому адресу. то адреса могут быть еще одинаковыми, а вот другие либы не факт что загрузятся туда же.
По этому внутри инжекта ты сам должен импорт делать. т.е.
1) заново подрузить все либы нужные
2) через GetProcAddress найти адерса всех функций которые будешь использовать
|
|
|

13.04.2010, 23:36
|
|
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами:
8464868
Репутация:
0
|
|
вот моя функция
typedef int ( PASCAL FAR *PWSASTARTUP )( WORD wVersionRequired, LPWSADATA lpWSAData );
DWORD WINAPI Func(LPVOID lpParam)
{
HMODULE hWinSock2 = LoadLibraryA("ws2_32.dll");
PWSASTARTUP pWSAStartup = (PWSASTARTUP)GetProcAddress(hWinSock2,"WSAStartup" );
WSADATA FWSAData ;
pWSAStartup(0x0202,&FWSAData);
}
|
|
|

13.04.2010, 23:37
|
|
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами:
8464868
Репутация:
0
|
|
что там не так ?
|
|
|

14.04.2010, 09:09
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
ну ты еще проверяй валидность всех параметров. Может GetProcAddress неправильно возвращает.
А вообще я делаю импорт так:
int (WINAPI *_WSAStartup)( WORD, LPWSADATA );
if (!(*(void **)&_WSAStartup = _GetProcAddress(ws2_32_dll, "WSAStartup"))) return 0;
и потом юзаешь по обычному _WSAStartup(xxxxxx)
|
|
|

15.04.2010, 00:26
|
|
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами:
8464868
Репутация:
0
|
|
у меня после этой стоки приложение крешется
PWSASTARTUP pWSAStartup = (PWSASTARTUP)GetProcAddress(hWinSock2,"WSAStartup" );
в чем проблема ?
|
|
|

15.04.2010, 00:28
|
|
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами:
8464868
Репутация:
0
|
|
к стати у меня win 7
|
|
|

15.04.2010, 00:43
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
С нами:
10067064
Репутация:
455
|
|
ты прогу от админа запускаешь?
|
|
|

15.04.2010, 09:21
|
|
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами:
8464868
Репутация:
0
|
|
ясен хрен что да )))
|
|
|

15.04.2010, 17:08
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
С нами:
10943066
Репутация:
1236
|
|
все просто до нельзя. копируй по базе. сделай фиксированную у своего ехе, и копируй в АП чужого процесса по этойже базе. создай ремот тред. это будет точка входа 2. при исполнении в чужом теле первым делом вызови LoadLibrary для тех библей, на которые у тебя есть импорты но которые возможно не загружены.
короче пришли код, я его тебе отмодю
__________________
 
snow white world wide
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|