roymuste / idapython

Automatically exported from code.google.com/p/idapython
Other
0 stars 0 forks source link

idc.atoa is implemented incorrectly #94

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. load a large 16 bit dos application which has lots of segments
2. navigate to a function roughly in the middle of the application
3. enter:  atoa(here())

What is the expected output? What do you see instead?

i expect to see:  "seg062:0346",   instead i get   "seg062:2bfe4"

note that in this case seg062 base selector /base value  0x2bca

What version of the product are you using? On what operating system?

Python 2.6.8 (unknown, Aug 25 2013, 00:04:29) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] 
IDAPython v1.6.0 final (serial 0) (c) The IDAPython Team 
<idapython@googlegroups.com>

with ida 6.5.140212

Please provide any additional information below.

the current implementation of atoa  does this:

   return "%s:%X" % (segname, ea)

while it should return:

   return "%s:%04X" % (segname, ea-SegByName(segname)*16)

Original issue reported on code.google.com by willem.h...@gmail.com on 18 Feb 2014 at 10:19