首页
社区
课程
招聘
[原创][更新20151208]OllyDisasm201 OllyRecord
发表于: 2015-12-8 07:43 21941

[原创][更新20151208]OllyDisasm201 OllyRecord

2015-12-8 07:43
21941
有些朋友反映不会用,我也是一直想写个使用说明,但总是没有时间;如果哪位朋友有时间,欢迎写个传上来。

下面我先大概讲下这两个插件的主要用途:
OllyDisasm201:相信许多朋友在用OD1.1的时间,经常会遇到有些指令识别不了;或者能识别到但不能单步,导致没法分析,这个插件就是来解决这个问题。
OllyRecord:这个插件功能稍多点,主要的功能有3个,条件记录硬断、动态符号加载、高级版CTRL+G,后2个我就不介绍了,大家摸索下就会,主要说下条件记录硬断。
条件记录硬断:
使用场景1:在分析封包的时间,很多时候想把收发包能够记录下来,但是又不想去写DLL来HOOK,这个时间就可以用这个
例如下面,当指令流走过0101249E地址后,如果ebx >= 0x65 && ebx <= 0x67,则记录以eax为指针,ebx为长度的包(这里的eax,ebx可以替换为表达式,如"%{BYTE PTR[EBX+3]]}b", [EBX+100])


使用场景2:在分析函数调用关系的时间,也可以用这个来记录这个函数被哪些CALL调用过,以及传进来的参数值是多少


另外还有其他很多用途,只要插件会用了,其他可以自己慢慢研究。


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
OllyDisasm201插件功能简介:
1、把OD2.01的反汇编引擎替换到OD1.1上

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

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

[2015.12.03 OllyDisasm201 v1.3.1.0]
1、增加模式切换快捷键(仅在反汇编区域有效)

[2015.11.16 OllyDisasm201 v1.2.1.0]
1、修复CTRL+A分析后,MOVQ指令识别不正确的BUG

[2015.11.06 OllyDisasm201 v1.0.11.0]
1、规范版本号

[2015.11.04 OllyDisasm201 v1.0.3]
1、增加动态读取反汇编配置
2、修复几个小BUG

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

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

Command List 简介:
1、Delete                 删除一条命令
2、Add                         添加一条命令
3、Save                        修改当前命令

//=====================================================
// 更新内容:
[2015.12.02 OllyRecord v2.3.1.0]
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:
右击搜索结果里面的函数名,可以把该函数名显示到表达式栏

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

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

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

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

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

[2015.11.06 OllyRecord v1.1.9.0]
1、编译方式改为 /MT,不再需要VS2013运行库
2、规范版本号

[2015.11.05 OllyRecord v1.0.5]
1、修复几个小BUG

/////////////////////////////////////////////////////////////////
使用过程遇到什么bug 或 对逆向比较感兴趣的朋友,可以加我的QQ群:329933517,大家一起交流,学习,共同进步

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 768
活跃值: (530)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
2
感谢楼主的神器,下载试用~:)
仔细看看,越来越强大.StrongOD之后好几年没这么精彩的插件了,赞!!!
楼主回头再搞份2.01版的..
-------------------------------------------------
提2个建议:
1. 类似以下这种表达式,在编写时,要费点心思,
"ret_add = %p, arg1 = %p, arg2 = %p ,arg3 = %p, art4 = %p",[esp]...
增加个历史记录保存的功能, 以调试程序的名字,硬断地址为参考,记录下条件表达式.
(不过有个问题是,如果一个程序同时两份调试,怎么记录呢,会被覆盖)

2.参考OD的Shift+F4,增加个在条件触发后,值修改的功能.例: if (eax==100) ecx=0x1024
  有了这个功能,OD+插件就可以当内挂了:)
2015-12-8 08:08
0
雪    币: 79
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
试试看 多谢楼主
2015-12-8 08:57
0
雪    币: 97
活跃值: (301)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼主,Powerfull Tools...
2015-12-8 08:59
0
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
好东西啊,收藏了
2015-12-8 09:28
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
开源否? 学习下 处理断点的方法~
2015-12-8 10:10
0
雪    币: 54
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个提议很好,下个版本会加进去,可以放到UDD里面
2015-12-8 10:27
0
雪    币: 4902
活跃值: (120)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个确实不错
谢谢了
2015-12-8 12:38
0
雪    币: 2702
活跃值: (2092)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
我就是进来凑个热闹的。。。东西i很好
2015-12-8 23:25
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
收藏并致谢
2015-12-9 23:32
0
雪    币: 229
活跃值: (94)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
FISH大哥  对于你说的第二点  OD的shift+F4  可以修改寄存器值,

我现在想当运行到00E0ED4C时修改  [ecx]=0x5A   
但是我把 [ecx]=0x5A   这个表达式写到 最下面没有用啊,该怎么写呢
上传的附件:
2015-12-22 13:37
0
雪    币: 768
活跃值: (530)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=wswm;1407929]FISH大哥  对于你说的第二点  OD的shift+F4  可以修改寄存器值,

我现在想当运行到00E0ED4C时修改  [ecx]=0x5A   
但是我把 [ecx]=0x5A   这个表达式写到 最下面没有用啊,该怎么写呢[/QUOTE]

OD的shift+F4 只是个条件设置功能.不能修改寄存器..
我的意思是让楼主参考shift+F4,做一个能修改寄存器的功能.表达含糊,误导您了见谅
2015-12-22 16:45
0
雪    币: 191
活跃值: (848)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
13
感谢分享
2015-12-22 16:49
0
雪    币: 229
活跃值: (94)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
搜嘎,是啊,我一般都用脚本来修改,是呀要是能修改   还是蛮方便的
2015-12-22 19:59
0
雪    币: 82
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
收藏备用感谢楼主分享
2016-2-3 14:57
0
雪    币: 273
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
mark
2016-7-17 00:11
0
雪    币: 14677
活跃值: (3130)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
感谢楼主分享
2016-7-17 09:12
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
记录超过200字节崩溃
2019-5-25 21:59
0
游客
登录 | 注册 方可回帖
返回
//