LinuxForum.Fans
Тема

переопределения операций с датой/временем указанного процесса!!!

Автор: petrolay 9 сообщений 2623 просмотров
#320565

вообщем идея такая, программе указывается какой процесс необходимо запустить и какое значение даты использовать для подмены.

пните в нужную сторону, а то гугл не помогает..
может есть идеи как реализовать на C/C++ ?

#320607

смотря, для чего это нужно?
я вижу два способа:
в качестве хака, можно хукнуть несколько библиотечных вызовов....
или исполнять под отладкой и перехватывать сисколы...

#321116
Fat-Zer написал:
смотря, для чего это нужно?
я вижу два способа:
в качестве хака, можно хукнуть несколько библиотечных вызовов....
или исполнять под отладкой и перехватывать сисколы...

курсовая работа это...

можно подробнее про то каких библиотечных вызовов можно хакнуть чтобы осуществить подмену даты при запуске нужной программы ?

#321130

раз курсовая, то хаков можно не бояться....

"petrolay⇓" написал:
можно подробнее про то каких библиотечных вызовов можно хакнуть чтобы осуществить подмену даты при запуске нужной программы ?

собственно их три: time(), gettimeofday() и clock_gettime(). все остальные должны работать через них...

#321161
Fat-Zer написал:
раз курсовая, то хаков можно не бояться....
[quote="petrolay⇓"]можно подробнее про то каких библиотечных вызовов можно хакнуть чтобы осуществить подмену даты при запуске нужной программы ?

собственно их три: time(), gettimeofday() и clock_gettime(). все остальные должны работать через них...[/quote]


если я правильно понял, то получается эти системные вызовы лежат в какой то .dll
тогда мне нужно будет написать свою .dll и подменить ей стандартную ?

#321171
"petrolay⇓" написал:
сли я правильно понял, то получается эти системные вызовы лежат в какой то .dll
тогда мне нужно будет написать свою .dll и подменить ей стандартную  ?

да. именно так... само собой, подменить не физически, а через LD_PRELOAD, например...

#321178
Fat-Zer написал:

да. именно так... само собой, подменить не физически, а через LD_PRELOAD, например...

а как посмотреть содержимое .dll в которой находятся эти вызовы ?
понимаю так что это библиотека time.h или нет ?

#321197
"petrolay⇓" написал:
а как посмотреть содержимое .dll в которой находятся эти вызовы ?
понимаю так что это библиотека time.h или нет ?

time.h - это хедер, а не «библиотека»... вызовы находятся в libc. определить это можно например так.
вообще говоря, для задачи до лампочки, где находится сама библиотека... главное, чтобы наша библиотека грузилась раньше, чего LD_PRELOAD и добивается...

из дополнительного, к прочтению:
man ld.so
http://www.ibm.com/developerworks/ru/library/l-dynamic-libraries/

#321202

спасибо)

Войдите или зарегистрируйтесь, чтобы ответить.