Moin
Ich muss eine .pyo Datei editieren und weiß nicht wie oder womit.
Mit uncompyle6 kann ich sie zwar lesen, aber das reicht mir nicht.
Für Tipps bin ich dankbar.
![]() Anmeldungsdatum: Beiträge: 1479 |
Moin Ich muss eine .pyo Datei editieren und weiß nicht wie oder womit. Mit uncompyle6 kann ich sie zwar lesen, aber das reicht mir nicht. Für Tipps bin ich dankbar. |
Supporter, Wikiteam
![]() Anmeldungsdatum: Beiträge: 9564 Wohnort: Münster |
|
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1479 |
Eine Python Datei aus meinen Sat Receiver. |
Anmeldungsdatum: Beiträge: 4371 |
Keine Ahnung obs hilft:
https://sourceforge.net/projects/easypythondecompiler/ Geht nur bis Python 3.4. https://sourceforge.net/projects/easypythondecompiler/ Für Python 3.7-3-8 Noch einer: https://github.com/rocky/python-uncompyle6 |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1479 |
Mit einem Decompiler kann man sie aber nicht bearbeiten, siehe Startpost. Das hab ich ja schon probiert. Das ist ein Linux Receiver, das muss ja irgendwie möglich sein. |
Anmeldungsdatum: Beiträge: 4371 |
Anschließend wieder kompilieren: https://gist.github.com/ljaraque/66bf3875d39d9b57abdfaa90529c5a0c Ist aber möglich, dass auf dem Gerät kein Standardcompiler verwendet wurde, um eine Bearbeitung zu erschweren. |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1479 |
Muss ich ja nicht auf dem Gerät machen, hab die Datei auf dem Rechner. Also muss ich den Inhalt aus dem Terminal kopieren als .py speichern und dann wieder kompilieren. |
Anmeldungsdatum: Beiträge: 4371 |
Ja, ich meinte, ob die veränderte Datei, die mit dem standardmäßigen Verfahren zu pyo kompiliert wurde, auf dem Gerät funktioniert, das weiß ich nicht. Mir ist nicht bekannt, dass man eine Pyo-Datei direkt bearbeiten kann. Bei Exen unter Windows ging das manchmal eingeschränkt, etwa String/Grafik/Sound-Ressourcen austauschen. Dir wird es wahrscheinlich um eine Änderung des Python-Sources gehen, da kenne ich nur Dekompilieren, ändern, wieder kompilieren. |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1479 |
Keine Ahnung ob das so heißt, ich muss nur einen Zahlenwert in der Datei ändern.
Tut sie, ein User aus dem VU+ Forum hat es unter Windows 10 gemacht, aber die Zahl muss größer. |
Anmeldungsdatum: Beiträge: 4371 |
Selbe Anzahl an Stellen, also z.B. 50 zu 99 und nicht 50 zu 101? Dann könnte man mit einem Hexeditor mal reinschauen, ob es den Zahlwert dort gibt, und den ändern. Hab noch keine pyo-Datei damit geöffnet, drum weiß ich nicht, was im Klartext erhalten bleibt. |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1479 |
Habe es versucht mit uncompyle6 channels.pyo > channels.py Den .py File bearbeitet und dann mit python3 -OO -m py_compile channels.py Wieder zu einer .pyo machen wollen, klappt aber nicht, weil: File "channels.py", line 61 write(u'<div id="refresh"> ^ SyntaxError: unterminated string literal (detected at line 61) Line 61 ist aber identisch. |
Anmeldungsdatum: Beiträge: 4371 |
Was da wie geschrieben werden soll, weiß ich nicht. ' scheint nicht geschlossen zu werden, habe ich hier gefunden: https://www.decodingweb.dev/solved-syntaxerror-unterminated-string-literal-in-python Keine Ahnung, wo das schließénde ' sinnvoll ist. |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 4658 Wohnort: Berlin |
Zahlen sind da nicht im Klartext drin, das ist ja nicht BASIC aus den 80ern und dann wäre ein kompilieren vielleicht auch nicht so wirklich sinnvoll. 🙂 Ganze Zahlen bis zu einer gewissen Grösse dürfte man als Binärdaten relativ einfach finden. Hab's gerade mal mit Die Probleme fangen aber schon an wenn es eine Zahl ist, die mehr als einmal im Modulcode verwendet wird. Wenn ich das Programm erweitere zu |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1479 |
Ich auch nicht, hab auch null Ahnung von Python. |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 1479 |
Doch, siehe die Zeile setTimeout(function() { $("#refresh").load(active_tab_url); }, 60000); Er bemeckert aber eine Zeile, an der ich nichts geändert habe. |