Domanda

Ho usato Dotfuscator per proteggere la mia applicazione dall'ingegneria inversa, ho crittografato i file DLL nell'applicazione Windows, ma come posso farlo in OSX / Monorouch?

Estrai la DLL da IPA, quindi confondere le DLL in Windows e reimballa le DLL crittografate in IPA, quindi pubblica su AppStore?

C'è una soluzione semplice?

È stato utile?

Soluzione

Principale È necessario ricordare che iOS non consente Jit (appena in tempo) Compilazione. Ciò significa che tutto deve passare attraverso il compilatore Aot (prima del tempo).

Questo risulta che tutto il codice IL dei tuoi assembly viene convertito in istruzioni native (V6, V7 e / o Thumb) istruzioni e che il IL è non richiesto più.

Ciò significa che, quando stai costruendo per Release|iPhone, il codice IL verrà rimosso dai tuoi assembly. Dal momento che è spogliarello non sarà presente (da decompilazione) nell'applicazione che pubblichi.

Notes

    .
  • Gli assembly saranno ancora all'interno dell'applicazione perché i metadati sono ancora necessari (ad esempio System.Reflection ne ha bisogno). Quindi i nomi dei simboli e i file delle risorse non saranno mangiati / crittografati come gli obfuscolatori in genere;

  • Puoi smontare il gruppo del braccio (sarebbe vero anche se hai offuscato i gruppi prima della compilazione AOT) ma è molto più difficile da capire (e tornare a C #) di Il è .

  • Estrazione dei gruppi dall'IPA e Processandoli si romperà almeno La firma dell'applicazione (è possibile ricompendarlo). Sarà anche probabilmente rompere molte altre cose (dal momento che il codice si riferirà a nomi / strutture che potrebbero essere cambiati). Non penso che questo funzioni (ma dipende dalle opzioni che useresti dal tuo Obfuscator).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top