I'm trying to write a Python script for IDA that hooks into debugging events, and prints some info about the xmm registers. I tried
idc.GetRegValue("xmm0")
But that returns a random long, which changes every time I call the function. I looked at the source, and it looks like GetRegValue
is always returning an integer value.
So I tried running the underlying code directly:
rv = idaapi.regval_t()
idaapi.get_reg_val("xmm0", rv)
print (rv.fval)
Which prints:
<Swig Object of type 'UINT16 *' at 0x073E1F08>
There does not appear to be a way to extract a float from that either.
So how do I actually get the value of an xmm register?