VoidSec/DriverBuddyReloaded

[BUG] module 'idaapi' has no attribute 'compiled_binpat_vec_t'

neobenedict opened this issue ยท 14 comments

Traceback (most recent call last):
  File "C:/Program Files/IDA 7.0/plugins/DriverBuddyReloaded.py", line 465, in run
    driver_type = utils.get_driver_id(driver_entry_addr, log_file)
  File "C:/Program Files/IDA 7.0/plugins\DriverBuddyReloaded\utils.py", line 209, in get_driver_id
    populate_wdf()
  File "C:/Program Files/IDA 7.0/plugins\DriverBuddyReloaded\wdf.py", line 102, in populate_wdf
    binpat = idaapi.compiled_binpat_vec_t()
AttributeError: module 'idaapi' has no attribute 'compiled_binpat_vec_t'

Version 7.5.201028 Windows x64 (64-bit address size)

7.6 minimum required?

It was tested starting from IDA 7.6 but shouldn't be mandatory. Which version of python you're on?

3.8.3

I'll try a later version of IDA in a few days.

Same issue in IDA 7.5 and Python 3.9.4

would you mind sharing the driver causing the error?

Sure, it is not rare to find such driver.
NVSWCFilter64.zip

Tested on IDA 7.6 on Python 3.10.4, fixed in https://github.com/VoidSec/DriverBuddyReloaded/releases/tag/1.6

Sorry to remention, but Im facing this on latest release. However, I'm on IDA v7.2. Any resolution for this?

@rjt-gupta would you mind sharing the driver causing the error? You can send me an email at voidsec[at]voidsec.com if you'd like to keep it private.

compiled_binpat_vec_t struct/class still did not existed in IDA SDK <= 7.5
image

@HongThatCong thank you very much for pointing that out! I'll update the readme in order to reflect that requirement

@HongThatCong @VoidSec Thanks for the clarification. Unfortunately, I can't share the driver since its proprietary. But, please let me know if there is a workaround for this issue for IDA < v7.5

Yes, @VoidSec can rewrite the binary search function with code in picture above and this picture:
If IDA <= 7.5 uses idaapi.find_binary function else uses idaapi_binsearch function.
image
Best regards,
TQN

@VoidSec Do you plan to fix this anytime soon?

I'll probably take some time next week to patch some of these bugs.