1

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

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

2

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

95% процентов проблем находятся между клавиатурой и стулом.

3

Fat-Zer пишет:

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

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

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

4

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

petrolay⇓ пишет:

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

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

95% процентов проблем находятся между клавиатурой и стулом.

5

Fat-Zer пишет:

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

petrolay⇓ пишет:

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

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


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

6

petrolay⇓ пишет:

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

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

95% процентов проблем находятся между клавиатурой и стулом.

7

Fat-Zer пишет:

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

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

8

petrolay⇓ пишет:

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

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

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

95% процентов проблем находятся между клавиатурой и стулом.

9

спасибо)