2010-09-16 5 views
0

J'ai un problème simple, je vais être droit. Supposons que je dispose d'une application de cacao tierce exécutant une boîte de dialogue à l'intérieur. Eh bien, j'ai besoin de capturer le texte à l'intérieur de cette boîte de dialogue en temps réel à partir d'une autre application et écrire un fichier journal en temps réel avec cette information.Extraire des informations à partir d'une application MAC OS X

Je suis sûr qu'il y a un moyen, je ne sais pas par où commencer. J'ai de l'expérience avec le cacao et l'objectif C, j'ai quelques applications dans l'app store iphone.

Merci beaucoup

Répondre

1

À moins que l'application est de manière appropriée scriptable (par exemple AppleScript) ou a une sorte d'API externe alors vous ne va pas être en mesure de le faire.

+1

Ou est accessible et peut ainsi être extrait à l'aide de l'API Accessibility. –

+0

@Peter: bon point, même si je ne suis pas sûr combien d'applications sont susceptibles de tomber dans cette catégorie. –

+0

Bonjour :-) Merci pour vos réponses. J'ai essayé d'utiliser F-script et imlib pour étudier et injecter du code mais il s'avère que l'application n'est pas une application cacao, c'est une application carbone. Des idées? :) Merci beaucoup. – flaab

1

En résumé: Contactez le développeur de l'application, mais n'espérez pas. Malheureusement, à notre époque de mémoire protégée et autres, nous devons plus ou moins nous contenter de ce que les applications nous permettent de faire.

Cependant: Vous n'êtes pas entièrement sans recours. En utilisant F-Script vous pourrait être en mesure de joindre au processus et amener certains contrôleurs ou autres à émettre des notifications que vous pouvez capturer et enregistrer.

Edit: Si, comme cela semble être le cas, il est une application Carbon, vous êtes bel et bien arrosé:

  1. -F et le script similaire est peu susceptible d'être possible.
  2. Même si c'est le cas, tenter une injection sur une application Carbon, c'est-à-dire une application C++, est susceptible d'être un exercice de futilité et de déception, voire impossible.
  3. Étant donné que Carbon est obsolète (et comment!), Il est peu probable que l'application soit mise à jour avec une API appropriée pour ce genre de chose.
  4. Tout ce qui précède.

remodifier: Un petit peu aber; il est possible, bien que peu probable, que vous puissiez réaliser quelque chose en utilisant Interface Scripting, mais encore une fois; Je n'aurais pas mes espoirs.

+0

Merci pour vos réponses. J'ai essayé d'utiliser F-script et imlib pour étudier et injecter du code mais il s'avère que l'application n'est pas une application cacao, c'est une application carbone. Des idées? :) Merci beaucoup. – flaab

+0

Oui, voir la mise à jour de la réponse. –

+0

Bonjour :-) J'ai essayé de remplacer certaines fonctions C en utilisant LD_PRELOAD et la bibliothèque dlsym pour la liaison dynamique. Cela a bien fonctionné sous Linux pour d'autres applications mais cela ne semble pas fonctionner pour cette application. Mac OS X utilise une autre directive de préchargement et GCC ne parvient pas à le compiler sous mac.Le code est ici suivant: – flaab