Ola pessoal, esse é meu primeiro tópico aqui no GH, sou programador a mais de 15 anos, já trabalhei com varias linguagens apesar de ter um carinho especial pelo Visual Basic (4, 5 e 6), minha primeira linguagem, pra mim a linguagem mais simples fácil de todos os tempos...
Recentemente me deparei com um desafio, criar um sistema de proteção para proteger meus softwares (a maioria feita em VB6) e depois de muito batalhar tendo meus jogos crackiados varias vezes (sim programo jogos ...) creio que achei um métodos de proteção definitivo, e ele tem funcionado muito bem ...
Ele basicamente consiste em métodos de ofuscação e remoção de dados simbólicos, alem do meu favorito a execução fora da CPU do sistema.
Este ultimo, foi uma idéia que eu tive depois de tentar vários métodos de proteção de terceiros como o Themida, Armadillo e o EXECryptor infelizmente nenhum deles funcionou a contento, já que eles deixavam o EXE extremamente lento fazendo os jogos rodarem em câmera lenta mesmo no atuais Core 2 Duo, esta idéia é baseada no Dongles da vida como o ROCKEY4ND consiste em um chip que executa varias tarefas importantes para o bom funcionamento do software, e passando todos os números e strings do sistema por uma função que consulta ao chip para “descryptografar” o valor real necessário para e execução da rotina.
Por exemplo:
essa função gera o numero de serie do programa.
e protegida ficaria assim:
Perceberam que os números agora são retornados pela função Mask() que pede ao chip que calcule o valor real a partir de constantes “Cryptografadas”, e como essas constantes são aparentemente aleatórias, torna-se praticamente imponível fazer o programa funcionar sem ter o algoritmo que decifra os números sendo que este algoritmo não fica no Computador ou no Software e sim bem a salvo dentro do Chip.
Ah e não adianta apenas inverter a lógica ou “nopear” o if que verifica o serial já que todos os números e strings usados no programa passam pela função Mask().
Quero saber da opinião de vcs sobre este método de proteção, Obrigado.
PS. Em breve estarei postando um CrackMe com esse metodo de proteção.
Falow !!!
Recentemente me deparei com um desafio, criar um sistema de proteção para proteger meus softwares (a maioria feita em VB6) e depois de muito batalhar tendo meus jogos crackiados varias vezes (sim programo jogos ...) creio que achei um métodos de proteção definitivo, e ele tem funcionado muito bem ...
Ele basicamente consiste em métodos de ofuscação e remoção de dados simbólicos, alem do meu favorito a execução fora da CPU do sistema.
Este ultimo, foi uma idéia que eu tive depois de tentar vários métodos de proteção de terceiros como o Themida, Armadillo e o EXECryptor infelizmente nenhum deles funcionou a contento, já que eles deixavam o EXE extremamente lento fazendo os jogos rodarem em câmera lenta mesmo no atuais Core 2 Duo, esta idéia é baseada no Dongles da vida como o ROCKEY4ND consiste em um chip que executa varias tarefas importantes para o bom funcionamento do software, e passando todos os números e strings do sistema por uma função que consulta ao chip para “descryptografar” o valor real necessário para e execução da rotina.
Por exemplo:
Código:
For I = 1 to 16 nSerial = nSerial & Hex(Chr$(I * 2 + 3 / 4)) Next I If nSerial = nSerialDigitado then .... end if
e protegida ficaria assim:
Código:
For I = Mask(-6445) to Mask(985) nSerial = nSerial & Hex(Chr$(I* Mask(325) + Mask(-7854) / Mask(-654))) Next I If nSerial = nSerialDigitado then .... end if
Ah e não adianta apenas inverter a lógica ou “nopear” o if que verifica o serial já que todos os números e strings usados no programa passam pela função Mask().
Quero saber da opinião de vcs sobre este método de proteção, Obrigado.
PS. Em breve estarei postando um CrackMe com esse metodo de proteção.
Falow !!!
Comment