HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Inject(снова)
  #1  
Старый 13.04.2010, 03:41
n3ls0n
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами: 8464868

Репутация: 0
По умолчанию Inject(снова)

Есть инжект всего образа в целевой процесс.
Вопрос в том что если делать основную функцию которою внедрять в ап процесса небольшую (то есть пару месидж боксов все раб ок ) но если использовать там WinAPI ws2_32.dll то получается так что функции в разных ап после чего приложение аварийно закрывается может пример есть у кого кода с решением программы ?
 
Ответить с цитированием

  #2  
Старый 13.04.2010, 10:40
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

1) у тебя в заинжектеном коде должно быть всё валидно с импортом.
Если kernel32.dll и user32.dll грузятся по статическому адресу. то адреса могут быть еще одинаковыми, а вот другие либы не факт что загрузятся туда же.
По этому внутри инжекта ты сам должен импорт делать. т.е.
1) заново подрузить все либы нужные
2) через GetProcAddress найти адерса всех функций которые будешь использовать
 
Ответить с цитированием

  #3  
Старый 13.04.2010, 23:36
n3ls0n
Новичок
Регистрация: 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);


}
 
Ответить с цитированием

  #4  
Старый 13.04.2010, 23:37
n3ls0n
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами: 8464868

Репутация: 0
По умолчанию

что там не так ?
 
Ответить с цитированием

  #5  
Старый 14.04.2010, 09:09
slesh
Познавший АНТИЧАТ
Регистрация: 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)
 
Ответить с цитированием

  #6  
Старый 15.04.2010, 00:26
n3ls0n
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами: 8464868

Репутация: 0
По умолчанию

у меня после этой стоки приложение крешется
PWSASTARTUP pWSAStartup = (PWSASTARTUP)GetProcAddress(hWinSock2,"WSAStartup" );
в чем проблема ?
 
Ответить с цитированием

  #7  
Старый 15.04.2010, 00:28
n3ls0n
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами: 8464868

Репутация: 0
По умолчанию

к стати у меня win 7
 
Ответить с цитированием

  #8  
Старый 15.04.2010, 00:43
gold-goblin
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
С нами: 10067064

Репутация: 455


По умолчанию

Цитата:
к стати у меня win 7
ты прогу от админа запускаешь?
 
Ответить с цитированием

  #9  
Старый 15.04.2010, 09:21
n3ls0n
Новичок
Регистрация: 12.04.2010
Сообщений: 11
С нами: 8464868

Репутация: 0
По умолчанию

ясен хрен что да )))
 
Ответить с цитированием

  #10  
Старый 15.04.2010, 17:08
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
С нами: 10943066

Репутация: 1236


По умолчанию

все просто до нельзя. копируй по базе. сделай фиксированную у своего ехе, и копируй в АП чужого процесса по этойже базе. создай ремот тред. это будет точка входа 2. при исполнении в чужом теле первым делом вызови LoadLibrary для тех библей, на которые у тебя есть импорты но которые возможно не загружены.

короче пришли код, я его тебе отмодю
__________________


snow white world wide
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.