修复 x64dbg Rtti-plugin-x64 插件
原版插件: https://gitlab.com/colinsenner/Rtti-plugin-x64
原版代码 https://gitlab.com/colinsenner/Rtti-plugin-x64/-/blob/master/Rtti-plugin-x64/plugin.cpp#L20
```cpp
bool AutoLabel(RTTI rtti)
{
if (!rtti.IsValid())
return false;
if (settings.auto_label_vftable)
{
char sz_vftable_label = "";
// If there isn't a label already there
if (!DbgGetLabelAt(rtti.GetVftable(), SEG_DEFAULT, sz_vftable_label))
{
string label = rtti.name + "_vftable";
if (!DbgSetLabelAt(rtti.GetVftable(), label.c_str()))
return false;
}
}
return true;
}
```
修复为
```
bool AutoLabel(RTTI rtti)
{
if (!rtti.IsValid())
return false;
if (settings.auto_label_vftable)
{
char sz_vftable_label = "";
// If there isn't a label already there
if (!DbgGetLabelAt(rtti.GetAddressVftable(), SEG_DEFAULT, sz_vftable_label))
{
string label = rtti.name + "_vftable";
if (!DbgSetLabelAt(rtti.GetAddressVftable(), label.c_str()))
return false;
}
GuiUpdateAllViews();
}
return true;
}
```
这里需要改为设置虚表地址的 label,而原始代码粗心大意,为一个 bool 型。并且需要刷新视图。
在你调到敏感的 ecx 地址,可以输入命令 `rtti address`,之后这个信息也会保存到 x64dbg 的调试数据库里,再次启动也会存在。
可以给作者提交一个pr。 确实是好东西,逆c++必备 你这个x64dbg的字体 是你自己设置的 还是系统安装的字体?这个字体叫什么呢 很强啊,楼主在哪里呀? 好东西,下载研究一下
有自动rtti的插件就好了 像静态分析一样 rtti都看得到 以前好像在什么地方看过
感谢楼主分享。{:301_991:} 感谢分享 感谢大佬分享
页:
[1]