折腾一天的binary脚本远程调试,决定记下来以免下次接着犯错

感谢s0rry的博客给的启示!

错误记录

python配置成本地的python3.11的版本之后,按照官方文档的流程,首先安装了python311的debugpy,然后打开vscode远程调试并正常配置。但是在binaryninja测运行connect_vscode_debugger(port=5678)后显示time out,且vscode远程调试点击后显示访问refuse

解决方法

用bn原生的python,用ctrl + p打开搜索栏并选择install python3 module

image-20231123170410306

输入debugpy进行安装,安装的log在这里看,失败的话自己康康原因,我这里是直接成功的

image-20231123170527440

by the way

我的脚本需要keystone,安装keystone的时候报错了,解决办法是直接在已经装好keystone的python311的site-package目录下复制keystone文件夹并复制到bn的python的package目录下。我的目录是C:\Users\{yourname}\AppData\Roaming\Binary Ninja\python310\site-packages

image-20231123170938674

image-20231123170950659

然后就可以装上了,测试后成功跑通

final

在python console里运行connect_vscode_debugger(port=5678)后在vscode里面点击远程调试即可调试

ps

很久后再调又遇到问题了,vs下断断不下来。解决办法也很简单,将launch.json里的路径给设置到需要调试的py脚本的路径就行