Desde que você marcou este C #, vou assumir que você deseja realmente criar seu próprio programa para recuperar essas informações. É totalmente viável (e na verdade bastante fácil) criar seu próprio programa que lista todo o software instalado em um computador e recuperar a chave do produto, se aplicável.
A maioria dos editores de software tem suas próprias maneiras de codificar o número de série do produto em algum lugar do sistema (normalmente enterrado no registro), então uma desvantagem de rodar seu próprio programa é que você precisa manter vários algoritmos diferentes para decodificar o sistema. várias chaves de produto.
A última vez que procurei um algoritmo para decodificar as chaves de produto da Microsoft para o meu próprio programa foi há algum tempo, mas tive muita dificuldade em encontrar qualquer algoritmo na internet. Eu finalmente tropeçou em Magical Jelly Bean Keyfinder que Pete listou e seu código-fonte que estava no SourceForge (parece que este projeto desde então se transformou em Encantado Keyfinder ). Ele está programado em Pascal, e eu certamente não sou programador Pascal, mas consegui convertê-lo em C # em uma tarde (incluindo interrupções usuais de $DayJob
) sem nenhum problema real.
Há uma coisa que descobrimos e que vou chamar de muito importante, e isso é relevante se você criar seu próprio software ou mesmo se usar algum outro software para encontrar chaves. Se o software estiver pré-instalado em uma máquina (OEM Windows, por exemplo), a chave do produto retornada será a chave do produto OEM e NÃO a chave real do produto. Sua mídia de instalação NÃO aceitará essa chave do produto, pois é de um canal de distribuição diferente.
Se você está pensando em executar um programa em todos os seus computadores e economizar tempo, não tendo que gravar manualmente as chaves do produto, acho que você ficará desapontado. Como eu disse, todo editor de software faz isso de maneira diferente e não há um padrão. Quando se trata de reinstalar o software após um computador ter falhado, há toda a chance de o programa não decodificar a chave do produto para um software e, invariavelmente, será o mais crítico.
Não há realmente nenhum substituto para o software dedicado em que você insere manualmente informações de licença e mantém o controle do uso para você.