ret-sync icon indicating copy to clipboard operation
ret-sync copied to clipboard

can't use on IDA7.7

Open ghost opened this issue 1 year ago • 4 comments

comment: broker started broker finished idb is disabled

i created idb but problem still sync checkbox immediately uncheck.

ghost avatar May 11 '23 15:05 ghost

same to me

wkingnet avatar Jun 26 '23 05:06 wkingnet

+1

And I enabled:

LOG_LEVEL = logging.DEBUG
LOG_TO_FILE_ENABLE = True

But there is no any files located in %TEMP% folder.

[sync] form create
[sync] default idb name: ntoskrnl_en.exe
[sync] found config file: user_conf(host='127.0.0.1', port=8844, alias=None, path='D:\\Codes\\xxx\\thirdpart\\Windows10\\x64\\.sync')
[sync] hint: pdb name ('ntkrnlmp.exe') differs from registered module name ('ntoskrnl_en.exe')
[sync] sync enabled
[sync] init_broker
[sync] cmdline: "D:\Softwares\Python3\python.exe" -u "D:\Softwares\IDA Pro\plugins\retsync\broker.py" --idb "ntoskrnl_en.exe"
[sync] module base 0x140000000
[sync] hexrays #7.7.0.220118 found
[sync] broker new state: Starting
[sync] broker new state: Running
[sync] broker started
[sync] plugin loaded
[sync] broker new state: Not running
[sync]     check tmp file retsync.<broker|dispatcher>.err if you think this is an error
[sync] broker finished
[sync] idb is disabled

Hacksign avatar Nov 16 '23 12:11 Hacksign

OK, I figured it out in my situation.

It's because retsync can not find rsconfig/broker/diapatcher in sys.path.

Because I use a embed version of python 3.10, so I just add retsync directory to python310 to solve it: (D:\Softwares\IDA Pro\plugins\retsync is the plugin location in my situation)

D:\Softwares\IDA Pro\plugins\retsync
.\Lib\site-packages\
python310.zip
.

Hacksign avatar Nov 17 '23 03:11 Hacksign

retsync/dispatcher.py文件中,在import rsconfig的前面,加上一行代码sys.path.append(os.path.normpath(os.path.dirname(__file__))) 大概是这样子

sys.path.append(os.path.normpath(os.path.dirname(__file__)))
import rsconfig
from rsconfig import rs_encode, rs_decode, load_configuration

在retsync/broker.py文件中也做同样的修改:

sys.path.append(os.path.normpath(os.path.dirname(__file__)))
import rsconfig
from rsconfig import rs_encode, rs_decode, load_configuration

我是这样解决了

gu0o00 avatar Jul 10 '24 08:07 gu0o00