Truques Da Proteção do CD


  Share  
|


A proteção do software de CD-checking é usada por quase todos os programas distribuídos no CD. Os produtos nesta categoria variam das defesas muito simples (que não são proteção real de encontro aos biscoitos em tudo) ao software protetor altamente sofisticado.

Os produtos mais simples verificam somente para ver se um programa começou funcionar sem o CD correto, que ameaçaria a funcionalidade do programa. Há muitas maneiras encontrar para fora se o CD original estêve introduzido em uma movimentação de CD-ROM. E, quando a maioria de software protetor for helpless de encontro a CDs "queimado", pode ao menos fazê-lo impossível copí simplesmente um programa a uma movimentação dura.

Uma razão usar tais defesas simples deve proteger de encontro a "rasgar-se so-called" dos jogos. "rasgar-se" consulta à remoção de partes grandes mas unessential do jogo, como o animation, a música, ou o DirectX. O jogo encolhido é comprimido então de modo que os povos com conexões mais lentas possam download o do Internet, assim significativamente aumentando o número de cópias pirateadas.

Como Trabalho De CD-Checkers

Os verificadores clássicos do CD têm seu lugar no mundo, e quando programados corretamente, podem causar problemas mesmo para os biscoitos melhores. Ainda, esta proteção é frequentemente fácil de encontrar e remover.

A maioria de rotinas verificando usam a chamada de GetDriveTypeA API encontrar a movimentação de CD, e todas verificações restantes são executadas somente após ter determinado que movimentação é o CD-ROM. O software protetor o mais simples verifica somente para ver se há o nome ou a etiqueta de CD's. Se o nome de CD's for mudado, o programa não funcionará, desde que o programa determinou que o CD original não está na movimentação.

Alguns colaboradores da proteção tentaram complicar o CD que copía nomeando CDs em uma maneira que causasse um erro durante o copi, usando frequentemente um espaço em branco no nome do CD ou em algum caráter especial que aparece como um espaço em branco. Até recentemente, muitos queimadores não podiam copí tal CDs.

Um outro truque comum deve verificar para ver se há um ou mais limas selecionadas no CD, especial aquelas que são removidas o mais geralmente das versões rasgadas, tais como DirectX, animation, música, e documentação. Esta técnica foi usada geralmente com 80-minute CDs porque, no passado, a fonte limitada de meios do CD 80-minute significou que os biscoitos tiveram que remover algo do programa a fim fazer sua versão caber em CDs disponível. Hoje uniforme, biscoitos remove às vezes algo poder copí o jogo ao normallength CD-Rs.

O software protetor o mais complicado, como SecuROM ou SafeDisc, pode verificar erros no CD.

As verificações aleatórias que testam para a presença do CD original enquanto o jogo está sendo jogado são muito unpopular com biscoitos, e frequentemente resultado na proteção que está sendo removida incorretamente de um jogo e de muitos reparos subseqüentes que estão sendo requeridos. Este tipo da proteção foi usado com sucesso com diversos jogos. O software protetor encontrou apenas para fora que o CD original não estêve introduzido naturalmente, como com quase todo o software da proteção, mais logo ou mais tarde os mais melhores biscoitos aprenderão como remover a proteção. O problema é que quando o racham a segunda vez ao redor, fazem assim muito mais rapidamente.

Software Da Proteção do CD

Deixe-nos fazer exame de um olhar no software da proteção do CD disponível a você, e nós consideraremos o que os trabalhos e o que não trabalham, e porque.

CD-Cops

CD-Cops é proteção comercial da segurança de dados da ligação (http://www.linkdata.com) que não é usada muito extensamente. CD-Cops reconhece cópias originais de CDs e de rejeições. CDs protegido com CD-Cops pode ser identificado por uma janela que aparece na tela uma vez que os começos do programa, assim como pela lima e por limas de CDCOPS.DLL com GZ _ e extensões do W_X no CD.

A proteção própria é uma parte de uma lima executável protegida. Quando esta lima é começada, verifica para ver se o CD original está atual testando o ângulo entre o primeiro e os últimos blocos acessíveis do CD. O CD original contem um código 8-byte com o ângulo correto e uma rotina verificando detecta o ângulo no CD e compara-o então com o ângulo correto descodificado. Quando uma cópia queimada do CD original está atual, o ângulo diferirá, e o programa não funcionará. (uma vantagem deste esquema da proteção para o fabricante do CD é que não requer uma máquina de copi especial do CD.)

A rotina testando de CD-Cops's é uma parte verdadeiramente sofisticada de programação. Usa também um truque inteligente: Ajusta um temporizador para ver se a rotina testando funcionar por muito tempo, que significaria que está sendo seguida. Se encontrar que a rotina está funcionando por muito tempo, causa um erro no programa. CD-Cops contem também diversas somas de controle, que impedem mudanças às peças do código—do programa da rotina são descodificadas na memória ao funcionar.

Mas CD-Cops tem uma fraqueza crítica: Pode ser descodificado sem o CD original. No fato, você pode mesmo encontrar um decodificador para ele no Internet. A razão é que os criadores do programa deixaram o código correto no programa que, mesmo que codificado, alguns biscoitos inteligentes podiam descodificar. Teve CD-Cops usado uma técnica similar a SafeDisc, que descodifica o programa sem o verificar, e somente após ter lido o ângulo do CD, seria impossível descodificar um programa—protegido CD-Cops sem o CD original.

DiscGuard

DiscGuard das tecnologias de TTR (http://www.ttrtech.com) embala sua proteção com as limas executáveis no CD e codifica-as; um código digital no CD original é usado então descodificando. Quando um usuário tenta copí um CD protegido com DiscGuard, o código digital não está copí corretamente, e quando o programa copí é, a rotina da descodificação identificado-o como uma cópia e funciona-o como uma versão do programa demostrativo ou com outras limitações, porque os colaboradores desejam.

Uma desvantagem distinta para os colaboradores que usam DiscGuard é que necessitam usar qualquer um uma máquina de copi especial—um dispositivo chamado DG-Autor—produzir CDs DiscGuard-protegido.

Tanto quanto eu sei, DiscGuard foi usado com somente um programa popular, o jogo do rally de Colin McRae. Quando o biscoito que removeu a proteção falhou a primeira vez, uma versão trabalhando corrigida era afixado muito no dia seguinte. Dado o fato que este era um tipo completamente novo da proteção, a velocidade com que era rachado não refletiu bem em seus colaboradores. Seu somente salvation era que o biscoito era Moelch, que se tornou mais tarde famoso para os settlers rachando 3.

Uma vantagem de DiscGuard é que não há nenhum decodificador universal, provavelmente porque é usada raramente.

LaserLock

LaserLock é proteção comercial de MLS LaserLock internacional (http://www.laserlock.com). O CD LaserLock-protegido contem um diretório invisível com as limas que contêm erros ilegíveis. O software codificando está usado junto com uma marca do laser quando o CD é produzido, que no feito início lhe verdadeiramente impossível copí, mas pode realmente ser começado ao redor completamente fàcilmente. Quando não houver nenhum decodificador para LaserLock, há um programa que possa copí um CD de LaserLocked a uma movimentação dura. Alternativamente, você pode ajustar um programa de CD-burning para ignorar erros e copí o CD, e as limas erro-contendo podem mesmo ser conservadas com um editor do hex, e todas as partes readable da lima podem ser copí em uma lima na movimentação dura.

LaserLock protegeu muitos programas e jogos, sabido melhor de quais são o fallout 2, o Shogo, e o SpecOps. (LaserLock foi promovido maciça em sua última versão. Quando parecer como se esta proteção pode someday se tornar obsoleta, LaserLock é usado atualmente completamente fequently. Entretanto, há um decodificador público para esta proteção.)

SafeCast

SafeCast é proteção comercial de C-Dilla (http://www.c-dilla.com), que desenvolveu também SafeDisc, descrito em seguida. (C-Dilla é agora uma parte de Macrovision, http://www.macrovision.com.) SafeCast é projetado para equipes do desenvolvimento e suposto para impedir o programa que copía durante o desenvolvimento. Não requer nenhuma máquina de copi especial, e a proteção é projetada especial para CDs queimado. Quando os verificadores beta recebem o CDs codificado, devem contatar a companhia que codificou o CD para receber pelo correio ou pelo email o código necessário funcionar o programa.

SafeDisc

SafeDisc (chamado frequentemente C-Dilla por causa da companhia que o desenvolveu) é proteção o mais geralmente usada de hoje, assim que nós fará exame de um olhar detalhado nele. É usado por produtores internacionais do jogo tais como o entertainment macio de Ubi, o GT interativo, o entertainment do interplay, o Microprose, entertainment vermelho da tempestade, o software Take2 interativo e o TalonSoft, artes eletrônicas, e o Microsoft.

Como com a outra proteção comercial, a liberação de SafeDisc foi precedida por uma campanha enorme no Internet que reivindica que sua proteção não poderia ser removida e que era unconquerable. Naturalmente, uma versão pirateada do primeira SafeDisc-protegeu o jogo apareceu aproximadamente uma semana após a liberação do jogo. Isto certamente não fêz os povos em C-Dilla felizes, e chama sua proteção na pergunta, mas porque não há nenhuma competição adequada, SafeDisc continua a ser a escolha de mais e mais distribuidores.

A presença destas limas em um CD sinaliza a presença de SafeDisc:
•••••00000001.tmp clcd16.dll clcd32.dll clokspl.exe dplayerx.dll

CDs SafeDisc-protegidos contêm também uma lima principal de EXE e uma lima com o mesmo nome que o EXE principal, mas com a extensão do icd. O EXE contem a proteção principal, e a lima original de EXE é codificada na lima de ICD. Este EXE codificado usa os macros anti-desmontando, que fazem muito difícil de seguir.

SafeDisc usa também diversos truques anti-eliminar erros projetados thwart Soft-ICE, no detalhe. Primeiramente, divide o EXE em duas porções. A primeira parte contem somente a informação da descodificação para a segunda parte, mas não tem de outra maneira nenhum código importante. A segunda parte é codificada pela primeira, que faz impossível mudar qualquer coisa na primeira parte, mesmo ao tentar fazer assim na memória.

Um dispositivo protetor na primeira parte do EXE usa o truque de CreateFileA verificar para ver se há a presença de SoftICE. Se SoftICE for encontrado, uma mensagem parece advertindo que um debugger deve ser removido da memória. Se o biscoito negligenciar o aviso e o tentar trabalhar em torno dele, o programa descodifica errada a segunda parte do EXE assim que o debugger for encontrado outra vez. A rotina própria da descodificação testa então outra vez para a presença do debugger usando CreateFileA.

SafeDisc usa também um truque 68h INTERNO. Se um debugger for encontrado, as constantes da descodificação estarão ajustadas incorretamente, e a segunda parte do EXE será descodificada incorretamente.

Anote uma versão mais velha de SafeDisc usou um truque com o registo eliminar erros que poderia descobrir ativo
debugger. Este truque teve que ser removido, embora, porque era incompatível com Windows NT.

A segunda parte dos testes de EXE para a presença do EXE original usando uma verificação simples do CD, e tentativas aos erros lidos do CD original. Se encontrar um erro, indica uma janela que requer o usuário introduzir um CD original. Se o biscoito tentar começar em torno deste aviso, o programa simplesmente deixará de funcionar melhor que indica uma mensagem de erro após a descodificação incorreta seguinte.

A segunda parte do EXE, atrás do teste para o CD original, contem um programa que calcule o código necessário descodificar o EXE original. Do programa os funcionamentos CLOKSPL.EXE primeiramente, que mostra somente um retrato durante o carregamento. Em seguida, o programa é acoplado inteiramente em calcular a chave da descodificação de acordo com várias circunstâncias. Os erros do CD são lidos e, dependendo da presença ou da falta dos erros, as circunstâncias são verdadeiras ou falsas.

É quase impossível influenciar o programa com um remendo porque lê os erros com CLCD16.DLL e CLCD32.DLL. eventualmente o resultado do cálculo é XORed com a data real, que significa que o código é diferente cada dia. (seria interessante funcionar a direita do programa antes da meia-noite, porque a mudança da data deve provocar o dispositivo de segurança da descodificação.)

Finalmente, a segunda parte da lima de EXE descodifica uma rotina pequena encontrada na memória, que contem endereços para chamar DPLAYERX.DLL e a chave correta da descodificação. É difícil parar o programa running nesta rotina pequena da descodificação. O traçado é fora da pergunta porque foi começado criando uma linha nova, e a segunda parte do EXE chama-o com chamadas do API da linha do resumo. O one-way a começar nele, embora, deve mudar a primeira instrução no começo a 3h INTERNO, ajusta um limite de faturamento em SoftICE em 3h INTERNO, funciona o programa, e então, uma vez que o programa para no limite de faturamento, substitui o 3h INTERNO com o valor original. Nesta rotina, SafeDisc carrega DPLAYERX.DLL na memória e chama então seu procedimento.

DPLAYERX.DLL trabalha como o EXE principal. Quando a biblioteca carregar na memória, _ a função DllMain@12 é começada, e fixa a descodificação da segunda parte do DLL. A função (Ox77F052CC) é chamada junto com uma chave para descodificar o EXE original, e a chave é uma vez outra vez XORed com a data de modo que a chave correta seja usada descodificando.

_ a função DllMain@12 trabalha como a primeira parte do EXE e contem os mesmos truques anti-eliminar erros. os truques Anti-eliminar erros são usados outra vez no começo da segunda função, Oc77F052CC. Quando um debugger não é encontrado, o programa descodifica o EXE original, que é codificado na lima com uma extensão do icd. (descodificar é executada na memória, e o programa não é conservado ao disco.) Uma vez que o EXE é descodificado corretamente, o programa original está lançado.

SafeDisc era uma parte perfeita de programação, mas, como com toda a proteção comercial, uma vez que tinha sido superado uma vez, poderia fàcilmente ser superado outra vez. Você pode encontrar um decodificador para SafeDisc no Internet que permite que um programa SafeDisc-protegido seja funcionado de uma cópia one-to-one do CD original, including erros. O problema com estes decodificadores é que é difícil criar uma cópia one-to-one exata do CD, porque tal CD pode conter mais de 22.000 erros. Demasiado, ao copí, o CD deve ser lido somente na velocidade 1x de modo que os erros sejam lidos corretamente e, além disso, não todas as movimentações dos CD-R ou de CD-ROM possam ler estes erros corretamente para nivelar em 1x.

Dado a facilidade com que SafeDisc pode ser superado, seria ridiculously ingénuo usar a proteção de SafeDisc sozinho (recorde settlers 3). Ainda, SafeDisc é o mais melhor software protetor comercial no mercado, e não é um investimento mau para uma companhia que não queira desenvolver sua própria proteção. Quando SafeDisc não parará a distribuição do software pirateado, reduzirá dramàtica o copi de CDs original pelos usuários médios.

Anote o programa de A para descodificar SafeDisc (unSafeDisc) sem um CD original tem aparecido recentemente. R!SC
trabalhado claramente muito duramente e analisado com cuidado a descodificação. Porque encontrou diversos failings sérios no projeto de SafeDisc, podia criar um programa que pudesse poder descodificar todas as versões sabidas de SafeDisc. A presença deste decodificador podia, naturalmente, limitar a praticabilidade comercial de SafeDisc. A pergunta deve agora se os colaboradores farão mudanças radicais, reescrever completamente a proteção, ou espere até que sua proteção se torne essencialmente desnecessária. (no tempo atual, há uma versão nova e melhorada de SafeDisc, chamada SafeDisc2. A tecnologia é melhor do que na versão precedente, mas foi quebrada e é achado possível um o decodificador para ele.)

SecuROM

SecuROM (http://www.securom.com) é proteção comercial de Sony DADC. As similaridades entre SecuROM e SafeDisc sugerem que SafeDisc está baseado provavelmente em SecuROM, e que os criadores de SafeDisc melhoraram simplesmente SecuROM. Isto é sugerido pela presença do DLL 6 do CMS 1 das limas, do CMS_95.DLL, ou do CCMS_NT.DLL no CDs SecuROM-protegido. Como SafeDisc, SecuROM está no desenvolvimento contínuo.

A proteção de SecuROM é baseada no mesmo princípio que SafeDisc. Embora foi usada proteger muitos jogos e programas, including forsaken, descida, FreeSpace, FIFA 99, centauri de alfa, máquinas, e o Diablo famoso 2, eu não o descreverei em detalhe porque está sendo usado menos e mais menos. A história curta é que alguns dados de SecuROM estão codificados em uma lima de EXE, que seja descodificada somente corretamente uma vez o CD original seja introduzida. O equipamento de copi especial é requerido para produzir um CD SecuROM-protegido.

Quando não for fácil rachar a proteção de SecuROM, não é certamente impossível. É ligeiramente mais fácil remover SecuROM do que deve remover SafeDisc porque somente alguns dos dados são codificados, e porque seu sistema da rotina e de proteção da descodificação é um tanto mais simples. Bàsicamente, o descarregador da memória que conserva a lima de EXE ao disco depois que a descodificação correta pode ser usada descodificando, como com SafeDisc. (naturalmente, isto pode também ser feito manualmente em um debugger, mas seria ligeiramente mais time-consuming.) Anote que SecuROM, como SafeDisk, estêve promovido em suas versões mais atrasadas.

Você pode encontrar um decodificador de SecuROM no Internet que pode começar programas de uma cópia one-to-one do CD. Na outra mão, não é fácil fazer tal cópia: Sua criação pode fazer exame de diversas horas, e o resultado é longe de certo.

Se você começar um programa SecuROM-protegido de um CD original, você pode despejá-lo que usa a versão a mais atrasada de ProcDump. Quando os colaboradores deverem considerar esta possibilidade rachando, seria mesmo melhor se SecuROM próprio concentrasse em tackling esta falha.

VOB

VOB é a proteção comercial a mais atrasada na família de SecuROM e de SafeDisc, e, em minha opinião, também o mais melhor. Eliminar erros VOB é uma dor real porque usa os macros anti-desmontando que prolongam eliminar erros terrìvel e o fazem muito desagradável. Se não não é nada revolucionário.

Como é comum com este tipo de proteção, as verificações do programa para os erros no CD original, que diferem em cópias. Os valores da descodificação para um produto dado são calculados de acordo com um determinado algoritmo, e estes valores são usados então descodificar a lima original do PE. Desde que este não é realmente nada novo, os biscoitos que controlaram remover o achado de SafeDisc ele fácil de remover também VOB.

VOB não é usado atualmente muito extensamente, embora o jogo czech Polda 2 e mesmo os settlers 3 foram protegidos com ele, e tanto quanto eu sei ele sou não mais longo que estou sendo revisado.

Outros Truques Da Proteção do CD

Há alguns outros esquemas da proteção usados para CDs:

• O CD contem mais de 74 minutos dos dados
• Toc danificado (índice)
• O CD contem limas enormes
• O CD contem erros físicos
• O CD contem um ou mais lima enorme
• O programa demostrativo selecionou as funções do programa limitadas

O CD contem mais de 74 minutos dos dados

Eu vi primeiramente este tipo de proteção nos commandos do jogo. É baseado na inabilidade de um usuário copí o programa a um CD 74-minute típico porque o programa é demasiado grande (maior do que 660MB). O CD original do programa é escrito em densidade mais elevada do que a normal, que lhe faz uma capacidade mais elevada.

Quando esta proteção apareceu primeiramente no mercado, era eficaz porque não era possível comprar 80-minute CD-Rs, e os biscoitos tiveram que remover algo do programa poder copí o. O software protetor dos commandos estava pronto para aquele embora, e se encontrasse que todas as trilhas audio tinham sido removidas do CD, o jogo recusou funcionar.

Este tipo de proteção não faz muito sentido hoje though, desde que o preço dos meios 80-minute está quase no par com 7 4-minute CD-Rs, e todos os programas e queimadores ardentes melhores podem trabalhar com meios 80-minute. Este esquema da proteção faria somente o sentido se o CD fosse maior de 80 minutos, mas se era, algumas movimentações de CD-ROM teriam a leitura do problema ele.

Toc danificado (índice)

Se você tentar copí um CD protegido com um índice danificado, o programa ardente indicará uma mensagem de erro e recusá-la-á copí o CD. O software da proteção usa este princípio adicionando um bloco extra dos dados ao CD (além do principal), colocando frequentemente o entre trilhas audio. Porque o formato de ISO não suporta dois blocos dos dados em um CD, o programa ardente falhará. O salto de Achilles desta proteção é que todos os programas ardentes melhores deixam o usuário desligar o aviso e fazer a cópia. (esta proteção de cópia foi usada com o CD do jogo dos commandos.)

Limas Enormes

Este tipo de proteção é usado frequentemente junto com a técnica danificada do TOC. O CD original contem as limas que são maiores do que 600MB são copí uma vez que a uma movimentação dura. No fato, uma vez que o CD inteiro foi a uma movimentação dura, podido ser maior do que 2GB, fazendo com que o programa ardente recuse queimar-se.

Este tipo de proteção era importante porque impediu o CD do primeiro que está sendo copí a uma movimentação dura de modo que um CD 74-minute pudesse ser feito de um 80-minute um. Atualmente though, com a disponibilidade de 80-minute CD-Rs (como discutido previamente) este tipo de proteção perdeu sua importância.

Erros Físicos

Este tipo de proteção introduz realmente erros físicos no CD, tal como uma trilha danificada. (esta técnica não foi usada muito frequentemente, embora foi usada na proteção maravilhosa dos settlers 3.) Muito poucas movimentações de CD podem ler tais erros. (eu o tentei com minha movimentação de TEAC, e eu sucedi somente após uma estadia longa. Era necessário lê-la somente na velocidade 1x e ser muito paciente, desde que ler o um CD fêz exame de aproximadamente seis horas.)

Mesmo que você possa encontrar um programa no Internet que faz a leitura mais fácil, esta técnica é ainda boa. Pode ser difícil produzir though o CDs original, desde que o CD tem que mecanicamente ser danificado apenas na maneira direita, todas as vezes.

Um ou mais lima enorme

Este os meios muito bons da proteção fazem difícil de criar uma versão rasgada do CD de um programa. Neste caso, todas as limas são combinadas em um ou mais lima muito grande no CD. Se as limas usarem codificar ou compressão, é muito difícil para o biscoito de compreender a estrutura de lima, e transformá-la para trás em limas pequenas a fim remover as limas que considera desnecessário.

Quando a proteção é boa, o biscoito terá que combinar para trás as limas pequenas outra vez em uma lima grande e substituir, para o exemplo, as limas do áudio que quis remover com a um-segunda pausa para encurtar a lima. Em seguida, terá que re-index o encabeçamento de lima com a informação sobre os comprimentos e as posições das limas na lima complexa grande. Isto não é fácil e faz exame muito tempo, e além de qual, ele é fácil de fazer um erro e de criar uma cópia inútil do jogo ou do programa.

Quando combinada com um programa que verifique para ver se as mudanças estiveram feitas, esta proteção torna-se mesmo mais difícil de remover.

O programa demostrativo com funções selecionadas do programa limitou

Nesta situação, o programa protegido falta diversas funções importantes; para o exemplo, excepto é geralmente disabled. Entretanto, alguns programadores não tomam bastante cuidado e obstruem simplesmente as funções no código do programa sem removê-las, que no caso que todo o biscoito necessita fazer está unblock a função para fazer o programa inteiramente funcional. Ao usar esta proteção, as partes importantes do programa devem ser removidas melhor que simplesmente obstruído.

Há uns programas maravilhosos para proteger as versões do programa demostrativo chamadas ASProtect e SVKP.. ASProtect e SVKP críam e excepto um programa demostrativo que se torne inteiramente funcional somente uma vez o número de registo correto é incorporado. (os programas demostrativos são um dos meios os mais seguros da proteção, e são bons para o software caro as.well.as o shareware.)

Os biscoitos não podem remover a proteção de um programa que não contenha partes importantes do código para lhe fazer a função. Sua somente maneira em torno da proteção que envolve remover o código de um programa deveria escrever o código faltante ele mesmo, e este é altamente improvável.

este é um artigo adicionado por Sylvester Douni


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions