ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 27.11.2008, 04:02
Dian
Участник форума
Регистрация: 02.09.2008
Сообщений: 101
Провел на форуме:
196792

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

Цитата:
Но не получается уследить за изменением количества запущенных копий программы.
Уследить можно mutex'ом
 
Ответить с цитированием

  #2  
Старый 30.11.2008, 00:10
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию

Вот что у меня в итоге получилось
Код:
TForm1 *Form1;
PROCESS_INFORMATION pi;
STARTUPINFO si;
void thr(void *Pvoid)
{
char fnm[400];
DWORD code;
for(;;)
{
Sleep(300);
GetExitCodeProcess(pi.hProcess,&code);
if(code!=STILL_ACTIVE)
{
MessageBox(0,"!!!","!!!!",MB_OK);
GetModuleFileName(NULL,fnm,400);
memset((void*)&pi,NULL,sizeof(pi));
memset((void*)&si,NULL,sizeof(si));
CreateProcess(fnm,NULL,NULL,NULL,false,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
memset(fnm,NULL,400);
}
}
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
char fnm[400];
GetModuleFileName(NULL,fnm,400);
si.cb=sizeof(si);
si.lpReserved=NULL;
si.lpDesktop=NULL;
si.lpTitle=NULL,
si.dwFlags=STARTF_FORCEONFEEDBACK;
si.cbReserved2=0;
si.lpReserved2=NULL;
HANDLE mut=CreateMutex(0,1,"emokillll");
WaitForSingleObject(mut,-1);
CreateProcess(fnm,NULL,NULL,NULL,false,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
_beginthread(thr,0,0);
}
ЗЫ: если экзе потом обозвать svchost'ом то манипуляция taskkill /im process.exe /f обламывается ,правда палевный способ
 
Ответить с цитированием

  #3  
Старый 01.12.2008, 13:36
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

анхук sst (отключение проактивки) -> инжект (базозависимый: в удаленном процессе выделяем память по адресу == базе нашего exe - чтоб все импорты были корректны и заливаем весь образ, и просто создаем поток на указанной EP) -> восстановление sst (восстановление проактивки).

трабл в том что такие вещи на билдере не пишутся, просто потому что как только внедришься таким методом - вся твоя событийная vcl перестанет работать (OnFormCreate, OnSocketReceive и тд). Изза чего? Изза того что запустится только та функция, которую ты указал как точку входа. Остальных потоков естественно не будет существовать, а передавть управление на OEP в билдере я не пробовал тк давно забил на рапид дев системы =)

по поводу анхука - исходники например sdtrestore есть на rootkit.com - но это уже древний паблик. но для обучения вполне сойдет.
__________________


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

  #4  
Старый 01.12.2008, 14:05
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

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

такие вещи как загрузка драйвера или иное внедрение кода в ядро (а сие необходимо для доступа к SST) очень осторожно надо делать ибо защитный софт относится к этому крайне предубежденно..
поэтому всегда есть путь, отличный от ядра
..это конечно если ТС хочет обеспечить незаметность программы
 
Ответить с цитированием

  #5  
Старый 01.12.2008, 14:35
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

~~
__________________


snow white world wide

Последний раз редактировалось sn0w; 01.12.2008 в 15:38.. Причина: priv8 %)
 
Ответить с цитированием

  #6  
Старый 08.12.2008, 20:29
th13fnano
Новичок
Регистрация: 08.12.2008
Сообщений: 8
Провел на форуме:
4529

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

да вот моя темка http://forum.antichat.ru/showthread.php?p=983799#post983799 тотже вариант хочю сделать только на делфи елси можно, кто хорошо расбирается помогите плиз.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ