-
-
[转帖]GuessDataV0.1
-
发表于:
2015-7-10 08:54
3542
-
创意来自010 Editor,跟VS调试中的变量窗口差不多,不过你可以自定义模板,也就是c/c++头文件(h会当成c头文件,建议使用hpp),然后本插件会找到该头文件中的最后一个struct或者class,并打印出来。
使用方法:
libclang.dll放在OD主程序的同级目录里
GuessData110.dll放在你设置的OD的plugin目录里
需要安装msvc 2013的运行库(libclang和本插件都使用msvc2013编译,libclang如果编译成静态会很大)
基本原理:
将某个地址(可以是鼠标点击的或者是表达式计算出来的--表达式计算是OD自带的,跟条件断点里的那个表达式计算类似),按模板里的struct/class显示。
特别添加对char*和wchar_t*类型即字符串的显示,并且显示为红色
最大递归10层
因为使用libclang,所以语法不受限制,如#pragma pack(push,1)都支持(否则默认按4个字节对齐)
使用场景:
我开发此插件的初衷之一就是为了显示字符串类,如std::string,但不限于此,如VB的字符串类应该很容易定义出来。
显示SDK里的结构(请注意对齐问题)
TODO:
数组支持
bit偏移支持
因实现机制,只支持ODv1.10版本
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)