Альтернативное системное время для приложения - PullRequest
0 голосов
/ 30 января 2012

Я ищу способ запустить приложение с системным временем, отличным от установленного.В основном одна из бета-программ, которые я использую, имеет ошибку (это действительно ошибка), которая больше не позволяет работать после 29 января.Установка системного времени на несколько дней до исправления сработала, и теперь приложение работает нормально, однако некоторые другие мои приложения не работают должным образом.

В качестве общего вопроса (я мог видеть, как я использую это для других целей), возможно ли запустить приложение и заставить его думать, что существует альтернативное системное время?

В частности, хотя,Я использую Mac OS 10.7.2 и пытаюсь запустить MouseShare с системным временем, отличным от установленного.

Ответы [ 3 ]

2 голосов
/ 30 января 2012

ОК, я нашел решение.Есть хорошая библиотека под названием libfaketime , которая была рекомендована мне на стеке Unix & Linux через этот пост.

Самый простой способ сделать это в OSX:

$ cd $HOME/Library/
$ git clone clone git://github.com/wolfcw/libfaketime.git
$ cd libfaketime/src/
$ make -f Makefile.MacOS
$ export DYLD_FORCE_FLAT_NAMESPACE=1
$ export DYLD_INSERT_LIBRARIES=/Users/<USERNAME>/Library/libfaketime/src/libfaketime.dylib.1 
$ export FAKETIME="@2012-01-01 01:01:01"

проверить его работоспособность (то есть дата 1 января)

$ date
 Sun Jan  1 01:01:01 CST 2012

Тогда все хорошо!

$ open /Applications/ShareMouse.app/

Должно быть хорошо в течение 28 дней 17 часов (то есть, пока он не увидит системное время, как 2012-01-29 17:00:00, не спрашивайте меня, как они не увидели ошибку?)

Я не смог заставить работать метод Info.plist приложения (как описано в README.OSX )

0 голосов
/ 16 ноября 2015

as В новой версии OSX El Capitan есть строгая функция отключения определенных системных утилит, вам необходимо отключить csrutil из режима восстановления OSX, в противном случае libfaketime не запустится.

0 голосов
/ 30 января 2012

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

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