ida-minsc: Uninitialized `CRITICAL_SECTION` dereferenced by `_ida_idp.pyd` from IDA 7.7 when interacting with a database or using certain hooks from `IDP_Hooks` and `UI_Hooks`.

Using IDA Pro 7.7 SP1 and Python 3.9.10 on Windows. Happens on both x86 and x86-64 databases.

Used idapyswitch in IDA’s root folder to use the version of Python I installed myself rather than the one bundled with IDA. I’ve installed using the instructions in README - cloned the repository into %user%\AppData\Roaming\Hex-Rays\IDA Pro, ran pip install -r 'requirements.txt' and it’s loaded. However IDA’s output window says;

WARNING:root:No .idapythonrc.py file found in the user’s home directory (C:\Users\my_name).

(which isn’t even the full path to my home directory according to print(idaapi.get_user_idadir()))

The output window also greets me for using ida-minsc. Invoking database.config.version() as stated in the README returns an unexpected 0x302 when a database is not loaded, rather the expected 0 even though 770 would make sense when one is loaded.

image

Then IDA crashes as soon as any database is loaded.

image

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 21 (17 by maintainers)

Commits related to this issue

Most upvoted comments

@shavitush, can you try out PR #153 and let me know if that fixes it properly for you? it removes the blacklist and turns all hooks to be on demand. It still lets you enumerate them, however, if you want to see what hooks are called when doing something with IDA.

To checkout the PR, I think you can do something like the following to test it out.

$ git fetch origin pull/153/head:PR-153`
$ git checkout PR-153

Afterwards, you can do git checkout master to go back to the main branch.