eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: johnniewalker (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Проверка системного времени в LINUX
Посл.ответ Сообщение

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 9 июня 2008 01:13 New!
Цитата · Личное сообщение · #1

Для проверки того была ли переведена системная дата назад в виндовс можно посмотреть на даты файлов в системных каталогах или в папке временных файлов. Названия папок можно соответственно через API получить. Вопрос в том есть ли в линуксе подобный универсальный метод? Может быть есть более красивый метод проверки корректности системной даты?


Ранг: 328.7 (мудрец)
Статус: Участник

Создано: 9 июня 2008 09:43 New!
Цитата · Личное сообщение · #2

правильно заданный вопрос - содержит в себе пол-ответа

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 9 июня 2008 12:25 New!
Цитата · Личное сообщение · #3

r99
А если поподробнее?


Ранг: 303.7 (мудрец)
Статус: Участник
tPORt Manager

Создано: 9 июня 2008 13:56 New!
Цитата · Личное сообщение · #4

Там есть хитрое прерывание, через которое выполняются все систмные вызовы, посмотри список ф-ий этого прерывания и /proc/ посмотри

Ранг: 38.6 (посетитель)
Статус: Участник

Создано: 9 июня 2008 15:26 · Поправил: bad_boy New!
Цитата · Личное сообщение · #5

egorovshura
r99 и посоветовал сверять время с системным файлом.


что-то вроде этого(код не проверял, FASM):



fname db '/etc/passwd',0

stat:
st_dev dd 0
st_ino dd 0
st_mode dw 0
st_nlink dw 0
st_uid dw 0
st_gid dw 0
st_rdev dd 0
st_size dd 0
st_blksize dd 0
st_blocks dd 0
st_atime dd 0
st_atime_nsec dd 0
st_mtime dd 0
st_mtime_nsec dd 0
st_ctime dd 0
st_ctime_nsec dd 0
__unused4 dd 0
__unused5 dd 0

descr dd 0
----------------------
mov eax,5 ;sys_open
mov ebx,fname
mov ecx,0 ;открываем только на чтение
mov edx,4 ; не овнер может читать файл
int 0x80
mov [descr],eax
mov ebx,eax ;дескриптор файла
mov eax,108 ;sys_fstat
mov ecx,stat
int 0x80
test eax,eax
jnz @error_access
;st_ctime - время созания в секундах
;st_ctime_nsec - в наносекундах
;st_atime - время последнего доступа
;st_mtime - модификации
;тут проверяешь что надо

mov eax,6 ; sys_close
mov ebx,[descr]
int 0x80

Ранг: 122.2 (ветеран)
Статус: Участник

Создано: 9 июня 2008 16:32 New!
Цитата · Личное сообщение · #6

bad_boy
Получить дату файла не проблема. Проблема в том, чтобы сослаться на такой файл/директорию, дата которого регулярно обновляется. В данном случае /etc/passwd этому требованию не удовлетворяет. Файл паролей может не изменяться годами насколько я понимаю.

А вот /proc думаю то что надо. Спасибо Bit-hack
 eXeL@B —› Основной форум —› Проверка системного времени в LINUX

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS