[#1] Narzędzia do deasemblacji
Cześć,
Bawię się reasemblerem IRA i męczę sterownik od pewnej karty graficznej dla Firebirda żeby zrozumieć jak to wszystko działa.

Pytanie czy istnieje jakieś narzędzie, które automatycznie zamieni mi linie typu:
MOVEA.L	ABSEXECBASE.W,A6	;2e8e: 2c780004
JSR	(-636,A6)		;2e92: 4eaefd84

na:
MOVEA.L	ABSEXECBASE.W,A6	;2e8e: 2c780004
JSR	(Exec->CacheClearU,A6)		;2e92: 4eaefd84


Oraz czy istnieje narzędzie, które zamieni mi nic nie mówiące linie typu:
LEA	STR_BOARDNAME,A0	;0c22: 41f9000000b6
MOVE.L	A0,(16,A2)		;0c28: 25480010
MOVE.L	#$00000011,(170,A2)	;0c2c: 257c0000001100aa
MOVE.L	#$00000000,(178,A2)	;0c34: 257c0000000000b2
MOVE.L	#$00000000,(174,A2)	;0c3c: 257c0000000000ae
ORI.L	#$0000c003,(186,A2)	;0c44: 00aa0000c00300ba

na linie mówiące do jakich zmiennych w strukturze (tu akurat *BoardInfo adresowane rejestrem A2) odbywa się zapis?

Oczywiście taki parser musiałby być dosyć inteligentny albo sterowany plikami konfiguracyjnymi żeby wiedzieć gdzie i co zamienić i co konkretnie jest adresowane danym rejestrem.

Tłumaczenie tego ręcznie jest bardzo nieefektywne i właściwie uniemożliwia analizę takiego kodu. Mógłbym napisać taki parser ale pewnie zajmie to wiele czasu więc wolę zapytać czy coś podobnego już istnieje.
[#2] Re: Narzędzia do deasemblacji

@bfgmatik, post #1

pogadaj z deepseekiem, chatgpt coś halucynowal, wrzuc wczesniej pliki z naglowkami do kontekstu chociaz chyba kojarzy
2
[#3] Re: Narzędzia do deasemblacji

@michal_zukowski, post #2

Nie, nie, nie, nie! Żadnych AI.
2
[#4] Re: Narzędzia do deasemblacji

@bfgmatik, post #1

ReSource ma taka polautomatyczna opcje.
Klikasz na przycisku Symbols, wybierasz 'Lib offsets' z pierwszej kolumny, biblioteke z drugiej kolumny (np. Exec offsets) i klikasz na opcji (np. Exec offsets) z trzeciej kolumny. Jesli biezacy kursor byl na instrukcji typu jsr -xxx, offset zostanie zmieniony na nazwe funkcji o tym offsecie z wybranej biblioteki. W analogiczny sposob mozna oznaczac struktury, pola struktur, flagi itp.


,
2
[#5] Re: Narzędzia do deasemblacji

@bfgmatik, post #1

Mógłbym napisać taki parser ale pewnie zajmie to wiele czasu więc wolę zapytać czy coś podobnego już istnieje.

  • Za dawnych dobrych amigowych czasów istniał program ReSource, który był bardzo skutecznym i dość wygodnym narzędziem inżynierii wstecznej amigowego kodu. To był program na Amigę rzecz jasna, ale program komercyjny, więc nie wiem jak jest z możliwością jego zdobycia obecnie.
  • Jest gruby kombajn Ghidra, na systemy mainstreamowe. Ma obsługę procesorów 68k, ale nie wiem jak z możliwością podpięcia amigowych systemowych inkludów. Obiło mi się o uszy, że jacyś amigowcy go używają, ale nie wchodziłem w szczegóły.
[#6] Re: Narzędzia do deasemblacji

@Krashan, post #5

No rzeczywiście jest ten ReSource, nawet można go pobrać tutaj:
https://forum.thecompany.pl/winuae/deasemblowanie-kodu-motoroli-68k-t2807.html

Po przekonwertowaniu do ADF nawet mi się coś włączyło pod WinUAE, ale chyba na obecną chwilę nie mam siły uczyć się nowego programu Amigowego i pozostanę przy IRA pod Windą.

IRA daje się nawet fajnie konfigurować, wynikowy plik asm wygląda u mnie już całkiem przyzwoicie. Niestety rozpracowanie nawet głupiego 30-kilobajtowego sterownika to są dziesiątki godzin pracy.

Ghidrę też mam, ale przy pierwszym podejściu mnie przerosła.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem