24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 405  |  回复: 0
当前主题已经存档。

sdlj8051

金虫 (著名写手)

[交流] [转贴]藏好自己的 OllyDbg

OllyDbg 的检测方法多如繁星,即使悉数了解并掌握破解技巧也需要耗费一定的时间。
因此可以制作一个 DLL(比如写一个插件) 借助 API Hook 来完成自动隐藏工作。

这篇教程中我不打算介绍如何进行 Hook API,Google 会比我讲的详细

我们的 DLL 面临着这些问题:

1) 躲避字符串解析漏洞

某天你拿到一个程序载入运行,OllyDbg 连续三次非法后伤逝……
基本可以估计这个程序钻了这个漏洞。OllyDbg 使用了格式化字符输出调试信息,
如果调试信息里带有格式控制字符譬如“%s%s%s”,在字符输出之前就会死于非命。

利用代码:
                        @pushsz "%s%s%s%s%s"
                        call    OutputDebugStringA

要避免也很简单,只要钩住这个函数过滤掉对它的调用即可。想做的锦上添花可重定向输出到一个watch窗口中。

2) GetProcessHeap 后门

自从某人从 ASProtect 早期版本得到启发,发现 M$ 的此内存初值后门,这个漏洞也(将会)有不少人用。

利用代码:
                        call    GetProcessHeap
                        mov     eax, [eax+0Ch]
                        test    eax, 40h
                        je      no_debugger

我很抱歉,关于原因的事情你得问微软去了,谁叫你用 Windows 呢 ;-)
解决它要彻底些,不能用 Hook ,因为不一定非通过这个函数读取 Heap,PEB 也可以。

看看 GetProcessHeap:
7C80AA49 >  64:A1 18000000  mov     eax, fs:[18]
7C80AA4F    8B40 30         mov     eax, [eax+30]
7C80AA52    8B40 18         mov     eax, [eax+18]
7C80AA55    C3              retn

剩下的不用多费唇舌了吧。

3) 卑鄙的 native API

看雪精华里 blowfish 详细介绍过 ZwSetInformationThread 等 API,最好统统 Hook。

4) MeltICE

如果你用监视器,就像 RegMon 等,需要照顾一下这里。

如果发现 CreateFileA/W 中的文件名开头是 “\\.\ ”决不能手软,截留返回0。
这些通常是要进行 MeltICE 探测的。不过有些注册程序要读取硬盘序列号也会打开类似上面的文件名,
所以还是建议你准备一份常用 MeltICE 名表,对比拦截,比较稳妥。

5) IsDebuggerPresent

这个函数你一定用过。

7C812E03 >  64:A1 18000000  mov     eax, fs:[18]
7C812E09    8B40 30         mov     eax, [eax+30]
7C812E0C    0FB640 02       movzx   eax, byte ptr [eax+2]
7C812E10    C3              retn

修改掉标志就行了。

6) 进程检测

查阅一下 Process32Next 的帮助,如果发现它正探测你的调试器,把这个结构指向 Explorer 的或者直接跳到下一个。

现在可以不用把调试器改成丑陋的 eXpLoReR.eXe

7) 模块检测

看来 DBGHELP.DLL 不太受欢迎,有些程序调用 Module32Next检测到别人加载此模块就会大发雷霆……

8) UnhandledExceptionHandler

明明没有 SEH 处理程序缺能在没有调试器的时候运行,怎么也过不去怎么办?
看看 simonzh2000 《SetUnhandledExceptionFilter 的讨论》。
如果你上面处理了 native API 事实上这里不会再有问题。

9) BlockInput

最近在某个壳里看到这个函数:

                        push    TRUE/FALSE
                        call    BlockInput

就可以控制你的鼠标键盘是否能动了,按 Ctrl+Alt+Del 可以解,
不过谁也不想一按 F9 什么都不动了(做个绘图覆盖在调试器上面制造假死)
脑袋缺筋的可能会重启……

类似的还有 EnableWindow,不能让它肆意操作你的调试窗口。


10) 待你补充

我一时想不出更多阴招了。

[ Last edited by sdlj8051 on 2006-10-6 at 11:34 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sdlj8051 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 考研求调剂 +12 子木呐 2026-04-12 13/650 2026-04-14 01:19 by 王珺璞
[考研] 求助调剂,跨调 +14 X十甫寸Y 2026-04-11 15/750 2026-04-14 00:36 by 王珺璞
[考研] 085600材料与化工349分求调剂 +14 李木子啊哈哈 2026-04-12 15/750 2026-04-14 00:14 by Equinoxhua
[考研] 297求调剂 +22 ORCHID1 2026-04-10 25/1250 2026-04-13 23:11 by pies112
[考研] 327求调剂 +21 Xxjc1107. 2026-04-13 23/1150 2026-04-13 21:53 by bljnqdcc
[考研] 272分材料子求调剂 +41 Loy0361 2026-04-10 53/2650 2026-04-13 14:20 by 张zhihao
[考研] 考研二轮调剂 +10 故人?? 2026-04-09 10/500 2026-04-13 09:55 by szhize
[考研] 一志愿华工085600 331分 +7 天下ww 2026-04-09 7/350 2026-04-13 09:01 by lhj2009
[考研] 一志愿0807 数一英一 313 有没有二轮调剂 +12 emokidd 2026-04-08 13/650 2026-04-13 08:32 by lhj2009
[考研] 药学305求调剂 +8 玛卡巴卡boom 2026-04-10 8/400 2026-04-12 00:07 by zhouwenxian
[考研] 277 数一104,学硕,求调剂 +21 瓶子PZ 2026-04-09 23/1150 2026-04-11 23:12 by labixiaoqiao
[考研] 0860004 求调剂 309分 +9 Yin DY 2026-04-08 9/450 2026-04-11 22:55 by dongdian1
[考研] 284求调剂 +11 archer.. 2026-04-09 12/600 2026-04-11 20:23 by 蓝云思雨
[考研] 工科273调剂 +6 X1999 2026-04-09 7/350 2026-04-11 10:23 by zhq0425
[考研] 22408调剂求助 +7 毂12 2026-04-09 9/450 2026-04-11 09:23 by 哦哦123
[考研] 346,工科0854求调剂,专硕 +7 moser233 2026-04-10 8/400 2026-04-11 08:52 by 猪会飞
[考研] 求调剂 +5 不会飞的鱼@ 2026-04-10 5/250 2026-04-10 19:07 by chemisry
[考研] 已调剂 +18 柴郡猫_ 2026-04-09 19/950 2026-04-09 22:10 by 柴郡猫_
[考研] 313求调剂 +3 十六拾陆 2026-04-07 3/150 2026-04-07 23:20 by lbsjt
[考研] 一志愿西南090202求调剂 +4 在线求有学上 2026-04-07 4/200 2026-04-07 19:47 by biomichael
信息提示
请填处理意见