2011-01-04 11 views
6

Volevo solo assicurarmi che: Cosa è successo a tutte le stringhe, url che ho nel mio binario?offuscamento del codice di app store?

Quando costruisco il progetto e successivamente sfoglio il contenuto del file binario (quando il progetto è chiamato qualcosa, viene generato qualcosa.app e all'interno del file binario: "qualcosa") usando Smultron o qualsiasi altro editor di sorgenti che posso trova facilmente tutte le stringhe che uso nell'app, in questo caso: l'URL all'API e le chiavi di localizzazione come "login TITLE" (collegamento a Localization.strings).

La mia domanda è stata approvata e ho scaricato l'app. Rinominato l'ipa per comprimere ed estrarre. Con mia sorpresa nel binario non sono riuscito a trovare alcuna stringa - né URL, né alcun altro.

Significa che la mia app è stata offuscata o è stata crittografata dai DRM Apple?

saluti Chris

+1

Cosa succede se si esegue "strings/path/to/your/binary"? –

+0

Quando eseguo corde sul binario builded da Xcode ho ottenuto tutte le stringhe, i nomi dei metodi, i registri e così via, ma quando su App Store: i'4 @ S_ll MrRQ> D: PU YR # WYT Z_ ~ = Hww @ Z 3A^P wy05 OWlg < cb 9i. w7g] –

risposta

2

Si può infatti facilmente trovare quelli. Ma non preoccuparti, le chiamate URL sono facilmente reperibili anche monitorando le connessioni di rete. Il trucco è comunicare attraverso SSL usando il POST.

l'App Store build rende sicuro l'app un po '(DRM e cosa no), ma credo che un semplice editor HEX possa recuperare qualcosa. Il reverse engineering è sempre un'opzione.

Non mi preoccuperei di trovare l'URL, mi preoccuperei di quanto siano sicure quelle chiamate. Le persone saranno sempre in grado di trovare le cose che ti piace nascondere. Il trucco è rendere impossibile per loro (errare) usarlo.

+0

Se sono sufficientemente dedicati a cercare le tue chiamate URL, nemmeno il metodo SLL e POST ti aiuterà. Il protocollo CONNECT utilizzato da SSL può essere aggirato da un logger di pacchetti e essere letto come un semplice metodo POST se hanno un certificato di sistema installato e un proxy come "Charles" –