PROTEGENDO SOFTWARE PIRATARIA - CODIGO ASSEMBLY
Citação::
Nossa, esse tópico ta de grande ajuda, eu nunca soube que era possÃvel fazer tanta coisa com um fonte lacrado...!!! ( e eu achava que meus fontes estavam seguros), hehehe
pois é ADILSOO
é muito pior do que imaginamos...
Quanto mais tento proteger o meu software, mas descobro que ele esta desprotegido... infelizmente
Esse UPX ate que criptografa o executavel.. mas é possivel descriptografar facilmente... facilmente mesmo. INfelizmente
Citação:porem, fazendo a descriptografia com o UPX ele volta a ser o mesmo executavel que antes.
O UPX, não faz criptografia e sim uma compressão. Vou dar uma olhada nas opções dele e ver se tem como não deixar descomprimir. Mas mesmo assim, já é uma barreira para o cara que tentar burlar o sistema. O UPX é um software antigo e muita gente nem tem idéia de que ele existe ou de seu funcionamento, então, dificulta um pouco para o Lammer
Citação::
porem, fazendo a descriptografia com o UPX ele volta a ser o mesmo executavel que antes.
O UPX, não faz criptografia e sim uma compressão. Vou dar uma olhada nas opções dele e ver se tem como não deixar descomprimir. Mas mesmo assim, já é uma barreira para o cara que tentar burlar o sistema. O UPX é um software antigo e muita gente nem tem idéia de que ele existe ou de seu funcionamento, então, dificulta um pouco para o Lammer
pois é.. maaaas...
mas acabei descobrindo agora tambem um programa que descobre em qual programa o .exe foi compressado.. ou seja... fiz um teste e ele me mostrou que foi compressado no UPX... INFELIZMENTE
ou seja, um cara que quer cracker o .exe ja deve saber dessa pratica. Teria que ter um metodo de compreensar e nao voltar
lembrando que estou apenas querendo descobrir uma segurança melhor para meus softwares... mas infelizmente quanto mais eu tento descobrir mais eu vejo que os sistemas sao vulneraveis.
Vou testar ver o assembly em .exe de programas famosos, para ver como é feito.. se é possivel ver.
Se alguem poder ajudar, agradeço
Veja o caso de um processador por exemplo. Ele é um componente eletrônico de princÃpios realmente simples, mas devido a complexidade da construção, a engenharia reversa se torna muito difÃcil, MAS não impossÃvel. é possÃvel sim, desmontar um processador e ver como cada parte dele funciona e até reproduzir, mesmo com a alta complexidade da sua construção. Assim é com o software, mesmo que você faça uma segurança muito boa, com chaves, compressão, criptografia, bloqueios externos... sempre haverá uma forma de se reverter o processo. A chave do sucesso é o seu talento. Suponha que alguém pegue o seu sistema e altere algumas coisas para parecer que foi ele quem fez. Ele até vai conseguir vender para alguns, mas no momento em que o cliente precisa de algo novo, a coisa complica para ele(o usurpador do seu esforço). Então, faça algo bem feito e isso se venderá por si só, e mesmo havendo similares, o seu produto será único e só você pode melhorá-lo. O código fonte não é o seu produto, mas sim o seu talento, é ele quem define o quanto sucesso você terá.
Citação::
Não existe nada 100% seguro, TUDO é crackeável. Existem maneiras de se dificultar que se façam isso, mas tudo que é engendrado, pode ser anti-engendrado, ou seja, tudo que é feito, pode ser desfeito. Por mais que você proteja sempre haverá uma maneira.
Veja o caso de um processador por exemplo. Ele é um componente eletrônico de princÃpios realmente simples, mas devido a complexidade da construção, a engenharia reversa se torna muito difÃcil, MAS não impossÃvel. é possÃvel sim, desmontar um processador e ver como cada parte dele funciona e até reproduzir, mesmo com a alta complexidade da sua construção. Assim é com o software, mesmo que você faça uma segurança muito boa, com chaves, compressão, criptografia, bloqueios externos... sempre haverá uma forma de se reverter o processo. A chave do sucesso é o seu talento. Suponha que alguém pegue o seu sistema e altere algumas coisas para parecer que foi ele quem fez. Ele até vai conseguir vender para alguns, mas no momento em que o cliente precisa de algo novo, a coisa complica para ele(o usurpador do seu esforço). Então, faça algo bem feito e isso se venderá por si só, e mesmo havendo similares, o seu produto será único e só você pode melhorá-lo. O código fonte não é o seu produto, mas sim o seu talento, é ele quem define o quanto sucesso você terá.
concordo plenamente...e sei que nao é possivel proteger 100%
porem, queria dificulltar pra esses hackers de fundo de quintal..
e alem disso, quero deixar aqui explicado para quem esta começando a programa, para nao deixar seus dados expostos no codigo fonte, achando que ninguem vai ver.
Agora dificultar é posssivel, concorda?
um programa crackeado é um executal igual ao original porem desbloqueado.... MAS pode ser tambem um executavel igual ao ORIGINAL mas com algum script malicioso embutido, pronto para agir silenciosamente.... dependendo do script é claro.
Trabalhar 5, 10 anos num sistema pra depois vazar pra todo mundo de graça, é o bicho...
Mas o tópico é excelente... Pelo que vi, tenho que ter todo cuidado ao colocar o serial no sistema, pois descoberto ele, bau, bau...
Tô pensando aqui: e se eu colocar este serial criptografado no banco? No meu banco já há várias informações criptografadas, seria só mais uma... acho que aà ficaria bom, o que acham??
Citação::
Caramba, só de saber todas as informações, me deu calafrios...
Trabalhar 5, 10 anos num sistema pra depois vazar pra todo mundo de graça, é o bicho...
Mas o tópico é excelente... Pelo que vi, tenho que ter todo cuidado ao colocar o serial no sistema, pois descoberto ele, bau, bau...
Tô pensando aqui: e se eu colocar este serial criptografado no banco? No meu banco já há várias informações criptografadas, seria só mais uma... acho que aà ficaria bom, o que acham??
mas ai que ta LEAO10...
nao importa aonde voce coloque o serial.... la no codigo assemble do seu programa vai ter um if do tipo.....
IF (ATIVADO = TRUE) THEN
// PROGRAMA ATIVADO
END IF
Claro que nao esta dessa forma, mas as palavras ATIVADO por exemplo.. aparece normalmente.
ou seja... é possivel facilmente localizar no codigo assemble esse if, e entao criar um .exe do seu programa fazendo ignorar esse if..
ele até passará pelo IF, mas sendo falso ou verdadeiro ele vai executar o que esta dentro ... ativando o seu sistema com algumas letras de comando.
o motivo desse topico é mostrar isso para todos que desenvolvem... é possivel que muitos aqui programam a mais de 10 anos e nao sabem ainda disso.
mas tambem é tentar descobrir formas de dificultar o crackeamento de programas... no exemplo assim, apenas criptografando a palavra [Ô]ATIVADO[Ô] já dificultaria um pouquinho...
tambem quero é alertar todos a NAO colocar informacoes confidenciais no codigo fonte.. como senha de e-mail, de servidor, de banco de dados online...etc
ja achei programas na internet (inclusive programas bons ) com o codigo serial no proprio codigo fonte... com SMTP de email com senha... isso só mostra que programadores nao estao se preocupando muito com segurança
acredito que aqui tenha programadores que tenham conhecimento disso... os mais avançados.. espero que esses possam nos ajudar e compartilhar essas info.
Boa lógica... Só que no meu sistema, eu coloco o seguinte no form de login:
IF serialDigitado = SerialdoBanco then
CarregaoOFormPrincipal
end if
Então, se o cara quebrar este if, como falado por você, o programa não carrega...
Legal a gente conversar sobre isso, vamos aprofundando nas técnicas...
Citação::
Entendi MAICONJG,
Boa lógica... Só que no meu sistema, eu coloco o seguinte no form de login:
IF serialDigitado = SerialdoBanco then
CarregaoOFormPrincipal
end if
Então, se o cara quebrar este if, como falado por você, o programa não carrega...
Legal a gente conversar sobre isso, vamos aprofundando nas técnicas...
vai carregar sim LEAO10... porque ele vai fazer com que o if seja executado e que o CarregaOFormPrincipal tambem será carregado.... e isso é barbadinha de fazer.