0xgalz / Virtuailor

IDAPython tool for creating automatic C++ virtual tables in IDA Pro
GNU General Public License v3.0
1.26k stars 129 forks source link

"global name 'rdx' is not defined' #5

Closed scottmudge closed 5 years ago

scottmudge commented 5 years ago

I keep getting the following warning box when running the dynamic pass (debugger):

[BP Address here]: breakpoint condition: Traceback (most recent call last): File "", line 119, in __Python_7748 NameError: global name 'rdx' is not defined

Is this a problem? There are many, many of these warnings when I run the debugger.

scottmudge commented 5 years ago

It occurs at breakpoints like this:

image

Where there is a pointer being referenced with addresses stored in rax, rdx, etc. The warning will also read 'rax' or 'rdx' depending on which register is storing the offset value. So 'rax' in the case of this screenshot.

0xgalz commented 5 years ago

I believe it might be a use case that wasn't implemented in Virtuailor yet, Ill take a look on the weekend.

0xgalz commented 5 years ago

I'm working on this issue, it will be fixed in the next release.

0xgalz commented 5 years ago

Hi! :)

The new release is taking me longer than I anticipated so I just created a temporary fix for you. In this case the bug was that the offset in the vtable was a multiplication between a register and a number, a case that wasn't handled until now. I believe I fixed your bug, since it was checked on similar cases. But I don't have your binary, so in order to know for sure whether or not it suitable for you too, it will be great if you can provide the binary or check it yourself and then let me know, so I could close the issue.

Thank you very much for reporting about this bug :)