ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Проверка установки хука и бряков на API.
  #1  
Старый 02.07.2009, 19:18
Аватар для Sunzer
Sunzer
Познающий
Регистрация: 17.05.2008
Сообщений: 30
Провел на форуме:
100551

Репутация: 20
По умолчанию Проверка установки хука и бряков на API.

Делать было нечего вот написал код. Полностью независимый. Достаточно поставить на таймер его вызов.
Сам ищет таблицу импорта и проверяет первые байты всех импортируемых API.
В случае если будет установлен программный бряк на API или JMP в начале(хук). Программа падает.
Знаю что от крякера мало спасет делал просто так) Сильно ногами не бить.

Код:
{ Код проверки установки програмного бряка на всех API из таблицы }
// Так же проверка на хук апи , (jmp в начале)
procedure CheckAPIBreakPoint;
asm
PUSHAD
PUSHF
MOV EAX,DWORD PTR FS:[$18]
MOV EAX,DWORD PTR DS:[EAX+$30]
MOV EAX,DWORD PTR DS:[EAX+$8] // Get ImageBase by PEB
MOV ECX,DWORD PTR DS:[EAX+$3C]
ADD ECX,EAX // PEHeaderOffset
MOV EDI,DWORD PTR DS:[ECX+$80] // ImportTable Addr
ADD EDI,EAX // ImportTable + ImageBase

// Обробатываем IMAGE_IMPORT_DESCRIPTOR'ы
MOV EDX,$10
JMP @START
@LOOP:
ADD EDX,$14
@START:
MOV ESI,[EDI+EDX]
TEST ESI,ESI
JE @EXIT
ADD ESI,EAX
CMP DWORD PTR DS:[ESI],0
JE @EXIT // конец

@LOOP_API:
CMP DWORD PTR DS:[ESI],0
MOV EBP,[ESI]
JE @END
CMP BYTE PTR DS:[EBP],$CC // Program BreakPoint
JE @DETECT
CMP BYTE PTR DS:[EBP],$EB // JMP Short
JE @DETECT
CMP BYTE PTR DS:[EBP],$E9 // JMP Long
JE @DETECT
ADD ESI,4
JMP @LOOP_API

@END:
JMP @LOOP // Обрабатываем следующий IMAGE_IMPORT_DESCRIPTOR
@DETECT:  // В случае детекта
MOV FS:[0],0
JMP ESP
@EXIT:
POPF
POPAD
end;
 
Ответить с цитированием

  #2  
Старый 02.07.2009, 19:52
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

1) Обход запросто:
push XXXXXXXX
ret

или
mov reg,XXXXXXXX
jmp/call reg

или
NOP NOP NOP А далее стандартная вешь.

2) Если попадется функция в которой и так идет jmp в начале, то будет облом.

По этому лучший способ для проверки - грузить в винта либу и сверять по оригинальным опкодам.
 
Ответить с цитированием

  #3  
Старый 02.07.2009, 19:54
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

P.S. Если в проге будет установлен обработчик SEH или данные будут проверять внутри конструкции try except то смысла от этого будет мало )
 
Ответить с цитированием

  #4  
Старый 02.07.2009, 21:20
Аватар для Sunzer
Sunzer
Познающий
Регистрация: 17.05.2008
Сообщений: 30
Провел на форуме:
100551

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

P.S. Если в проге будет установлен обработчик SEH или данные будут проверять внутри конструкции try except то смысла от этого будет мало )

Даже если обработчик поставишь программа падает, SEH и try except end одно и тоже.
Про первую твою месагу это верно, но я же сказал что от нечего сделать написал.
Бряк ведь ставят на первую инструкцию. Про хук это понятно. У каких API в самом начале JMP ?
 
Ответить с цитированием

  #5  
Старый 02.07.2009, 21:24
Аватар для Sunzer
Sunzer
Познающий
Регистрация: 17.05.2008
Сообщений: 30
Провел на форуме:
100551

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

PS Где кнопка редактирования поста?
 
Ответить с цитированием

  #6  
Старый 02.07.2009, 23:23
Аватар для [n]-c0der
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
Провел на форуме:
270228

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

Цитата:
Сообщение от Sunzer  
PS Где кнопка редактирования поста?
Сбоку. Справа.
тут
 
Ответить с цитированием

  #7  
Старый 02.07.2009, 23:56
Аватар для Sunzer
Sunzer
Познающий
Регистрация: 17.05.2008
Сообщений: 30
Провел на форуме:
100551

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

http://s47.radikal.ru/i117/0907/f6/1844882f2b2e.png
Где ?
 
Ответить с цитированием

  #8  
Старый 03.07.2009, 00:30
Аватар для [n]-c0der
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
Провел на форуме:
270228

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

Браузер свой сожги...

Последний раз редактировалось [n]-c0der; 03.07.2009 в 00:34..
 
Ответить с цитированием

  #9  
Старый 04.07.2009, 13:37
Аватар для ex3me
ex3me
Участник форума
Регистрация: 07.01.2009
Сообщений: 186
Провел на форуме:
1247273

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

браузер просто на собственном двигле
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРОВЕРКА почти всех уязвимостей и багов! _GaLs_ Избранное 8 14.06.2010 12:00



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


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




ANTICHAT.XYZ