Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT II
Nach wie vor bin ich immer wieder mal an meinem BrightEyes-Fork zu Gange. Meine Hauptmotivation ist das Reparieren von Bugs (von denen es leider furchtbar viele gibt). Gerne hätte ich auch die ganzen Bugfixes aus dem Patch von NRS mit drin. Ich stelle mir vor, nach Lust und Laune Listen von bekannten Bugs durchzugehen und zu reparieren; dabei ergibt sich dann auch gerne, dass der umliegende Code verstanden werden muss, den ich dann gleich kommentieren kann und Variablen umbenennen (falls noch nicht geschehen).

Teilweise betreffen die Bugs ja auch die Daten in der SCHICK.DAT. Momentan werden Daten "on the fly" im Quellcode repariert, z.B. diese Reparatur eines Rechtschreibfehlers.

Denkbar wäre es aber auch, sich einen Patch-Mechanismus für die SCHICK.DAT zu überlegen und das ganze als Diff-Dateien in BrightEyes zu verwalten, siehe z.B. diesen Beitrag und die darauf folgenden. Ich möchte hier also eine Diskussion darüber anstoßen, wie das ganze am bsten in BrightEyes umgesetzt werden sollte und was es dabei zu beachten gilt, damit man es hoffentlich gleich von Anfang an "richtig" macht

Persönlich tendiere ich zur gepatchten SCHICK.DAT, weil es sich sauberer anfühlt. Aber der Mechanismus muss erstmal aufgesetzt werden. Er dürfte grob aus den folgenden Teilen bestehen dürfte:
  • Entpacken und Zerlegen der SCHICK.DAT
  • Anwenden der Patches auf die Einzelteile
  • anschließendes Packen und Zusammenbauen zu der gepatchten SCHICK.DAT

Über die folgenden Punkte muss man sich wohl auch Gedanken machen:
  • Das Patchen muss abhängig von Präprozessor-Flags gestaltet sein, so dass die angewendeten Patches passend zu den im Quellcode aktivierten Modifikationen vorgenommen werden.
  • Momentan wird ja auf Textblöcke der SCHICK.DAT durch Befehle der Art get_tx(<nummer>) zugegriffen. Wenn das Reparieren eines Bugs das Erstellen weiterer Textblöcke erforderlich macht, dann verschiebt sich evtl. die <nummer>. Wie geht man damit am besten um? Fügt man die neuen Textblöcke immer hinten an, damit sich die Nummern davor nicht verschieben? (Aber was macht man, wenn durch Präprozessor-Flags nur eine Auswahl der neuen Textblöcke aktiviert wurde?) Gibt es eine Möglichkeit, hier eine vernünftige Zwischenebene einzufügen? Letztlich sind die <nummer>n ja auch wieder nur "magic numbers", die idR besser durch Konstanten-Bezeichner ersetzt werden sollten.
Und last but not least die Bitte: In diesen technischen Fummeleien habe ich wenig Erfahrung, kann mir da jemand helfen?

@gaor: Nachdem Henne ja nicht mehr mitmacht, geht meine Hoffnung zuerst in deine Richtung. Du hast ja auch das schlaue Tool schick-data-gui geschrieben, das ja auch die SCHICK.DAT ausliest.
Zitieren


Nachrichten in diesem Thema
Reverse Engineering der NLT II - von Crystal - 28.06.2017, 15:52
RE: Reverse Engineering der NLT II - von Shihan - 28.06.2017, 18:33
RE: Reverse Engineering der NLT II - von aeyol - 29.06.2017, 10:01
RE: Reverse Engineering der NLT II - von Shihan - 19.07.2017, 11:51
RE: Reverse Engineering der NLT II - von Shihan - 20.07.2017, 09:50
RE: Reverse Engineering der NLT II - von Wetzer - 02.08.2017, 21:25
RE: Reverse Engineering der NLT II - von Mirko - 02.10.2017, 17:38
RE: Reverse Engineering der NLT II - von Shihan - 03.10.2017, 10:57
RE: Reverse Engineering der NLT II - von Mirko - 03.10.2017, 13:58
RE: Reverse Engineering der NLT II - von Mirko - 04.10.2017, 18:04
RE: Reverse Engineering der NLT II - von Mirko - 07.10.2017, 23:01
RE: Reverse Engineering der NLT II - von Mirko - 08.10.2017, 10:39
RE: Reverse Engineering der NLT II - von Mirko - 10.10.2017, 08:22
RE: Reverse Engineering der NLT II - von gaor - 10.10.2017, 08:55
RE: Reverse Engineering der NLT II - von Shihan - 10.10.2017, 10:17
RE: Reverse Engineering der NLT II - von Mirko - 10.10.2017, 18:46
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 15:43
RE: Reverse Engineering der NLT II - von gaor - 14.10.2017, 17:37
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 18:01
RE: Reverse Engineering der NLT II - von gaor - 14.10.2017, 18:28
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 19:13
RE: Reverse Engineering der NLT II - von Mirko - 15.10.2017, 21:09
RE: Reverse Engineering der NLT II - von Mirko - 27.10.2017, 22:03
RE: Reverse Engineering der NLT II - von Shihan - 28.10.2017, 12:31
RE: Reverse Engineering der NLT II - von Mirko - 28.10.2017, 17:32
RE: Reverse Engineering der NLT II - von Mirko - 02.11.2017, 20:08
RE: Reverse Engineering der NLT II - von Mirko - 02.11.2017, 23:57
RE: Reverse Engineering der NLT II - von Wetzer - 20.12.2017, 02:33
RE: Reverse Engineering der NLT II - von Shihan - 20.12.2017, 10:42
RE: Reverse Engineering der NLT II - von Shihan - 20.12.2017, 12:05
RE: Reverse Engineering der NLT II - von gaor - 22.03.2018, 15:07
RE: Reverse Engineering der NLT II - von gaor - 22.03.2018, 19:55
RE: Reverse Engineering der NLT II - von gaor - 23.03.2018, 00:02
RE: Reverse Engineering der NLT II - von gaor - 23.03.2018, 23:38
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 09:33
RE: Reverse Engineering der NLT II - von Hindro - 24.03.2018, 16:55
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 17:42
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 19:37
RE: Reverse Engineering der NLT II - von Hindro - 24.03.2018, 23:34
RE: Reverse Engineering der NLT II - von Shihan - 26.03.2018, 10:13
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 12:33
RE: Reverse Engineering der NLT II - von Shihan - 26.03.2018, 12:47
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 18:36
RE: Reverse Engineering der NLT II - von Hindro - 26.03.2018, 20:51
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 22:48
RE: Reverse Engineering der NLT II - von Hindro - 27.03.2018, 10:13
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 11:08
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 13:28
RE: Reverse Engineering der NLT II - von Hindro - 27.03.2018, 15:33
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 17:38
RE: Reverse Engineering der NLT II - von Mirko - 27.03.2018, 20:20
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 12:18
RE: Reverse Engineering der NLT II - von aeyol - 31.03.2018, 12:26
RE: Reverse Engineering der NLT II - von Shihan - 31.03.2018, 13:34
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 15:19
RE: Reverse Engineering der NLT II - von Shihan - 01.04.2018, 16:51
RE: Reverse Engineering der NLT II - von gaor - 31.03.2018, 16:42
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 17:00
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 20:24
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 20:33
RE: Reverse Engineering der NLT II - von Hindro - 01.04.2018, 12:44
RE: Reverse Engineering der NLT II - von Hindro - 01.04.2018, 21:45
RE: Reverse Engineering der NLT II - von Shihan - 02.04.2018, 18:48
RE: Reverse Engineering der NLT II - von Shihan - 18.04.2018, 14:49
RE: Reverse Engineering der NLT II - von gaor - 18.04.2018, 15:28
RE: Reverse Engineering der NLT II - von Shihan - 18.04.2018, 16:59
RE: Reverse Engineering der NLT II - von aeyol - 18.04.2018, 19:18
RE: Reverse Engineering der NLT II - von Mirko - 18.04.2018, 19:37
RE: Reverse Engineering der NLT II - von Shihan - 19.04.2018, 09:35
RE: Reverse Engineering der NLT II - von Shihan - 20.04.2018, 10:08
RE: Reverse Engineering der NLT II - von Tobi - 21.04.2018, 10:59
RE: Reverse Engineering der NLT II - von Shihan - 22.04.2018, 11:33
RE: Reverse Engineering der NLT II - von gaor - 23.04.2018, 14:25
RE: Reverse Engineering der NLT II - von Shihan - 23.04.2018, 15:49
RE: Reverse Engineering der NLT II - von gaor - 25.04.2018, 21:44
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 13:18
RE: Reverse Engineering der NLT II - von Shihan - 25.04.2018, 14:59
RE: Reverse Engineering der NLT II - von gaor - 26.04.2018, 08:09
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 14:41
RE: Reverse Engineering der NLT II - von gaor - 26.04.2018, 17:42
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 18:37
RE: Reverse Engineering der NLT II - von Shihan - 27.04.2018, 10:51
RE: Reverse Engineering der NLT II - von gaor - 27.04.2018, 11:11
RE: Reverse Engineering der NLT II - von Shihan - 27.04.2018, 11:26
RE: Reverse Engineering der NLT II - von gaor - 27.04.2018, 12:48
RE: Reverse Engineering der NLT II - von aeyol - 30.04.2018, 11:45
RE: Reverse Engineering der NLT II - von Shihan - 06.07.2018, 09:08
RE: Reverse Engineering der NLT II - von gaor - 12.07.2019, 09:49
RE: Reverse Engineering der NLT II - von gaor - 12.07.2019, 15:48
RE: Reverse Engineering der NLT II - von Shihan - 24.07.2019, 09:22
RE: Reverse Engineering der NLT II - von aeyol - 16.03.2020, 13:12
RE: Reverse Engineering der NLT II - von Shihan - 17.03.2020, 09:07
RE: Reverse Engineering der NLT II - von Shihan - 17.03.2020, 16:33
RE: Reverse Engineering der NLT II - von gaor - 17.01.2021, 16:08
RE: Reverse Engineering der NLT II - von gaor - 17.01.2021, 16:44
RE: Reverse Engineering der NLT II - von gaor - 22.01.2021, 12:58
RE: Reverse Engineering der NLT II - von gaor - 23.01.2021, 13:54
RE: Reverse Engineering der NLT II - von gaor - 24.01.2021, 18:13
RE: Reverse Engineering der NLT II - von gaor - 24.01.2021, 20:44
RE: Reverse Engineering der NLT II - von aeyol - 26.01.2021, 22:41
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 12:40
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 14:43
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 18:00
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 20:22
RE: Reverse Engineering der NLT II - von gaor - 08.02.2021, 21:25
RE: Reverse Engineering der NLT II - von gaor - 09.02.2021, 20:22
RE: Reverse Engineering der NLT II - von gaor - 12.02.2021, 10:10
RE: Reverse Engineering der NLT II - von gaor - 12.02.2021, 10:54
RE: Reverse Engineering der NLT II - von gaor - 14.02.2021, 14:45
RE: Reverse Engineering der NLT II - von gaor - 15.02.2021, 21:08
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 11:01
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 14:40
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 22:37
RE: Reverse Engineering der NLT II - von siebenstreich - 17.04.2021, 11:23
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 12:07
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 17:10
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 22:28
RE: Reverse Engineering der NLT II - von gaor - 18.04.2021, 07:47
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 08:52
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 18:38
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 20:54
RE: Reverse Engineering der NLT II - von NRS - 27.04.2021, 10:10
RE: Reverse Engineering der NLT II - von NRS - 27.04.2021, 13:21
RE: Reverse Engineering der NLT II - von aeyol - 01.03.2023, 19:03
RE: Reverse Engineering der NLT II - von Shihan - 02.03.2023, 13:07
RE: Reverse Engineering der NLT II - von Shihan - 05.03.2023, 12:18
RE: Reverse Engineering der NLT II - von Shihan - 07.03.2023, 20:38
RE: Reverse Engineering der NLT II - von Shihan - 18.03.2023, 12:30
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 12:43
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 16:11
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 16:36
RE: Reverse Engineering der NLT II - von Shihan - 30.03.2023, 14:03
RE: Reverse Engineering der NLT II - von Luigi - 11.04.2023, 23:40
RE: Reverse Engineering der NLT II - von aeyol - 01.11.2023, 20:57
RE: Reverse Engineering der NLT II - von aeyol - 01.11.2023, 22:44
RE: Reverse Engineering der NLT II - von aeyol - 02.11.2023, 15:23
RE: Reverse Engineering der NLT II - von aeyol - 03.11.2023, 10:50
RE: Reverse Engineering der NLT II - von aeyol - 03.11.2023, 11:17



Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste