2009-09-09 8 views
0

Je dois ajouter quelques méthodes à une classe déjà identifiée dans une application à source fermée. En utilisant f-script anwywhere et gdb je sais ce que j'ai besoin d'interagir avec pour atteindre mes objectifs.Démarrage rapide du plugin d'application Objective-c

Cependant, j'ai du mal à trouver une solution pour me permettre d'injecter du code (de préférence objectif-c) dans l'application en cours d'exécution. Pour le moment, je serais très heureux d'injecter le code via gdb et de démarrer manuellement le code car je viens de passer à Snow leopard et je suis conscient des problèmes avec SIMBL.

Y a-t-il des guides de base pour commencer? Je n'arrive pas à trouver quelque chose de vraiment utile à partir de googler.

Je pense que je dois créer un ensemble d'applications (ce qui n'a jamais été fait auparavant, donc c'est déjà un défi) et utiliser GDB pour charger dans l'application. Une fois cela fait, je crois que je peux ensuite appeler mon code bundles de GDB.

Fondamentalement, je pense que j'ai besoin de quelques conseils sur la création de l'ensemble et le chargement ultérieur via GDB. Tous les exemples simples de chargement d'une classe/d'un objet dans une application (peut-être simplement un monde bonjour devrait convenir) seraient très appréciés.

Je peux également être égaré avec l'accent sur les paquets?

Merci,

Répondre

0

Utilisez la variable d'environnement DYLD_INSERT_LIBRARIES à charge (dynamique) bon vieux bibliothèques avant de charger le fichier exécutable principal. Voir man dyld.

Mike Ash a un nice article sur l'injection de code facile en utilisant gdb.

+0

Merci, je vais vérifier. J'avais oublié dyld –

Questions connexes