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