首页
社区
课程
招聘
HideOD 0.13(隐藏OD插件)
发表于: 2005-12-6 15:05 22900

HideOD 0.13(隐藏OD插件)

2005-12-6 15:05
22900
HideOD 0.13
增加分配临时空间的功能(Alloc memory),主要是脱壳时方便键入代码。
这功能完全抄自goldenegg的ollyhelper插件。;)

2006.1.14

HideOD 0.12
修正ZwSetInformationThread。(感谢heXer)
2005.12.9

HideOD 0.11
ZwSetInformationThread这部分遗漏,ZwSetInformationProcess方法2在Win2000下有问题。己修正。

HideOD 0.1

现在隐藏OllyDBG插件比较多,整合的loveboom写过一个,并放出源码。
编写这个插件主要目的是熟悉一下OllyDBG插件编程。本插件中的相关
源代码来自heXer,shoooo,loveboom,simonzh2000等各位的程序,谢谢!
我只不过整合了一下。另外,特别感谢shoooo,goldenegg在编写插件
方面给予的帮助。
2005.12.6

目前该插件可以隐藏如下Anti-Debug检测:
IsDebuggerpresent
NtGlobalFlags
HeapFlags
ForceFlags
SetDebugPrivilege
OutDebugStringA
CheckRemoteDebuggerPresent
ZwSetInformationThread
UnhandledExceptionFilter
Process32Next
ZwQueryInformationProcess。




[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (66)
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
感谢前辈的作品
2005-12-6 15:38
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
就等这个了,谢谢
2005-12-6 15:38
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
选项选完后,在打开又没有选,为什么?
2005-12-6 15:48
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
最初由 liuyilin 发布
选项选完后,在打开又没有选,为什么?


点击OK后,会在ollydbg.ini里添加如下内容:
[Plugin HideOD]
HideNtDebugBit=1
UnhandledExceptionFilter=1
ZwSetInformationThread=1
OutDebugStringA=1
CheckRemoteDebuggerPresent=1
SetDebugPrivilege=1
Process32Next=1
AutoRun=0
ZwQueryInformationProcess=1
2005-12-6 15:53
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
点击OK后,会在ollydbg.ini里添加如下内容:
我这里没有呀
XP-SP2
OD CAOCONG汉化版
2005-12-6 15:59
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
最初由 liuyilin 发布
点击OK后,会在ollydbg.ini里添加如下内容:
我这里没有呀
XP-SP2
OD CAOCONG汉化版


可能和某些插件有冲突。
2005-12-6 16:03
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我发现用了AutoPath.dll的OD不行呀!
出现上述问题
原汉化版没问题
2005-12-6 16:07
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
9
最初由 liuyilin 发布
我发现用了AutoPath.dll的OD不行呀!
出现上述问题
原汉化版没问题


我这没问题,也是XP sp2.
可能是PLUGIN目录下的插件太多,你删除一个就可。(我这不删除会出现异常,随便删除一个就正常)
2005-12-6 16:10
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
多谢老大,解决了!!
2005-12-6 16:27
0
雪    币: 97697
活跃值: (200834)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
11
支持坛主。
2005-12-6 16:35
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
好东西来了啊!
多请老大/.
2005-12-6 16:46
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
13
那天晚上就来晚了,
2005-12-6 17:24
0
雪    币: 413
活跃值: (637)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
14
支持。baby2008的个性签名看了好久,觉得改一下,或许让你的形象更靓,亮哦!
2005-12-6 17:44
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
15
最初由 nig 发布
支持。baby2008的个性签名看了好久,觉得改一下,或许让你的形象更靓,亮哦!


现在图个干净
2005-12-6 17:49
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
16
顶!!!
2005-12-6 18:48
0
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
2005-12-6 21:09
0
雪    币: 3689
活跃值: (4247)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
18
from exetools by anorganix  

Nice, but it doesn't work with some AntiDebug tricks!

附件里的程序。

我用了没提示就脱壳了,难道是其他的插件起了作用?
附件:antidebugdemo.rar
2005-12-6 22:18
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我也是用了没提示就脱壳了,可能是:
GetCurrentThreadId
ZwSetInformationThread
没起作用
2005-12-6 23:08
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
20
确实没躲开China的那个demo...
2005-12-6 23:23
0
雪    币: 3689
活跃值: (4247)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
21
没提示是因为别的插件起了作用的,刚才只保留了这个HIDEOD测试了,通不过,kanxue睡觉了,会修改一下的。
2005-12-6 23:31
0
雪    币: 199
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
ZwSetInformationThread  也有点问题
2005-12-7 00:31
0
雪    币: 3689
活跃值: (4247)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
23
还是exetools里的反馈

newbie_cracker  

So new version of plugin must patch ZwQueryObject too !
2005-12-7 08:41
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
24
最初由 china 发布
from exetools by anorganix


Nice, but it doesn't work with some AntiDebug tricks!

........


想编写一个程序模拟这个Anti-Crackme,但是结构上总是对不上号,这问题暂时放一放。

XP SP2下的ZwQueryObject入口代码:

7C92E0D8 ntdll.ZwQueryObject        B8 A3000000     mov     eax, 0A3
7C92E0DD                            BA 0003FE7F     mov     edx, 7FFE0300
7C92E0E2                            FF12            call    [edx]
7C92E0E4                            C2 1400         retn    14

虽然用将ZwQueryObject入口改成如下形式,能躲过这个Anti-Crackme,但感觉兼容性不好,万一其他地方调用这函数进行计算就麻烦了。
mov eax,0  
ret 14

NTSTATUS ZwQueryObject(
  IN HANDLE ObjectHandle,
  IN OBJECT_INFORMATION_CLASS ObjectInformationClass,
  OUT PVOID ObjectInformation,
  IN ULONG ObjectInformationLength,
  OUT PULONG ReturnLength OPTIONAL
 );

#define ObjectAllTypesInformation 3

typedef struct _OBJECT_TYPE_INFORMATION {
  UNICODE_STRING Name;
  ULONG ObjectCount;
  ULONG HandleCount;
  ULONG Reserved1[4];
  ULONG PeakObjectCount;
  ULONG PeakHandleCount;
  ULONG Reserved2[4];
  ULONG InvalidAttributes;
  GENERIC_MAPPING GenericMapping;
  ULONG ValidAccess;
  UCHAR Unknown;
  BOOLEAN MaintainHandleDatabase;
  POOL_TYPE PoolType;
  ULONG PagedPoolUsage;
  ULONG NonPagedPoolUsage;
 } OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;

 typedef struct _OBJECT_ALL_TYPES_INFORMATION {
  ULONG NumberOfTypes;
  OBJECT_TYPE_INFORMATION TypeInformation;
 } OBJECT_ALL_TYPES_INFORMATION, *POBJECT_ALL_TYPES_INFORMATION;

00407F19   .  68 A4A74000   push    0040A7A4                         ; /pReqsize = zan.0040A7A4
00407F1E   .  A1 A4A74000   mov     eax, [40A7A4]                    ; |
00407F23   .  50            push    eax                              ; |Bufsize => E00 (3584.)
00407F24   .  A1 ACA74000   mov     eax, [40A7AC]                    ; |
00407F29   .  50            push    eax                              ; |Buffer => 003D0000
00407F2A   .  6A 03         push    3                                ; |InfoClass = ObjectAllTypesInfo
00407F2C   .  6A 00         push    0                                ; |hObject = NULL
00407F2E   .  FF15 94924000 call    [409294]                         ; \ZwQueryObject

00407F9B   .  8378 08 00    cmp     dword ptr [eax+8], 0
00407F9F   .  77 0B         ja      short 00407FAC
00407FA1   .  A1 B0A74000   mov     eax, [40A7B0]
00407FA6   .  8378 0C 00    cmp     dword ptr [eax+C], 0
00407FAA   .  76 66         jbe     short 00408012

程序会在Buffer里搜索字符串“D.e.b.u.g.O.b.j.e.c.t”,找到后检查标志位,即Buffer+0x31C处(红字),如有OD则是1,无OD则是0.

003D030C  4A 00 6F 00 62 00 00 00 16 00 18 00 74 03 3D 00  J.o.b.....t=.
003D031C  01 00 00 00 01 00 00 00  00 00 00 00 00 00 00 00  ..............
003D032C  00 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00  ..............
003D033C  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
003D034C  00 00 00 00 01 00 02 00 02 00 02 00 00 00 12 00  ...........
003D035C  0F 00 1F 00 0F 00 1F 00 01 00 00 00 00 00 00 00  ...........
003D036C  00 00 00 00 30 00 00 00 44 00 65 00 62 00 75 00  ....0...D.e.b.u.
003D037C  67 00 4F 00 62 00 6A 00 65 00 63 00 74 00 00 00  g.O.b.j.e.c.t...
2005-12-7 16:38
0
雪    币: 97697
活跃值: (200834)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
25
YOU RIGHT!
2005-12-7 16:39
0
游客
登录 | 注册 方可回帖
返回
//