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  
Старый 21.09.2008, 19:20
Ponchik
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме:
6828219

Репутация: 2274


По умолчанию Запрет на запуск

В общем есть такая пробелма...
Надо запретить запускаться exe'шнику если файлы в определёной папки заменили

Тоесть есть exe'шник, нужно как-то в него записать, что если MD5 такого-то файла не равен такому-то значению, то не запускаться
Возможно-ли такое сделать?
 

  #2  
Старый 21.09.2008, 19:45
..::TROYAN::..
Участник форума
Регистрация: 22.05.2008
Сообщений: 158
Провел на форуме:
2875309

Репутация: 348
Отправить сообщение для ..::TROYAN::.. с помощью ICQ
По умолчанию

можно зделать типо так:
Код:
var
 s:string;
begin
s:='bI';
if s='bI' then sleep(10) //замераем на секунду
   else sleep($fffff); //если s неравно 'bI' то программа замерает до бесконечного времени=)
раньше использовал такой способ в своих прогах=)
 

  #3  
Старый 21.09.2008, 19:47
lisa99
Постоянный
Регистрация: 15.07.2008
Сообщений: 444
Провел на форуме:
1417964

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

ВКЛЮЧЕНИЕ В ТЕЛО EXE-файла СВОЕГО МОДУЛЯ

гугли.

2 вариант: сделать loader (любой язык, проверка директории + компиляция) и почистить заголовок исходного экзешника.
 

  #4  
Старый 21.09.2008, 19:59
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме:
424387

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

хм первое что в голову пришло - проверку сигнатуры сделать.
 

  #5  
Старый 21.09.2008, 20:05
SlyBit
Познающий
Регистрация: 04.07.2008
Сообщений: 56
Провел на форуме:
390892

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

Ponchik

Тебе нужно перехватить момент создания процесса (пишешь библиотеку внедряемую во все процессы или драйвер). Упрощенно схема создания процесса выглядит так:
1) Открывается ехешник
2) CreateThread - cоздается первый поток нового процесса (он приостановлен)
3) CsrClientCallServer - происходит инициализация процесса, в этот момент он получает идентификатор.
4) ResumeThread - возобновляется выполнение первичного потока, завершается инициализация процесса.

Следовательно тебе нужно перехватывать ZwCreateThread и в ней проверять ID родителя, если он отличается от текущего процесса (GetCurrentProcessId()), то начал создаваться новый процесс. Ставишь где-нибуть метку и ждешь вызова ZwResumeThread.
Как она вызывается, проверяешь выставлена ли метка, если да, то по хэдлу потока функцией ZwQueryInformationThread определяешь имя создаваемого процесса и затем, если нужно, убиваешь его.

----added

Только сейчас заметил, что тебе нужно контроливать только один ехешник. Конечно проще заразить его кодом, подгружающим библиотеку проверяющую можно загружаться или нет. Или еще проще написать лоадер, который будет делать проверку файлов и затем в зависимоти от результата запускать или не запускать ехешник.

Последний раз редактировалось SlyBit; 21.09.2008 в 20:12..
 

  #6  
Старый 21.09.2008, 20:11
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме:
424387

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

Цитата:
Сообщение от SlyBit  
Ponchik

Тебе нужно перехватить момент создания процесса (пишешь библиотеку внедряемую во все процессы или драйвер). Упрощенно схема создания процесса выглядит так:
1) Открывается ехешник
2) CreateThread - cоздается первый поток нового процесса (он приостановлен)
3) CsrClientCallServer - происходит инициализация процесса, в этот момент он получает идентификатор.
4) ResumeThread - возобновляется выполнение первичного потока, завершается инициализация процесса.

Следовательно тебе нужно перехватывать ZwCreateThread и в ней проверять ID родителя, если он отличается от текущего процесса (GetCurrentProcessId()), то начал создаваться новый процесс. Ставишь где-нибуть метку и ждешь вызова ZwResumeThread.
Как она вызывается, проверяешь выставлена ли метка, если да, то по хэдлу потока функцией ZwQueryInformationThread определяешь имя создаваемого процесса и затем, если нужно, убиваешь его.
помоему ты не правильно задание понял. Ему просто надо узнать исходные ли файлы находятся в директории(тоесть их не подменяли).
 

  #7  
Старый 21.09.2008, 20:17
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от SlyBit  
Ponchik

Тебе нужно перехватить момент создания процесса (пишешь библиотеку внедряемую во все процессы или драйвер). Упрощенно схема создания процесса выглядит так:
1) Открывается ехешник
2) CreateThread - cоздается первый поток нового процесса (он приостановлен)
3) CsrClientCallServer - происходит инициализация процесса, в этот момент он получает идентификатор.
4) ResumeThread - возобновляется выполнение первичного потока, завершается инициализация процесса.

Следовательно тебе нужно перехватывать ZwCreateThread и в ней проверять ID родителя, если он отличается от текущего процесса (GetCurrentProcessId()), то начал создаваться новый процесс. Ставишь где-нибуть метку и ждешь вызова ZwResumeThread.
Как она вызывается, проверяешь выставлена ли метка, если да, то по хэдлу потока функцией ZwQueryInformationThread определяешь имя создаваемого процесса и затем, если нужно, убиваешь его.

----added
Бред, ты не правильно понял вопрос ТС.
Цитата:
Сообщение от ..::TROYAN::..  
можно зделать типо так:
Код:
var
 s:string;
begin
s:='bI';
if s='bI' then sleep(10) //замераем на секунду
   else sleep($fffff); //если s неравно 'bI' то программа замерает до бесконечного времени=)
раньше использовал такой способ в своих прогах=)
Нарк?тогду уж таймер можно использовать....
-----------------
ТС, объясни нормально свой вопрос многие не поняли вопроса, и я тоже не до конца....
 

  #8  
Старый 21.09.2008, 20:18
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

вы ему еще посоветуйте драйвер написать, ddk даите и т.п.

Ponchik:
http://softsearch.ru/programs/145-444-exe-protector32-download.shtml
http://www.shram.kiev.ua/hacker/gid/exepass.shtml
http://null-team.com/2007/10/20/salfeld-exe-password-7.114.0.0-stavim.html

да и вообше:
http://www.google.ru/search?hl=ru&q=exe+%D0%BF%D0%BE%D0%B4+%D0%BF%D0%B0 %D1%80%D0%BE%D0%BB%D1%8C&btnG=%D0%9F%D0%BE%D0%B8%D 1%81%D0%BA+%D0%B2+Google&lr=&aq=f&oq=

Цитата:
Сообщение от ..::TROYAN::..  
можно зделать типо так:
Код:
var
 s:string;
begin
s:='bI';
if s='bI' then sleep(10) //замераем на секунду
   else sleep($fffff); //если s неравно 'bI' то программа замерает до бесконечного времени=)
раньше использовал такой способ в своих прогах=)
горекодер, убийственный код...
Halt, ExitProcess. Exit в конце концов, отменили по дефтолу?
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...

Последний раз редактировалось W!z@rD; 21.09.2008 в 20:20..
 

  #9  
Старый 21.09.2008, 20:42
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от Ponchik  
Всем спасибо, тему можно закрывать
/me радостный ущел страдать фигнёй
оффтоп, для благодарности есть репутация. Закрыто.
 
Закрытая тема



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суд признал запрет на спам нарушением свободы слова dfgrd Мировые новости 2 13.09.2008 01:14
Запуск нескольких Mail Agent ArmageddonPro Soft - Windows 8 14.01.2008 19:15
.htaccess запрет прямых ссылок на изображение it's my Болталка 10 21.12.2007 12:54
секреты и коды для сотовых телефонов ))) dinar_007 Сотовый фрикинг 32 05.08.2006 17:06
Запуск с диска сохраненного html чата ПРИДУРОК Чаты 3 08.11.2003 15:16



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


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




ANTICHAT.XYZ