Decompilare le librerie Objective-C

Ho appena finito una libreria in Objective-C che ho compilato come libreria statica per la distribuzione.

Volevo sapere quali sono le possibilità di ottenere questo decompilato là fuori.

  • Conosci qualche software in grado di farlo?
  • Se è così, come potrei proteggermi meglio?

EDIT: la mia libreria statica è realizzata per iPhone / ARM

Ho creato un algoritmo che, a seconda dei parametri dell’app, può essere eseguito come demo o come codice completo. Si inizia l’object con le variabili X e si sblocca la versione completa. Mi stavo chiedendo se saranno in grado di vedere questo algoritmo in modo che possano creare un generatore di chiavi.

    Non è chiaro da cosa stai cercando di proteggerti. Sì, può essere decodificato. Lo strumento più semplice è otool , parte della distribuzione standard degli sviluppatori:

     otool -tV  

    Da qui arrivano a cose come IDA Pro , che ha il supporto per iPhone ed è molto bello per questo tipo di lavoro. Nel frattempo , sono davvero sorpreso di non aver ancora visto una rielaborazione di otx per iPhone / ARM. Non sarei sorpreso di vedere uno spettacolo alla fine. E ovviamente c’è gdb se stai cercando di capire come le cose fluiscono e quali sono i dati in vari punti.

    Se hai maggiori dettagli su cosa stai cercando di proteggerti, potrebbero esserci delle risposte mirate. Oltre a ciò, leggi i commenti di Chuck.

    Se viene eseguito, può essere decompilato. Objective-C è particolarmente facile da decompilare in codice leggibile grazie alle sue caratteristiche dinamiche. Se vuoi rendere le cose un po ‘più difficili, puoi scrivere la maggior parte del tuo codice in chiaro C e rimuovere il file eseguibile – che ovviamente ha il compromesso di rendere più difficile la gestione dell’applicazione. Ma sii onesto con te stesso: se qualcuno vuole rompere il tuo codice, non sarai in grado di fermarli. I cracker hanno praticamente una quantità illimitata di tempo ed entusiasmo e saranno davvero eccitati da ogni nuovo sforzo che hai fatto per fermarli. Nessuno ha ancora creato un software noncrissibile e le più grandi corporazioni del mondo hanno provato. Non farai di meglio di loro, specialmente se devi chiedere informazioni su Stack Overflow.

    Prenditi il ​​tempo che vorresti mettere nella decompilazione contrastante e usalo per migliorare il tuo prodotto – questo avrà un ROI molto migliore.

    ChanceGetsDecompiled = ExpectedGainFromBeingDecompiled / PopularityOfLibrary

    Beh, se davvero vuoi sapere, proverei a decompilare te stesso. Non si dice se questo è per PPC, Intel o ARM che fa la differenza. Ecco un decompilatore per Decompilatore Intel i386

    Non so cosa potresti fare (non credo ci sia molto) per limitarlo. Il codice può sempre essere decodificato. Sii felice che non usi java o .net. La loro decompilazione è così bella.