Pergunta

Acabei de terminar uma biblioteca em Objective-C que compilei como uma biblioteca estática para distribuição.

Eu queria saber quais são as chances de descompilar isso.

  • Você conhece algum software que possa fazer isso?
  • Se sim, como eu poderia me proteger melhor?

EDITAR: Minha biblioteca estática é feita para iPhone/ARM

Criei um algoritmo que dependendo de alguns parâmetros do app, ele pode rodar como demo ou como código completo.Você inicia o objeto com variáveis ​​X e desbloqueia a versão completa.Eu queria saber se eles conseguirão ver esse algoritmo para criar um gerador de chaves.

Foi útil?

Solução

Não está claro o que você está tentando se proteger de.Sim, pode ser engenharia reversa.A ferramenta mais simples é otool, parte da distribuição padrão do desenvolvedor:

otool -tV <library>

A partir disso eles correm para coisas como IDA Pro, que tem suporte para iPhone e é muito bacana para esse tipo de trabalho.Nesse meio tempo, estou realmente surpreso por não ter visto um retrabalho de otx para iPhone/ARM ainda.Eu não ficaria surpreso em ver um aparecer eventualmente.E é claro que existe o gdb se você estiver tentando descobrir como as coisas fluem e quais são os dados em vários pontos.

Se você tiver mais detalhes sobre o que está tentando se proteger, pode haver algumas respostas direcionadas.Além disso, leia os comentários de Chuck.

Outras dicas

Se for executado, pode ser descompilado.Objective-C é particularmente fácil de descompilar em código legível graças aos seus recursos dinâmicos.Se quiser tornar as coisas um pouco mais difíceis, você pode escrever a maior parte do seu código em C simples e retirar o executável - o que obviamente tem a desvantagem de tornar o design do seu aplicativo mais difícil de gerenciar.Mas seja honesto consigo mesmo:Se alguém quiser decifrar seu código, você não conseguirá impedi-lo.Os crackers têm uma quantidade praticamente ilimitada de tempo e entusiasmo e ficarão realmente entusiasmados com quaisquer novos esforços que você fizer para detê-los.Ninguém ainda criou software inquebrável, e as maiores corporações do mundo tentaram.Você não se sairá melhor do que eles, especialmente se precisar perguntar sobre isso no Stack Overflow.

Aproveite o tempo que você gastaria para impedir a descompilação e use-o para tornar seu produto melhor - isso terá um ROI muito melhor.

ChanceGetsDecompiled = ExpectedGainFromBeingDecompiled / PopularityOfLibrary

Bem, se você REALMENTE quer saber, eu tentaria descompilar você mesmo.Você não diz se isso é para PPC, Intel ou ARM, o que faz a diferença.Aqui está um descompilador para IntelDescompilador i386

Não sei o que você poderia fazer (acho que não há muito) para limitar isso.O código sempre pode sofrer engenharia reversa.Fique feliz por não usar java ou .net.A descompilação deles é tão legal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top