Dotaz na funkcionalitu IDA
Pavel Troller
patrol@sinus.cz
Úterý Září 30 08:52:01 CEST 2008
Zdravím,
>
> (Teraz prisla moja velka chvila:) Ved je to predsa open source, ved viete co to znamena, vsak? :-)))))))
Tomu jsem neporozuměl. Ten binár není open source, proto jej disassembluji, a IDA je tím méně open source, IDA je dosti drahý komerční nástroj :-).
>
> IDA vobec nepoznam, ale takyto tool by som si pre D52 napisal polahky parsovanim disasemblovaneho "zdrojaku" s vystupom do "riadiaceho" suboru.
>
> wek
>
Ano, napsat by se to dalo. Ale bohužel IDA má jakýsi vnitřní formát (soubory .idb), který není open a tak to tam doplnit není snadné. Jen mne zajímalo, zda ta IDA náhodou nemá na to nějaká "makra" či něco podobného, protože kdyby je měla, dalo by se to udělat např zápisem (jde o hypotetický makrojazyk, nic konkrétního)
MOVWR MACRO to,from
MOV to,#HI(from)
MOV to+1,#LO(from)
ENDM
a pak by to IDA mohla převádět jako
MOVWR RAM_32,0x1280
MOVWR RAM_34,0xC224
...
a správně generovat ty odkazy.
S pozdravem Pavel Troller
>
> -----Original Message-----
>
> Zdravím,
> mám tu n?jaký binární kód z '51 rodiny a sna?ím se vytvo?it korektní
> reference na datové zóny (n?kdy ale i rozskokové tabulky a dal?í struktury
> p?ímo v kódovém segmentu). Bohu?el '51 je velmi omezený asm, prakticky
> bez 16bit operací, a tak se ?asto vyskytují nap?. tyto sekvence kódu:
>
> MOV RAM_32,#0x12 ; High byte of source address
> MOV RAM_33,#0x80 ; Low byte of source address
> MOV RAM_34,#0xC2 ; High byte of dest address
> MOV RAM_35,#0x24 ; Low byte of dest address
> MOV RAM_36,#0x00 ; High byte of length
> MOV RAM_37,#0x80 ; Low byte of length
> LCALL COPY ; Copy from ROM to XRAM
>
> Jak asi chápete, subrutina COPY pou?ívá adresy RAM 32-37 jako parametry pro
> zadání bloku, který se má kopírovat.
> Nyní jde o to, ?e tak, jak kód vypadá, IDA samoz?ejm? nevytvo?í na adrese
> 1280 odkaz, ?e tato adresa je pou?ívána práv? z tohoto místa, tak?e toto místo
> v ROM z?stane jako nereferencované. Nápodobn? není vyzna?ena cílová adresa
> v zón? externí RAM.
> Existuje n?jaký trik, jak to, nejlépe hromadn?, tomu programu vysv?tlit, aby
> byl schopen takto skryté reference najít ? Obvykle disassembluji z tro?ku
> lep?ích platforem, kde jsou 16bitové a 32bitové operace samoz?ejmostí, tak?e
> jsem se s tímhle problémem dosud nesetkal... Je to IDA 5.
>
> S pozdravem Pavel Troller
>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list