A-new 发表于 2009-2-22 10:54

StrongOD.v0.2.3.314.By.海风月影[CUG][2009.02.20](增加快捷键文档)

OllyDBG v1.10 plugin- StrongOD v0.2.3
                        by 海风月影
====================================================================

1,修复了2003 sp1下蓝屏bug(感谢cxh852456)
2,增强快捷键兼容性,支持简单修改版的OD


1,修复几个小BUG
2,增强attach功能
3,修复某个BUG


1,底部快捷栏自动记录是否隐藏
2,底部状态栏显示Memory窗口状态
3,修复驱动不加载的bug


1,增加多个内存窗口的快速切换,快捷键 alt+1 ~ alt+5
2,增加切换堆栈窗口关联到ebp寄存器或者不关联任何寄存器,快捷键 alt+1 ~ alt+3
3,增加一个底部的快捷栏,上面有快速切换的按钮,Option里面可以取消创建这个快捷栏,
      如果创建后可以用Alt+R来显示,隐藏快捷栏
4,底部的快捷栏是否创建,不影响上面快速切换的功能(没有按钮可以用快捷键来切换)

/////////////////////////////////////////////////////////////

感谢dssz和nooby帮忙总结出快捷键的中文版和英文版

占楼,使用教程准备中...

将插件放到od的plugin目录下,运行原版od,然后关闭
找到ollydbg.ini中的项
自己改一下      
DriverName                        -                驱动文件名,设备对象名
DriverKey                              -                和驱动通信的key
HideWindow                        -   是否隐藏窗口,1为隐藏,0为不隐藏
HideProcess                        -                是否隐藏od进程,1为隐藏,0为不隐藏
ProtectProcess      -                是否隐藏保护Od进程,1为保护,0为不保护

上面5个选项界面上没有,可以设置成自己喜欢的方式,如果不选KernalMode,那么上面5个选项无效


驱动和phant0m的驱动相比有如下的优点:

1,支持多个OD,可以支持最多100个OD,而phant0m只支持1个OD
2,CloseHandle关闭错误句柄的时候返回STATUS_INVALID_HANDLE,而不是STATUS_SUCCESS
3,xp以上使用NtQueryInformationProcess(hProcess,ProcessDebugObjectHandle,...) 和NtQueryInformationProcess(hProcess,ProcessDebugFlags,...)进行反调试
4,OD进程中ntdll.dll的一些函数(如:NtOpenProcess)被inline hook的时候会蓝屏

down60cn 发表于 2009-2-22 11:02

jqdgjj 发表于 2009-2-22 11:25

确实不错,顶一下。

yuyuchun 发表于 2009-2-22 11:47

好工具,就是更新太快了,呵

170077000 发表于 2009-2-22 21:33

StrongOD v2.3.314

OllyDBG v1.10 plugin- StrongOD v0.2.3
                        by 海风月影
====================================================================

1,修复了2003 sp1下蓝屏bug(感谢cxh852456)
2,增强快捷键兼容性,支持简单修改版的OD


1,修复几个小BUG
2,增强attach功能
3,修复某个BUG


1,底部快捷栏自动记录是否隐藏
2,底部状态栏显示Memory窗口状态
3,修复驱动不加载的bug


1,增加多个内存窗口的快速切换,快捷键 alt+1 ~ alt+5
2,增加切换堆栈窗口关联到ebp寄存器或者不关联任何寄存器,快捷键 alt+1 ~ alt+3
3,增加一个底部的快捷栏,上面有快速切换的按钮,Option里面可以取消创建这个快捷栏,
        如果创建后可以用Alt+R来显示,隐藏快捷栏
4,底部的快捷栏是否创建,不影响上面快速切换的功能(没有按钮可以用快捷键来切换)


1,修复一些解析PE的小bug
2,修复内存断点判断的一个小bug


1,修复一些小bug
2,修复驱动一个bug


1,增加选项删除入口点断点
2,增加选项中断在Tls入口(如果有的话),必须选上Kill Pe Bug
3,增加选项中断在进ring3的第一行代码(是否实现,待定)
4,配置文件中增加OrdFirst,决定mfc42中的导出函数是序号优先还是名字优先
5,修复处理重定位表的bug
6,Attach窗口的鼠标滚轮改成WM_VSCROLL消息


1,修正处理导出表和导入表的bug
2,修正处理重定位表的bug
3,修复Skip Some Expection选上的时候对内存段下F2断点无法正常断下的bug
4,修复Skip Some Expection选上的时候内存断点无法断下的BUG
5,修复IAT中序号找不到函数名的BUG


1,增加Attach窗口的鼠标滚轮支持
2,重写od处理模块的代码


1,修复驱动BUG


1,修复一个利用PAGE_GUARD的anti
2,修复Skip Some Expection选上的时候无法对内存段下F2断点
3,由于PAGE_GUARD的特殊性,无法完美处理od用PAGE_GUARD下断点的BUG,建议尽量不要对内存段下F2断点
4,加强进程保护功能,防止ring3下复制句柄打开od进程
5,修复驱动多处小bug
6,更新版本号


1,超长异常处理链导致OD打开太慢的BUG


1,增加一个快捷键,cpudump 窗口 alt+左键双击
2,修复隐藏OD窗口后输入法有可能无法使用的BUG
3,修复了一个潜在的蓝屏BUG



1,修复了Ctrl+G计算rva,offset时的一个小BUG
2,当程序不是运行的状态时,Detach前会先运行程序
3,修复原版OD的数据区复制BUG
4,修复od运行后CPU占用率很高的BUG
5,可以设置是否跳过一些异常处理


1,跳过不是OD设的Int 3中断,跳过STATUS_GUARD_PAGE,STATUS_INVALID_LOCK_SEQUENCE异常
2,正确处理int 2d指令


1,加入驱动,保护进程,隐藏窗口,过绝大部分反调试
2,驱动支持自定义设备名(ollydbg.ini中的DeviceName,设备名不超过8个字符)
                ollydbg.ini中的中,可以自己设定
                HideWindow=1                                         隐藏窗口
                HideProcess=1                                        隐藏进程
                ProtectProcess=1                        保护进程
                DriverKey=-82693034                和驱动通信的key
                DriverName=fengyue0                驱动设备名(不超过8个字符)

3,将OD创建进程的父进程改成explorer.exe (抄自shoooo的代码)


1,增强查找模块功能(能正确查找处理过peb的模块,比如ring3的隐藏模块)
2,增强OD对文件Pe头的分析(如Upack壳等)
3,anti anti attach (一种极端的attach方式)
4,脱离目标程序不再调试(DebugActiveProcessStop)功能,xp系统以上
5,注入dll到被调试的进程
        a) Remote Thread(使用CreateRemoteThread注入)
        b) Current Thread(shellcode,不增加线程方式注入,当前线程必须暂停)



1,过VMP 1.64邪恶anti
下载地址:http://www.unpack.cn/viewthread.php?tid=26870


1,Advanced Ctrl + G 功能可以输入API名(已经和OD自带的功能一摸一样了)
2,修复了当没有断点的时候会有删除所有断点的选项的BUG
3,修复了删除所有断点,有可能删不完的BUG
4,当线程小于或等于1的时候,不会有Resume all thread 和 Suspend all thread选项
5,并不兼容看雪9.21版本(因为这个版本修改了ACPUASM等类名,如果自己修改的版本请不要修改ACPU这样的类名)
6,和加壳版的OD有一定的兼容性(载入时将导入表写回PE头和相应的位置,但还是不支持TheODBG)



1,增加了Advanced Ctrl + G 功能
2,将浮点bug作为选项(patch代码的,需要重启才能保存选项)
3,将原本patch的代码都取消,全部改成hook形式,增加兼容性(后续的功能将都用patch的形式做)



去除了2个BUG:
1,启动程序时,如果目录有空格会有个出错信息
2,CPU DUMP 窗口,如果选中一个内存块的第一个字节,Infoline会显示异常

增加:
如果断点窗口没有任何断点,则不显示菜单



增加创建进程模式

本插件提供了3种方式来启动进程:

1,Normal
        和原来的启动方式相同,清掉了STARTINFO里面不干净的数据

2,CreateAsUser
        用一个User权限的用户来启动进程,使进程运行在User权限下,无法对Admin建立的进程进行操作
        运行这个需要在本地安全策略-用户权利指派里面将你的用户加入2个权限:
                1,替换进程级记号(SeAssignPrimaryTokenPrivilege)
                2,以操作系统方式操作(SeTcbPrivilege)
        如果是home版的windows,无法设置,那么可以试试使用SuperMode,重启OD来提升权限,强烈不建议使用这个选项

3,CreateAsRestrict
        第二个选项用User权限的用户来启动进程限制的地方比较多,所以,增加第三个功能,以一个限制级的Admin用户来启动程序
        启动的程序是以Admin的用户,不过权限只剩下默认User用户有的权限,一些危险权限全部删除(包括SeDebugPrivilege,SeLoadDriverPrivilege等),这样运行的程序不会对OD造成很大的伤害。建议用这个方式启动程序。


注意:
1,新增加的这2个启动方式,不一定能运行所有的程序(比如OllyDbg)!不过在调试木马的时候会有不错的效果。
2,和 Olly Advanced 插件冲突,加载了Olly Advanced 插件,此功能失效!



隐藏调试器功能
HidePEB,去掉PEB中的调试标记,并且从根本上解决了HeapMagic的问题(参考的Phant0m.dll)

此功能的选项选不选都自动隐藏


快捷键功能


1. 增加CPU ASM,CPU DUMP,CPU STACK窗口中增加Enter相关的一系列快捷键

CPU ASM窗口中
例如
1000481A|.A3 F48E0010   mov   dword ptr ds:, eax


选中这行时,按Enter,       表示在 CPU DUMP窗口显示10008EF4位置
          按Shift+Enter, 表示在 CPU ASM 窗口显示10008EF4位置
          按Ctrl+Enter,表示在CPU DUMP窗口显示这行的地址1000481A位置

如果有2个立即数,比如

1000481A mov dword ptr ds:,40304C

这样的语句,如果要切换另一个立即数,就加上Alt,进行切换

选中这行时,按Enter,         表示在 CPU DUMP窗口显示40304C位置
          按Shift+Enter,   表示在 CPU ASM 窗口显示40304C位置
          按Ctrl+Enter,      表示在 CPU DUMP窗口显示这行的地址1000481A位置
          按Alt+Enter,       表示在 CPU DUMP窗口显示10001000位置
          按Alt+Shift+Enter, 表示在 CPU ASM 窗口显示10001000位置

CPU DUMP窗口中

按Enter,表示在CPU ASM窗口显示选中的第一个字节开始的数据内容
按Shift+Enter,表示在CPU DUMP窗口显示选中的第一个字节开始的数据内容
按Ctrl+Enter,表示在CPU ASM窗口显示选中的第一个字节的地址

CPU STACK窗口中

按Enter,表示在CPU ASM窗口显示选中行的数据
按Shift+Enter,表示在CPU DUMP窗口显示选中行的数据
按Ctrl+Enter,表示在CPU ASM窗口显示选中行的地址
按Alt+Enter,表示在CPU DUMP窗口显示选中行的地址


2. 增加CPU ASM , CPU DUMP , CPU STACK窗口快捷键ESC和`(注:ESC下面的),此按键功能同在CPU窗口按-(减号)+(加号)功能.(方便笔记本,因为笔记本没有小键盘)
3. 增加CPU REG窗口快捷键ESC和`(注:ESC下面的)实现View FPU,View MMX,View 3D Now!,View Debug的快速翻页.
4. 增加CPU STACK窗口快捷键ESC和`(注:ESC下面的),ESC表示在CPU STACK窗口显示ESP值,`表示显示EBP的值
5. 增加CPU REG窗口快捷键CTRL+数字键1至8(分别对应EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI)将其内容显示在CPUASM窗口中
   增加CPU REG窗口快捷键SHIFT+数字键1至8(分别对应EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI)将其内容显示在CPUDUMP窗口中
               

6. 增加CPU ASM,CPU DUMP窗口快捷键Shift+C,Shift+V,Shift+X,Ctrl+X.分别对应二进制复制,二进制粘贴,无空格二进制复制(方便写OD脚本的兄弟),复制选中的第一个字节的地址
   注:Shift+V 只需要选中起始地址即可.
   Shift+C与Shift+X的区别如下:
   55 8B EC 8B 45 0C 48 74 42 48 74 37 83 E8 0D 74
   558BEC8B450C48744248743783E80D74

   Ctrl+X功能是复制选中的第一个字节的地址,如选中的第一行是

1000481A mov dword ptr ds:,40304C

按Ctrl+X,则地址01000481A 复制到剪贴板

7. 增加在CPU ASM 和CPU DUMP窗口增加快捷键Insert ,Delete

        Insert 将选中的区域以0x90填充
        Delete 将选中的区域以0x00填充

先选中一块区域,然后按键,填充完后可以用OD的恢复功能恢复(Alt + Backspace)



8. 增加状态栏显示CPU DUMP窗口中选中区域的起始地址,结束地址,选中区域大小,及当前值.

注:如CPU DUMP窗口数据为0040100000 10 40 00 69 6E 67 20 鼠标选中地址00401000后面的00时,状态栏窗口显示Value为401000,按Ctrl+双击鼠标左键复制Value到剪切板.


9. 增加断点窗口(ALT+B呼出)Delete All BreakPoints功能.实现删除全部断点.
10. 增加线程窗口Suspend All Threads,Resume All Threads功能.实现挂起和恢复全部线程.


特别感谢:fly,sucsor,lifeengines,shoooo,foxabu,hellsp@wn,okdodo,kanxue,a__p,微笑一刀,goldsun

xueyong 发表于 2009-2-22 21:47

谢谢,更新一下,抢了个沙发;P

yanbox 发表于 2009-2-22 21:55

好啊.在一蓑没那么多UB

suko 发表于 2009-2-23 01:12

非常谢谢管理员,下载收藏一个。

fuma255 发表于 2009-2-23 03:51

吾爱真的好啊,UNPACK好贵呢

whcchai 发表于 2009-2-23 10:51

这里便宜多了,虽然不能同步更新,能用上也很不错了,谢谢楼主
页: [1] 2
查看完整版本: StrongOD.v0.2.3.314.By.海风月影[CUG][2009.02.20](增加快捷键文档)