2009-11-13 12 views

Respuesta

3

Objetivo C es un superconjunto recta de C, por lo tanto todos normales técnicas de ofuscación C trabajo. Sin embargo, si quieres trabajar con el cacao, vas a tener un pequeño obstáculo porque los nombres de los métodos son bastante autodocumentados.

Para sus propios métodos, solo tiene que autoeditar los métodos incorrectamente. p.ej.

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

cuando normalmente habría escrito:

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

Un comienzo. Pero aún así no ayudará mucho. – bbum

+3

quieres decir * super * set – Richard

5

Los selectores son todavía texto plano - otool -o va a volcar todos sus objetos y los métodos que definen. También puede volcar todos los selectores internos y externos a los que se accede en el código con una sola línea que sigue. La ofuscación de los nombres de los métodos y los parámetros en el nivel de origen probablemente sería más fácil, aunque hacerlo a nivel de objeto también se ofuscará de una manera independiente del lenguaje a expensas de alguna manipulación de la tabla de enlazadores.

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

¿Qué significa la cadena de comandos que incluiste? –

Cuestiones relacionadas