[#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.