ofuscação Flex / Air

votos
21

Eu escrevi (a maioria) uma aplicação em Flex e estou preocupado em proteger o código fonte. I despediu-se uma demonstração de Trillix swf decompiler e abriu o arquivo SWF que foi instalado para o meu diretório Arquivos de Programas. Vi que todos os pacotes do ActionScript que escrevi estavam lá. Eu não estou muito preocupado com os pacotes, mesmo que não haja uma quantidade substancial de código, porque ele ainda parece bastante inutilizável sem os arquivos MXML. Eu acho que eles são convertidos em ActionScript, ou pelo menos eu espero. No entanto, eu ainda gostaria de explorar ofuscação.

Alguém tem alguma experiência com Flash / ActionScript 3 obfuscators / Flex? Você pode recomendar um bom produto?

Publicado 07/08/2008 em 15:41
fonte usuário
Em outras línguas...                            


4 respostas

votos
20

O procedimento sugerido por maclema realmente não vai parar qualquer invasor obter o código-fonte - a "aplicação wrapper" terá de ser não criptografada para que o atacante será capaz de descobrir o que você usa AES (ou qualquer outro algoritmo) e ele vai obter o chave de decodificação de forma semelhante (porque ele precisa ser em texto simples em algum lugar). Uma vez que ele tem isso, ele será capaz de decifrar o seu arquivo SWF facilmente.

A única solução confiável (bem ...) é uma espécie de obfuscator - usamos Amayeta que trabalha para Flex na versão mais recente - consulte http://www.amayeta.com/software/swfencrypt/ .

Respondeu 25/09/2008 em 12:03
fonte usuário

votos
13

Aqui está o que eu faria.

  • Compilar o aplicativo em um arquivo SWF. Em seguida, criptografar o SWF usando AES.

  • Fazer uma aplicação "wrapper" que carrega o SWF criptografado em um ByteArray usando URLLoader

  • Use o as3crypto biblioteca para descriptografar o swf em tempo de execução.

  • Uma vez decifrada, use Loader.loadBytes para carregar o swf descriptografado para o aplicativo wrapper.

Isto tornará muito mais difícil de obter o seu código. Não é impossível, mas é mais difícil.

Para aplicativos AIR você poderia deixar o SWF criptografado quando entregar o aplicativo para o usuário final. Em seguida, você poderia fornecer uma chave de registro que contém a chave usada para descriptografar o SWF.

Além disso, aqui está um link para um ofuscador AS3. Não estou certo como ele funciona bem embora. http://www.ambiera.com/irrfuscator/index.html

Respondeu 07/08/2008 em 17:28
fonte usuário

votos
3

Bem, na minha opinião, a solução mais fácil e mais segura é uma mistura de maclema e resposta Borek:

Ofuscar código pode ser um grande headach se você não incluí-lo em seu processo desde o início e se o seu aplplication é muito grande: é provável que ofuscação fazer a sua inscrição corrompido se você usou pacotes remotos (e não declarou isso ao obscurecimento) se você usou a muitas variáveis ​​sem tipo em objetos ou classes dinâmicas ....

Então: se você fizer a solução da maclema em seu aplicativo grande e usar ofuscação em seu invólucro (que é um pequeno aplicativo provável que seja muito fácil para ofuscar) você está código será o mais seguro e hasle o mínimo. Apenas um pirata muito irritado iria tomar o tempo para fazer engenharia reversa do ofuscamento, em seguida, descriptografar o pacote .... Bem, se alguém quer o código do aplicativo soo ruim ou é CIA relacionados ou você já está muito rico (ou ambos)

Obrigado a todos por suas respostas

Respondeu 29/04/2011 em 17:33
fonte usuário

votos
0

Recentemente lançou um jogo iOS e Android usando o Flash. Olhei ao redor da internet para um bom programa gratuito para proteger o código fonte no meu SWF e não consegui encontrar nada, então eu escrevi um. É ainda em desenvolvimento e que é "uso em seu próprio risco", mas ele trabalhou para mim.

É lançado no github. Confira e deixe-me saber o que você pensa.

https://github.com/Teesquared/flasturbate

Fiz upload de um binário janelas, mas eu recomendo que você siga as instruções para construir a si mesmo se você quiser experimentá-lo.

Este obfuscator trabalha diretamente no arquivo SWF. Ele atualmente só renomeia símbolos, mas ele é construído sobre uma estrutura que poderia apoiar bytecodes alterando no futuro.

Respondeu 12/01/2014 em 18:31
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more