R-R, 发表于 2019-7-9 20:12

[更新20181004]OllyRecord OllyDisasm201

本帖最后由 R-R, 于 2019-7-9 20:46 编辑


转自cykefu

/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
OllyDisasm201插件

DisasmMode 简介:
1、Replace unidentified      仅替换OD1.1不认识的指令,推荐使用此模式
2、Replace all               完全替换,一般情况不建议使用此模式
3、Disable                   关闭

//=====================================================
// 更新内容:

1、放弃OD2.01反汇编引擎,替换为capstone
2、修复若干BUG


1、修复若干BUG


1、增加反汇编复制


1、增加模式切换快捷键(仅在反汇编区域有效)


1、修复CTRL+A分析后,MOVQ指令识别不正确的BUG


1、规范版本号


1、增加动态读取反汇编配置
2、修复几个小BUG


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
OllyRecord插件功能简介:
1、给OD1.1的硬断加了一个条件记录的功能
2、替换OD的F3,把它作为设置和取消硬断的快捷键
3、动态加载指定模块符号

详细介绍:
1、Address            要下断的地址
2、PassCount            条件成立多少次后断下(按“-”键,可以设为FFFFFFFF,也就是最大值)
3、Comment            备注
4、Condition            条件,可支持常见的任意表达式(不区分大小写),支持强制类型转换,如:(float) > 3.14
5、Record               记录,用法跟printf差不多(转换字符区分大小写,其他不区分),增加"%b","%B","%w","%z"等转换字符
6、Output               输出记录的方式

Command List 简介:
1、Delete               删除一条命令
2、Insert               添加一条命令
3、Save               修改当前命令
-------------
4、Public               统一保存在OllyRecord.ini配置文件中
5、Private            保存在各自的UDD文件中

//=====================================================
// 更新内容:

1、修复若干BUG


1、修复转换器的一个小BUG


1、增加转换器(支持解析模块名,带表达式计算功能,且结果实时更新,如:[+12345])


1、增加工具栏


1、增加书签功能,支持模块动态基址(和bookmarks.dll插件不兼容)


1、CTRL+G增加解析模块名,示例:calc.exe+1452C


1、增加UDD方式保存Command list,对应Private选项
2、修复几个小BUG


1、修复在附加时偶尔会崩溃的BUG


1、增加高级版CTRL+G(StrongOD插件的"Adv Ctrl+G"不要勾选)
使用技巧1:
在表达式栏,如果最前面加“#”,则搜索的时间区分大小写;否则不区分大小写
示例A:
输入:#send
搜索结果:
WS2_32.sendto
WS2_32.send
示例B:
输入:send
搜索结果:
ntdll.ZwAlpcOpenSenderProcess
ntdll.NtAlpcOpenSenderProcess
USER32.SendMessageW
USER32.SendMessageA
......
使用技巧2:
双击搜索结果里面的函数名,可以直接跟随到该函数
使用技巧3:
右击搜索结果里面的函数名,可以把该函数名显示到表达式栏


1、增加字符串比较:STRING, UNICODE, UTF8(或UTF-8)
用法和OD的条件相似,下面是摘自OD中文帮助:
STRING - 以地址123456作为开始,以零作为结尾的ASCII字符串。中括号是必须的,因为您要显示内存的内容;
=="Brown fox" - 如果从地址0x00123456开始的内存为ASCII字符串"Brown fox"、"BROWN FOX JUMPS"、 "brown fox???",或类似的串,那么其值为1。比较不区分大小写和文本长度。
UNICODE =="Brown fox" - OllyDbg认为EAX是一个指向UNICODE串的指针,并将其转换为ASCII,然后与文本常量进行比较。
下面的写法都是正确的:
utf-8 [] != "OllyRecord"
== "OllyRecord"
UTF8 [+8] != "OllyRecord" && eax == 0x12345 || (FLOAT)ecx > 3.14


1、增加动态加载指定模块符号,快捷键Ctr+D(StrongOD插件的"Load Symbols"不要勾选)
2、增加附加按钮和硬断按钮选项,可以自定义是否显示


1、增加输出方式:DbgView, OllydbgLog(这种方式需要在LOG窗口指定记录文件), TextFile, Disable
2、增加注释功能://(行注释) 和 /**/(块注释)
3、增加转换字符:"%s"(输出ASCII), "%S"(输出UNICODE), "%U"(输出UTF-8)


1、转换字符"%b"增加输出变量长度的功能:"%{变量}b", 指针
固定长度:
方法:"%128b",
解释:输出以为指针的128个字节
变量长度:
方法:"%{byte ptr}b",
解释:输出以为指针的byte ptr个字节
2、增加转换字符"%B";用法跟"%b"一样,不过只输出字节,不附带其他任何信息


1、修复Record栏的强制类型转换
2、记录输出[线程ID]部分增加十六进制显示
3、强制类型转换增加 byte, word, dword (不区分大小写)
4、增加内存指针 byte ptr, word ptr, dword ptr (不区分大小写;若不指定类型,则默认解析为dword ptr)
示例:"%p, %p, %p, %p, %p, %p, %f", eax, (UCHAR)eax, (ushort)eax, (byte)EAX, (WORD)eax, WORD PTR , eax
结果: 0101247C| 4048F5C2, 000000C2, 0000F5C2, 000000C2, 0000F5C2, 0000706A, 3.140000


1、编译方式改为 /MT,不再需要VS2013运行库
2、规范版本号


1、修复几个小BUG

卖铁而已 发表于 2019-7-9 20:42

支持一下!看起来挺实用的

冰点唯银 发表于 2019-7-9 21:05

感谢分享, 好东西

JFun 发表于 2019-7-9 21:11

感谢大佬分享

沉默停留在半空 发表于 2019-7-9 21:19

感谢分享

lilin19861230 发表于 2019-7-9 21:47

谢谢分享,看起来挺牛逼~~我是七窍通了六窍~

金手指教育 发表于 2019-7-10 07:40

看不懂是什么啊

ColgateKas 发表于 2019-7-10 09:39


感谢分享, 好东西

一路有你 发表于 2019-7-10 11:57

谢谢分享继续加油

Some 发表于 2019-7-10 11:57

请贴出原帖地址。
页: [1] 2
查看完整版本: [更新20181004]OllyRecord OllyDisasm201