首页
社区
课程
招聘
[讨论]关于新版Themida/WL 2.1.0.10检测OD调试器
发表于: 2010-5-5 01:14 15339

[讨论]关于新版Themida/WL 2.1.0.10检测OD调试器

2010-5-5 01:14
15339
有段跟踪的代码,好象是检测调试驱动的,我的OD执行到这里后就OVER了,进程终止了.猜想可能是这样检测OD的.希望能有高手指导修改调试驱动名称,谢谢!

测试样本壳版本 Themida /WL 2.1.0.10
代码如下:

在kernel32.lstrcmpiA函数下断,该函数用于比较调试器驱动名称和系统内驱动名称

00ED5C85    61                   popad
00ED5C86    FF95 35E8700B        call dword ptr ss:[ebp+B70E835] ; kernel32.lstrcmpiA
00ED5C8C    6A 00                push 0
00ED5C8E    57                   push edi
00ED5C8F    E8 03000000          call dumped1.00ED5C97
00ED5C94    205F C3              and byte ptr ds:[edi-3D],bl
00ED5C97    5F                   pop edi
00ED5C98    897C24 04            mov dword ptr ss:[esp+4],edi
00ED5C9C    814424 04 17000000   add dword ptr ss:[esp+4],17
00ED5CA4    47                   inc edi
00ED5CA5    57                   push edi
00ED5CA6    C3                   retn

对比到这里的时候,若调试器驱动名称为"fengyue.sys",则检测到OD调试器,进程终止,无法继续。经分析,该取值来源于注册表。

00ED5C06    6A 00           push 0
00ED5C08    53              push ebx                                 ; dumped1.00EF20EE
ebx=00EF20EE (dumped1.00EF20EE), ASCII "fengyue.sys"

00ED5C09    E8 03000000     call dumped1.00ED5C11
00ED5C0E    205B C3         and byte ptr ds:[ebx-3D],bl
00ED5C11    5B              pop ebx
00ED5C12    895C24 04       mov dword ptr ss:[esp+4],ebx
00ED5C16    814424 04 1D000>add dword ptr ss:[esp+4],1D
00ED5C1E    43              inc ebx
00ED5C1F    53              push ebx
00ED5C20    C3              retn



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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 199
活跃值: (72)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
那你吧 SOD的 驱动 名称修改一下就可以了 直接在SOD的配置文件里修改就可以了  貌似VMP也会这样检测的 只要改了名字 重启一下好像就可以了
2010-5-5 23:16
0
雪    币: 111
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我的截图里是已经修改了驱动名称还有窗体类名称的,注册表里相关的SYS残留也被清理干净了.
一样被Themida 2.1.0.10 检测到ANTI.

对于截图的再次说明:
第一张截图的内存窗口内容是检测的SYS驱动名称黑名单列表.
第二张截图的内存窗口内容是修改驱动名称后OD驱动SYS文件的绝对路径,该取值来自注册表
通过两张截图分析,只要安装了修改版或原版OD并运行过,没有更改过驱动名称的,注册表中都会有SYS驱动名称的残留,就算你再次更改驱动名称,该残留名称仍存在.这个版本的TMD就是运用了取注册表驱动名称的方式结合进程探测实现了ANTI OD的效果.

在此感谢楼上同仁的热心解答,但疏忽了看截图内容,所以提供的方法仅供参考.
2010-5-6 00:14
0
雪    币: 111
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
再次试验,修改后的OD可以避开默认加密模式Themida 2.1.0.10的调试器检测。

总结一下:
用SOD隐藏OD,改窗体类名,更改CPU窗口类标识,更改SOD的驱动名称并在注册表中清除“fengyue.sys”的驱动名称(用XP的注册表编辑器的完全权限删除)。
2010-5-17 22:29
0
雪    币: 236
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主,请问下sod的驱动名如何改?我看到我OD的PLUGIN目录下没有sod的配置文件。
2010-6-1 23:46
0
雪    币: 236
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
期待楼主解答下,是直接改strong.dll么?
2010-6-2 00:13
0
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
7
ollydbg.ini里面
[Plugin StrongOD]
CreateProcessMode=2
HidePEB=1
IsPatchFloat=1
IsAdvGoto=1
KernelMode=1
KillPEBug=1
SuperEnumMod=1
AdvAttach=1
SkipExpection=0
HideWindow=1
HideProcess=1
ProtectProcess=1
DriverKey=-82692035     //*
DriverName=mayi     //*修改这两处
OrdFirst=0
BreakOnLdr=0
BreakOnTls=0
RemoveEpOneShot=0
ShowBar=17
LoadSym=0
2010-6-2 14:52
0
雪    币: 236
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
多谢疯子,你那个字是念疯么?
2010-6-2 15:29
0
雪    币: 111
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=瘋子;817570]ollydbg.ini里面
[Plugin StrongOD]
CreateProcessMode=2
HidePEB=1
IsPatchFloat=1
IsAdvGoto=1
KernelMode=1
KillPEBug=1
SuperEnumMod=1
AdvAttach=1
...[/QUOTE]

修改完成后并在注册表中清除“fengyue.sys”的驱动名称(用XP的注册表编辑器的完全权限删除)。我给的截图里有检测驱动的名称列表。
2010-6-5 08:55
0
游客
登录 | 注册 方可回帖
返回
//