Absturz verursachende Skripte

  • Mit eval werden in Skripten Kleinigkeiten von JS-Funktionen verändert, indem ein kleiner Teil des Quellcodes durch einen anderen Code ersetzt wird.

    etc.pp.


    Danke, Aborix. Wenn der Börsenfeger nicht schon gefragt hätte, wäre meine Frage so ähnlich gewesen: Man müsste jetzt wohl im Firefox-Code nach den entsprechenden Funktionen suchen und sie vollständig einfügen … aber offensichtlich immer individuell nach Skriptcode angepasst, wie es scheint?

  • Ja.


    Folgende Vorgangsweise funktioniert meistens und man braucht damit auch nicht im Quelltext nach der Funktion suchen:


    Man gibt den Funktionsnamen mit toString() und allen replace(...) in die Browserkonsole ein, so wie es im Skript steht.

    Beim Skript aus #15 ist das:

    JavaScript
    1. PlacesCommandHook.bookmarkPage.toString()
    2. .replace(/^async/, 'async function')
    3. .replace(/unfiledGuid/g, 'menuGuid')

    In der Konsole steht dann ein String, der den veränderten Code enthält. Den Code, also den String ohne die Anführungszeichen am Anfang und am Ende, bearbeitet man dann in einem Editor. Der Code enthält möglicherweise, evtl. auch mehrmals, die Zeichenfolge \". Hier entfernt man jeden Backslash. Dann kann man Kommentare und Leerzeilen entfernen; sie können aber auch bleiben und stören nicht. Den verbleibenden Code schreibt man dann ins neue Skript, so wie in #15.


    Hier steht ein weiteres Beispiel:

    LeerenTabNutzen - Ersatz für Eval möglich ?

    Einmal editiert, zuletzt von aborix () aus folgendem Grund: Verweis auf ein weiteres Beispiel

  • ... dann hoffe ich mal auf die Skriptkundigen... :)

    Hallo, an alle Skriptbenutzer,

    ...

    Und schließlich folgendes Skript, das den Ordner Lesezeichen-Menü statt den Ordner Weitere Lesezeichen als Standardordner für die Abspeicherung von Lesezeichen einstellt:

    Hier arbeitet dafür folgendes Script tadellos: