airbus-cert / ttddbg

Time Travel Debugging IDA plugin
Apache License 2.0
550 stars 33 forks source link

Improve installation and usage #5

Open skochinsky opened 1 year ago

skochinsky commented 1 year ago

Currently the installer drops the plugin and TTD DLLs into IDA's install folder which requires admin privileges. Besides making the installer unnecessarily IDA version-specific, this can be easily avoided with a couple small improvements:

  1. drop the plugin into the user directory ( %APPDATA%\Hex-Rays\IDA Pro\plugins).
  2. instead of LoadLibrary(TEXT("TTDReplay.dll")) which requires the DLL to be in the DLL search path, use the full path to the DLL in the WinDbg install directory, or, if it's not possible, to the copy in the user directory.
simsor commented 1 year ago

The TTDReplay.dll library is loaded by ttd-bindings at the moment, and its path is hard-coded. I have a working local fork which loads the DLL from the AppData IDA folder, but I believe a better way to do it would be to allow specifying the path to both DLLs in the ReplayEngine constructor (the bindings don't need to know about IDA).

I created airbus-cert/ttd-bindings#2 to change this