Disons que temps qu'Apple ne modifie pas en profondeur le daemon rcd, mais ne fait que de petite mise a jour, le patch fonctionnera toujours. En effet, je ne me base plus sur un offset fixe pour patcher le binaire. J'analyse le binaire pour pouvoir appliquer le patch.
Enfaite, pour faire simple, l'application rcd tourne en boucle pour vérifier si on appuis sur une des touches multimédia. Cette boucle est dans la fonction _doDispatch, cette fonction, lors d'un appuis sur lecture vérifie si iTune est lancer, et dans le cas contraire appelle _HandleScript pour le lancer.
Avec la première version de MMFix, si rcd était recompiler et/ou modifier les adresses de ses fonctions, ainsi que l'offset de l'instruction qui appel _HandleScript était modifier aussi et donc MMFix ne fonctionnais plus. Maintenant, je recherche la fonction _doDispatch et analyse son code pour faire le patch en parcourent la structure de l'application.
Tous sa pour dire que temps qu'il exist la fonction _doDispatch qu'elle lance iTune via la fonction _HandleScript, la version 2 de MMFix n'aura pas besoin d'être mise a jours.