好友
阅读权限40
听众
最后登录1970-1-1
|
mycsy
发表于 2008-11-6 20:08
OD的一个插件 很棒
OllyDBG v1.10 plugin - StrongOD v0.18
by 海风月影[CUG]
====================================================================
[2008.09.15 v0.18]
1,修复了Ctrl+G计算rva,offset时的一个小BUG
2,当程序不是运行的状态时,Detach前会先运行程序
3,修复原版OD的数据区复制BUG
4,修复od运行后CPU占用率很高的BUG
5,可以设置是否跳过一些异常处理
[2008.09.02 v0.17]
1,跳过不是OD设的Int 3中断,跳过STATUS_GUARD_PAGE,STATUS_INVALID_LOCK_SEQUENCE异常
2,正确处理int 2d指令
[2008.08.31 v0.16]
1,加入驱动,保护进程,隐藏窗口,过绝大部分反调试
2,驱动支持自定义设备名(ollydbg.ini中的DeviceName,设备名不超过8个字符)
ollydbg.ini中的[StrongOD]中,可以自己设定
HideWindow=1 隐藏窗口
HideProcess=1 隐藏进程
ProtectProcess=1 保护进程
DriverKey=-82693034 和驱动通信的key
DriverName=fengyue0 驱动设备名(不超过8个字符)
3,将OD创建进程的父进程改成explorer.exe (抄自shoooo的代码)
[2008.08.10 v0.15]
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,不增加线程方式注入,当前线程必须暂停)
[2008.07.04 v0.14]
1,过VMP 1.64邪恶anti
下载地址:http://www.unpack.cn/viewthread.php?tid=26870
[2008.01.20 v0.13]
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)
[2008.01.15 v0.12]
1,增加了Advanced Ctrl + G 功能
2,将浮点bug作为选项(patch代码的,需要重启才能保存选项)
3,将原本patch的代码都取消,全部改成hook形式,增加兼容性(后续的功能将都用patch的形式做)
[2007.11.15 v0.11]
去除了2个BUG:
1,启动程序时,如果目录有空格会有个出错信息
2,CPU DUMP 窗口,如果选中一个内存块的第一个字节,Infoline会显示异常
增加:
如果断点窗口没有任何断点,则不显示菜单
[2007.11.14 v0.10]
增加创建进程模式
本插件提供了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:[10008EF4], eax
选中这行时,按Enter, 表示在 CPU DUMP窗口显示10008EF4位置
按Shift+Enter, 表示在 CPU ASM 窗口显示10008EF4位置
按Ctrl+Enter, 表示在CPU DUMP窗口显示这行的地址1000481A位置
如果有2个立即数,比如
1000481A mov dword ptr ds:[10001000],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:[10001000],40304C
按Ctrl+X,则地址01000481A 复制到剪贴板
7. 增加在CPU ASM 和CPU DUMP窗口增加快捷键Insert ,Delete
Insert 将选中的区域以0x90填充
Delete 将选中的区域以0x00填充
先选中一块区域,然后按键,填充完后可以用OD的恢复功能恢复(Alt + Backspace)
8. 增加状态栏显示CPU DUMP窗口中选中区域的起始地址,结束地址,选中区域大小,及当前值.
注:如CPU DUMP窗口数据为00401000 00 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 |
|