2009-11-13 13 views

risposta

3

Obiettivo C è un superset rettilineo di C, quindi tutte le normali tecniche C offuscamento lavoro. Se si desidera lavorare con il cacao, tuttavia, si avrà un po 'di ostacolo perché i nomi dei metodi sono abbastanza auto-documentanti.

Per i propri metodi, è sufficiente autodocumentare i metodi in modo errato. per esempio.

-(void) doSomethingInnocent:(BOOL)animated withObject:passwords; 

quando si sarebbe normalmente hai scritto:

-(void) sendObjectToMyServer:(BOOL)coverupAnimation; 
+2

Un inizio. Ma ancora non aiuterà molto. – bbum

+3

intendi * super * set – Richard

5

I selettori sono ancora chiaro - otool -o si dump tutti gli oggetti ei metodi che definiscono. È anche possibile scaricare tutti i selettori interni ed esterni a cui si accede nel codice con un one-liner che segue. Probabilmente il metodo offuscante e i nomi dei parametri al livello sorgente sarebbero più semplici, anche se farlo a livello di oggetto si offuscerebbe anche in un modo indipendente dalla lingua a scapito di alcune manipolazioni della tabella del linker.

otool -s __TEXT __objc_methname yourapp.app/executable_file |expand -8 | cut -c17- | sed -n '3,$p' | perl -n -e 'print join("\n",split(/\x00/,scalar reverse (reverse unpack("(a4)*",pack("(H8)*",split(/\s/,$_))))))'|less 
+1

cosa fa la stringa di comando che hai incluso? –