[#5]
Re: Colanto Kickstart 45.61 (3.x) i expansion.library
@HanSolo,
post #4
"Original relocation data is gone" - rzeczywiście, trochę lipa - miałem nadzieję, że moduły kickstartu pisze się jako kod niezależny od adresu. Z drugiej strony, ma to sens; adresowanie bezpośrednie jest szybsze na chyba każdym procesorze.
OK, trzeba te dane odtworzyć, ale bez znajomości assemblera się, niestety, nie obejdzie :( Zaznaczam, że nie znam assemblera 68k, ale (jeśli chcesz się za to zabrać - uprzedzam, sporo pracy przed Tobą), to jako programista mogę coś-niecoś podpowiedzieć:
1. Spróbuj poszukać na Aminecie jakiegoś narzędzia, które pokazuje strukturę plików wykonywalnych (format hunk). Weź expansion.library wyciągnięte z kickstartu 3.1 i sprawdź, jakie masz tam sekcje, i jak duża jest sekcja z danymi o relokacji - to da Ci jakiś pogląd, ile roboty Cię czeka (nie sądzę, żeby poprawiona wersja zawierała nie wiadomo jakie zmiany).
2. Musisz zlokalizować moduł w kickstarcie Cloanto i czymś go zdeassemblować (zdaje się, że najpopularniejszy program do tego celu na Amidze to IRA)
3. Poszukaj kursu podstaw assemblera 68k - interesują Cię przede wszystkim tryby adresowania. Będziesz musiał zidentyfikować wszelkie bezwzględne (bezpośrednie) adresowania i (zapewne) podać je odtworzonej w sekcji relokacji.
4. Poszukaj specyfikacji plików hunk. O ile dobrze pamiętam, to nie jest skomplikowany.
5. Mozolnie odtwórz sekcję relokacji. prawdopodobnie będziesz musiał jeszcze wydzielić sekcję z danymi, ale to już powinno być proste.
Ostatnia aktualizacja: 05.08.2016 11:32:44 przez Cedrat