飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4294|回复: 6

[Debuggers] 【转载】[更新20151208]OllyDisasm201 OllyRecord

[复制链接]
  • TA的每日心情
    开心
    2024-1-4 14:31
  • 签到天数: 73 天

    [LV.6]常住居民II

    发表于 2015-12-8 14:59:47 | 显示全部楼层 |阅读模式
    此文转自看雪 原作者:cykefu
    有些朋友反映不会用,我也是一直想写个使用说明,但总是没有时间;如果哪位朋友有时间,欢迎写个传上来。

    下面我先大概讲下这两个插件的主要用途:
    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,大家一起交流,学习,共同进步


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x

    评分

    参与人数 1威望 +20 飘云币 +20 收起 理由
    pentium450 + 20 + 20 很给力!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-3-7 15:25
  • 签到天数: 442 天

    [LV.9]以坛为家II

    发表于 2015-12-8 15:02:29 | 显示全部楼层
    抢到个沙发?
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-11-17 09:48
  • 签到天数: 422 天

    [LV.9]以坛为家II

    发表于 2015-12-8 15:30:09 | 显示全部楼层
    真的不错,谢谢。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2020-7-31 08:47
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    发表于 2015-12-9 10:49:07 | 显示全部楼层
    这个不错,感谢转载。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 11:37
  • 签到天数: 1031 天

    [LV.10]以坛为家III

    发表于 2015-12-9 14:11:27 | 显示全部楼层
    谢谢分收藏备用
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-4-6 11:41
  • 签到天数: 1827 天

    [LV.Master]伴坛终老

    发表于 2015-12-9 15:37:55 | 显示全部楼层
    谢谢分享了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 02:03
  • 签到天数: 2090 天

    [LV.Master]伴坛终老

    发表于 2015-12-9 15:53:44 | 显示全部楼层
    谢谢楼主分享
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表