NefMoto

Technical => Reverse Engineering => Topic started by: dream3R on November 26, 2013, 06:39:14 AM



Title: IDA help - map referencing?
Post by: dream3R on November 26, 2013, 06:39:14 AM
Hi,

I'm getting my head around this and wonder how maps or 'curves' are referenced in IDA/ASM?

See below, for the function I believe is AES.  The orange parts are the function loading maps from DPP's are they?  How does that work?

The Section that move FRLFSDP to R12 is interesting, the location it references is only a 2 byte dw which is actually the first 2 byes in the 11x1 map.  How is it reading the rest of the map in-to memory?  Bit of code loading a byte or dw in looks simple enough, just need to get my head around how the map addressing works please??  I also see there's an extp command which is used to change DPP's, but not sure how it applies.

(http://i716.photobucket.com/albums/ww161/jpcurrie/ida-image.png)




Title: Re: IDA help - map referencing?
Post by: prj on November 26, 2013, 05:56:07 PM
There are functions that you need to pass certain arguments to.
Usually the segment, then the offset in that segment (this is the start of the map) and the pre-calculated axis values.
There are many different routines for different structures of maps.


Title: Re: IDA help - map referencing?
Post by: dream3R on November 26, 2013, 06:04:38 PM
There are functions that you need to pass certain arguments to.
Usually the segment, then the offset in that segment (this is the start of the map) and the pre-calculated axis values.
There are many different routines for different structures of maps.

Thanks,  yes I now get the page plus offset stuff.   I was hoping that there wasn't many other ways though.



Title: Re: IDA help - map referencing?
Post by: dream3R on November 28, 2013, 04:29:03 PM
Do maps always get referenced by page/offset (directly or indirectly via a register) or are there other ways?

I'm finding most of the functions and maps, but a few are playing hard to get.