Onde criar / manter arquivos secretos para obter informações / avaliações de licença no Windows / Mac OS X / Linux? [fechadas]

Estou escrevendo um produto comercial que usa um mecanismo de registro simples e permite que o usuário use o aplicativo por um período de demonstração antes de comprar.

Meu aplicativo deve armazenar em algum lugar as informações de registro (se inseridas) e / ou a data do primeiro lançamento para calcular se o usuário ainda está dentro do período de demonstração / avaliação. Embora eu tenha terminado o mecanismo de registro, agora preciso encontrar uma boa maneira de armazenar as informações de registro no disco do usuário.

A idéia mais óbvia seria armazenar o período de avaliação no arquivo de preferências, mas como o usuário costuma excluir / mexer com aqueles de tempos em tempos, pode ser uma boa ideia manter as informações de registro em um arquivo separado e mais oculto.

Então, eis a minha pergunta: Qual é o melhor lugar / estratégia para manter e criar esses arquivos ocultos no Windows, Mac OS X e Linux? Aqui está o que me veio à mente até agora:

Linux / Mac OS X

A maioria dos sistemas do tipo Unix é bastante bloqueada quando se trata de lugares em que um usuário pode gravar arquivos. Na maioria dos casos, este é apenas o/tmp diretório e diretório inicial do usuário. Acho que o mais fácil aqui é provavelmente criar um arquivo com um prefixo de ponto para torná-lo menos visível e, em seguida, dar um nome que não torne óbvio que está associado ao meu aplicativo.

janelas

Provavelmente muito parecido com o Linux / Mac OS X - as versões mais recentes do Windows se tornam mais restritivas quando se trata de permissões do sistema de arquivos.

De qualquer forma, eu gostaria de ouvir suas idéias e pensamentos. Melhor ainda, se você já implementou algo semelhante no passado.

Obrigado!

Atualizar

Para mim, o local para esses arquivos é mais relevante do que a discussão da questão, se esse caminho para a proteção contra cópia é bom ou ruim.

questionAnswers(7)

yourAnswerToTheQuestion