Quando a Apple lançou pela primeira vez o aluguel do iTunes, havia um bug onde os usuários podiam alterar a hora do sistema para estender o período de aluguel. VerEste artigo. Logo, a Apple resolveu o problema.
Ao implementar um recurso estilo bomba-relógio, como garantir que o programa/arquivo irá expirar? A Apple de alguma forma consegue bloquear usuários de um arquivo sem usar o relógio do sistema ou conectar-se à Internet. Pensamentos?
Responder1
Como observa @Frank Thomas, a forma como a Apple faz isso é sem dúvida considerada um segredo comercial. Como você pode fazer isso, ou como eu posso fazer, está mais aberto à discussão.
Eu provavelmente faria com que meu software monitorasse, em algum lugar, o tempo que passa no relógio do sistema - não a hora/data que o relógio do sistema diz, mas simplesmente a passagem do tempo e registraria isso (criptografado) em vários locais. Quando comecei, verifiquei se todos os locais concordavam e, se não concordassem, definia todos com o valor mais alto em qualquer local, antes de prosseguir com o incremento a partir daí.
Posso ver possíveis falhas nesta abordagem (possibilidade de perder tempo enquanto o computador está desligado), mas algo assim funcionaria, até certo ponto.