Pergunta

O que são métodos aceitos para reduzir iPhone pirataria aplicação, que não violam processo de avaliação da Apple?

Se a minha candidatura "telefones casa" para fornecer o ID de dispositivo único em que é executado, que outras informações que eu preciso para coletar (por exemplo, o ID da Apple utilizado para comprar o aplicativo) para criar um registo válido token que autoriza o uso da aplicação? Da mesma forma, o código que eu usaria para acessar esses dados extra?

O que parecem ser as melhores abordagens técnicas disponíveis para este problema, no momento presente?

(Por favor, abster-se de respostas não-programação sobre como a pirataria é inevitável, etc. Eu sei que a pirataria é inevitável. Estou interessado na respostas baseadas em programação que discutir como reduzi-lo. Agradecemos antecipadamente a sua compreensão.)

Foi útil?

Solução

Atualização

visita e ler

Graças a chpwn nos comentários.

código que é velho demais! - 11 mai 2009

Por enquanto não há uma maneira mais fácil de detectar se o seu aplicativo para iPhone foi crackeado para uso pirataria. Isso não envolve você verifique o iPhone IDs exclusivos com uma lista de IDs aceitos.

Atualmente, existem três coisas biscoitos fazer:

  1. Editar o arquivo Info.plist
  2. Decode o Info.plist de binário para UTF-8 ou ASCII
  3. Adicionar um par-chave para Info.plist {SignerIdentity, Apple iPhone OS aplicação de assinatura}

A última é mais fácil de verificar com este código:

NSBundle *bundle = [NSBundle mainBundle]; 
NSDictionary *info = [bundle infoDictionary]; 
if ([info objectForKey: @"SignerIdentity"] != nil) 
{ /* do something */  }

Geralmente não temos SignerIdentity em qualquer um dos aplicativos da App Store que compilação para verificação de zero, em seguida, executar instruções SET deve tornar mais difícil para os crackers e piratas.

Eu não posso levar o crédito por esta visita por favor Como frustrar iPhone IPA biscoitos. há muita informação lá sobre a pirataria no iPhone e como controlá-la.

Outras dicas

Como apontado por Andrey Tarantsov nos comentários, procurando a string "SignerIdentity" no binário (usando um aplicativo como o HexEdit) e substituí-lo é muito fácil.

Você pode codificar essa seqüência, mas mais uma vez tudo o que você tem a fazer é mudar um caractere dele e o aplicativo não vai procurar a chave "SignerIdentity" mais, mas por alguma outra chave que provavelmente não existe ( Por conseguinte, é nula). Esse ser nulo chave, o aplicativo pensa que não está rachado (desde SignerIdentity deve ser nulo se o aplicativo não está rachado).

Em vez disso, eu prefiro verificar o tamanho do info.plist e compará-lo a um valor de referência. Notei Simulator e dispositivos constrói não têm o mesmo tamanho de arquivo info.plist. O mesmo vale para Debug, lançamento e distribuição constrói. Portanto, certifique-se de definir o valor de referência usando o tamanho do arquivo info.plist para o Construir distribuição de dispositivos.

Como olhar para o filesize no lançamento :

Parece que salvar MD5 checksum do Plist e verificar cryptid deve fazer bem até algum tempo.

Verifique iTunesMetadata.plist para a data de Purchace como às vezes, quando um aplicativo é rachado, essa data é alterada para algo escandaloso.

Além disso, verifique para ver se existe o campo de nome purchacer. Na minha experiência com rachaduras aplicativos para uso pessoal, que normalmente é removido. Se alguém souber como a proteção anti despejo de Temple Run funciona, você poderia usar isso em conjunto com alguma proteção que poedCrackMod não pode obter (google poedCrackMod criar conta hackulo.us, ir para dev olhar centro de poedCrackMod, instalá-lo em iDevice) .

Clutch que não vai rachar as coisas com Temple Run como proteção, tem um recurso chamado OverDrive pretende silenciar a detecção de crack de um aplicativo. poedCrackMod tem LamestPatch, que não é tão bom. Também poedCrackMod é um script de festa fonte aberto que pode ser reverso. Para recapitular, você tem um aplicativo que tem proteção contra cópia que não pode ser contornado com a embreagem / ultrapassagem mas pode ser quebrada com poedCrackMod. No entanto poedCrackMod não podem contornar as do aplicativo em cheques aplicativo pirataria. É difícil cheques remendo integrety manualmente no executável do aplicativo. Assim, a sua aplicação é difícil de quebrar.

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