вообщем идея такая, программе указывается какой процесс необходимо запустить и какое значение даты использовать для подмены.
пните в нужную сторону, а то гугл не помогает..
может есть идеи как реализовать на C/C++ ?
переопределения операций с датой/временем указанного процесса!!!
смотря, для чего это нужно?
я вижу два способа:
в качестве хака, можно хукнуть несколько библиотечных вызовов....
или исполнять под отладкой и перехватывать сисколы...
смотря, для чего это нужно?
я вижу два способа:
в качестве хака, можно хукнуть несколько библиотечных вызовов....
или исполнять под отладкой и перехватывать сисколы...
курсовая работа это...
можно подробнее про то каких библиотечных вызовов можно хакнуть чтобы осуществить подмену даты при запуске нужной программы ?
раз курсовая, то хаков можно не бояться....
можно подробнее про то каких библиотечных вызовов можно хакнуть чтобы осуществить подмену даты при запуске нужной программы ?
собственно их три: time(), gettimeofday() и clock_gettime(). все остальные должны работать через них...
раз курсовая, то хаков можно не бояться....
[quote="petrolay⇓"]можно подробнее про то каких библиотечных вызовов можно хакнуть чтобы осуществить подмену даты при запуске нужной программы ?
собственно их три: time(), gettimeofday() и clock_gettime(). все остальные должны работать через них...[/quote]
если я правильно понял, то получается эти системные вызовы лежат в какой то .dll
тогда мне нужно будет написать свою .dll и подменить ей стандартную ?
сли я правильно понял, то получается эти системные вызовы лежат в какой то .dll
тогда мне нужно будет написать свою .dll и подменить ей стандартную ?
да. именно так... само собой, подменить не физически, а через LD_PRELOAD, например...
да. именно так... само собой, подменить не физически, а через LD_PRELOAD, например...
а как посмотреть содержимое .dll в которой находятся эти вызовы ?
понимаю так что это библиотека time.h или нет ?
а как посмотреть содержимое .dll в которой находятся эти вызовы ?
понимаю так что это библиотека time.h или нет ?
time.h - это хедер, а не «библиотека»... вызовы находятся в libc. определить это можно например так.
вообще говоря, для задачи до лампочки, где находится сама библиотека... главное, чтобы наша библиотека грузилась раньше, чего LD_PRELOAD и добивается...
из дополнительного, к прочтению:
man ld.so
http://www.ibm.com/developerworks/ru/library/l-dynamic-libraries/
спасибо)