Modifier jsm dans omni.ja

5

Plate-forme: FF17 Win32

J'essaie de modifier les modules / AddonUpdateChecker.jsm dans omni.ja. Quoi que je fasse, je ne peux pas demander à FF de prendre note de mes modifications.

J'ai parcouru toutes les choses suggérées à divers endroits sur Internet:

  • chaque startupCache en vue
  • Extensions activées / désactivées pour forcer le rechargement d'omni.ja
  • Même essayé de désinstaller / réinstaller FF, en modifiant le fichier jar avant la première exécution

Je ne veux pas être victime du problème XY, alors:

Ce que je cherche vraiment à faire est de mettre en œuvre ce pour le processus de construction automatisé pour mes extensions. Oui, je suis conscient qu'il existe des solutions à ce problème, mais je souhaite l'implémenter moi-même car le système de construction est hautement personnalisé.

J'ai maintenant atteint un point où FF dit (en fait) que ma signature est fausse. Je suppose que cela est dû au fait que ma routine de sérialisation est erronée et que je ne peux pas déterminer la base de la documentation. Je voudrais donc inspecter la chaîne sérialisée que FF construit du côté client pour la comparaison. Cette chaîne est construite et la signature est vérifiée (via XPCOM) dans les modules / AddonUpdateChecker.jsm.

Alors, comment puis-je faire en sorte que Firefox prête attention à mes modifications? Ou y a-t-il un moyen plus facile de voir cette chaîne?

DaveRandom
la source

Réponses:

7

Les versions actuelles de Firefox ont un cache à l'intérieur omni.ja lui-même. Si vous supprimez le fichier jsloader/resource/gre/modules/AddonUpdateChecker.jsm de omni.ja alors Firefox devrait commencer à regarder votre modifié modules/AddonUpdateChecker.jsm au lieu. De plus, vous voulez spécifier -purgecaches indicateur de ligne de commande au lieu de rechercher les caches de démarrage.

Note latérale: il est généralement utile de définir extensions.logging.enabled à true lors du débogage de problèmes d'installation d'extension, cela imprimera de nombreuses informations supplémentaires sur Error Console. Bien sûr, je ne sais pas si ces informations supplémentaires seront suffisantes dans votre cas particulier.

Wladimir Palant
la source
extensions.logging.enabled ne nous aide pas dans ce cas, il active simplement le message qui me dit que la signature est fausse - ce qui est un peu ce à quoi je m'attendrais, car le fichier sérialisé est potentiellement de quelques Ko et il est très peu probable que les gens veuillent le voir. parce que la plupart des gens vont utiliser les outils officiels de mozilla pour cela. Merci beaucoup pour votre réponse, il semblerait que cela résoudra probablement le problème. Je vais tester cet après-midi et vous informer de la suite.
DaveRandom
1
-purgecaches - Je le fais à chaque démarrage car je n’utilise que FF pour les extensions de débogage, mais je commençais à être désespéré!
DaveRandom