首页
社区
课程
招聘
[旧帖] [求助]OD插件 0.00雪花
发表于: 2009-4-10 18:02 6761

[旧帖] [求助]OD插件 0.00雪花

2009-4-10 18:02
6761
看了天草的视频   发现他的OD的进程名字象icesword一样随机命名的

请问这个插件  哪有下啊?

另外海风的strongod怎么连tElock 0.98的校验都过不了了

今天玩这个壳时老是  跳出来说检测到调试器

郁闷

fly所说的什么很老的isdebug插件好象都能过啊
过了4年技术这么牛了  还过不了???

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

收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是你不会设置吧
2009-4-10 18:29
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
OD的窗口的名字象icesword一样随机命名的插件哪里有下啊?  好东西大家共享着用呗
2009-4-10 19:27
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
4
这个吗   ?
这个吗 ?

[HideOllyDbgInfo]
;标志没有它代表配置文件不存在
LOGON=PEDIY


[NormalInfo]
;基本设置
OllyDbgWinCaptionType=1
OllyDbgMainCaption=IMJpNg1K
OllyDbgCpuCaption=K50357b5
ClearHeapMagic=1
HideNTDebugBit=1
AutoRunHidePlugin=1
RemoveDebugBreakPoint=0
CustomHandleException=0
PatchODStringAndFPUBugs=0


[StandardInfo]
;一般设置
SetDebugPrivilege=1
Process32Next=1
OutDebugStringA=1
CheckRemoteDebuggerPresent=1
UnhandledExceptionFilter=1
BlockInput=0
HideFormPEB=1
GetTickCount=1


[AdvancedInfo]
;高级设置
ZwSetInformationThread=1
ZwQueryInformationProcess=1
ZwQuerySystemInformation=1
ZwContinue=0
KiUserExceptionDispatcher=0
ProtectDRx=1
2009-4-10 19:29
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
别盲目追求这样的华而不实的东西
2009-4-10 19:29
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
sessiondiy  应该是你发的吧
传给我吧

sessiondiy大虾,你教我过tElock 0.98的调试器吧  应该改哪里啊?
我知道有脱壳机   但我是想学习步骤  就是下硬件断点 他也检测到  怎么给他弄掉啊
上传的附件:
2009-4-10 19:49
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7
原帖没加壳啊. 你这那来的
直接跑的话, StrongOD 可跑

去从新下载吧.
http://bbs.pediy.com/showthread.php?t=85840
2009-4-10 20:03
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我是学脱壳  故意给加上的啊


让你帮我看看 怎么去他的硬件断点检验
2009-4-10 20:05
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
9

这个我不会教.
2009-4-10 20:08
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
可惜heXer写过 脱壳机
他肯定知道 怎么弄.
不知道他肯不肯给菜鸟我上一课.

肯的话  我就受宠若惊了
2009-4-10 20:12
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
11
写信给他吧.
2009-4-10 20:12
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
好象 关于这个壳  我搜索  没有谁讲怎么去硬件断点校验的啊

哪为大虾给篇详细脱的教程   让我等菜鸟学习学习!
2009-4-10 22:01
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
13
看了一下, 好人做到底.
纯 OD , 不用任何插件



按 Shift+F9 会停在这里
0042E08C    CC              int3
0042E08D    90              nop
0042E08E    8BC0            mov     eax, eax
0042E090    F9              stc
0042E091    90              nop
0042E092    8D045D 34120000 lea     eax, [ebx*2+1234]
0042E099    F8              clc
0042E09A    90              nop
0042E09B    C1EB 05         shr     ebx, 5
0042E09E    FC              cld
0042E09F    90              nop
0042E0A0    C1C0 07         rol     eax, 7
0042E0A3    90              nop
0042E0A4    90              nop
0042E0A5    33DB            xor     ebx, ebx
0042E0A7    F7F3            div     ebx
0042E0A9    64:67:8F06 0000 pop     dword ptr fs:[0]
0042E0AF    83C4 04         add     esp, 4

将例外设定的 INT 3 打勾


此时 SEH 在 0042E0C5 (程序码我列在后面)
我不知你看程序码的能力为何, 大意为:
        若是 INT 3 则 占用 Dr0~Dr3 , 值为 42E090'42E099'42E09E'42E0A3
        若是 80000004 则 byte[0042E118] 加 1
        若是 除零 , 则清除 Dr0~Dr3

你看作用全落在我上面列的程序码.
所以自从 0042E08C 的 INT 3 到 0042E0A7 的除零, 共会产生4次 80000004 中断
你在 0042E0A9 下软件断点, 按 Shift+F9 .. 一直到..停在 0042E0A9 的 软件断点
此时去掉软件断点.
设好 byte[0042E118] = 04

此时已过了硬断检查, 硬断已可正常使用. 
记得设一个 he 404356 (OEP)

<SEH>
0042E0C5    8B4424 04       mov     eax, [esp+4]
0042E0C9    8B4C24 0C       mov     ecx, [esp+C]
0042E0CD    FF81 B8000000   inc     dword ptr [ecx+B8]
0042E0D3    8B00            mov     eax, [eax]
0042E0D5    3D 940000C0     cmp     eax, C0000094
0042E0DA    75 24           jnz     short 0042E100
0042E0DC    FF81 B8000000   inc     dword ptr [ecx+B8]
0042E0E2    33C0            xor     eax, eax
0042E0E4    2141 04         and     [ecx+4], eax
0042E0E7    2141 08         and     [ecx+8], eax
0042E0EA    2141 0C         and     [ecx+C], eax
0042E0ED    2141 10         and     [ecx+10], eax
0042E0F0    8161 14 F00FFFF>and     dword ptr [ecx+14], FFFF0FF0
0042E0F7    8161 18 00DC000>and     dword ptr [ecx+18], 0DC00
0042E0FE    EB 60           jmp     short 0042E160
0042E100    3D 04000080     cmp     eax, 80000004
0042E105    74 0C           je      short 0042E113
0042E107    3D 03000080     cmp     eax, 80000003
0042E10C    74 12           je      short 0042E120
0042E10E    6A 01           push    1
0042E110    58              pop     eax
0042E111    EB 4D           jmp     short 0042E160
0042E113    E8 01000000     call    0042E119
0042E118    db 00
0042E119    58              pop     eax
0042E11A    FE00            inc     byte ptr [eax]
0042E11C    2BC0            sub     eax, eax
0042E11E    EB 40           jmp     short 0042E160
0042E120    8B81 B4000000   mov     eax, [ecx+B4]
0042E126    8D40 24         lea     eax, [eax+24]
0042E129    8941 04         mov     [ecx+4], eax
0042E12C    8B81 B4000000   mov     eax, [ecx+B4]
0042E132    8D40 1F         lea     eax, [eax+1F]
0042E135    8941 08         mov     [ecx+8], eax
0042E138    8B81 B4000000   mov     eax, [ecx+B4]
0042E13E    8D40 1A         lea     eax, [eax+1A]
0042E141    8941 0C         mov     [ecx+C], eax
0042E144    8B81 B4000000   mov     eax, [ecx+B4]
0042E14A    8D40 11         lea     eax, [eax+11]
0042E14D    8941 10         mov     [ecx+10], eax
0042E150    33C0            xor     eax, eax
0042E152    8161 14 F00FFFF>and     dword ptr [ecx+14], FFFF0FF0
0042E159    C741 18 5501000>mov     dword ptr [ecx+18], 155
0042E160    C3              retn

后记
    1. 到达 OEP 后, 可能本身有防调试器, 因为程序会结束, 你自己找原因.
    2. Plugin 留个 CommandBar 吧. 怪不好用的.
上传的附件:
2009-4-10 23:14
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
谢谢了  sessiondiy. 终于不用工具也能脱这个壳了
2009-4-11 15:52
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不过 虽然能脱壳了
但我对tElock这个壳的代码很感兴趣

stc clc cld这三个指令
我查了下
STC    置进位标志位.
CLC    清进位标志位.
CLD    清方向标志位.

可还是不懂什么意思.他们跟 Dr0   Dr1  Dr2  Dr3什么关系

为什么这些条件能防止硬件断点?
        若是 INT 3 则 占用 Dr0~Dr3 , 值为 42E090'42E099'42E09E'42E0A3
        若是 80000004 则 byte[0042E118] 加 1
        若是 除零 , 则清除 Dr0~Dr3

我这样理解:  如果在这之前下硬件断点了, 那过了除0异常后就把他们清除掉,从而使硬件断点失效.   不知道是否正确



        若是 INT 3 则 占用 Dr0~Dr3 , 值为 42E090'42E099'42E09E'42E0A3
        若是 80000004 则 byte[0042E118] 加 1
这两个条件起什么作用啊?
2009-4-11 17:46
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
我好象明白点了

如果按程序正常走 应该是

0042E090    F9              stc
0042E091    90              nop
单步异常
0042E099    F8              clc
0042E09A    90              nop
单步异常
0042E09E    FC              cld
0042E09F    90              nop
单步异常
0042E0A3    90              nop
0042E0A4    90              nop
单步异常

一共四个单步异常  所以 byte[0042E118]=4  就是正常的

如果在这段代码后下软断点或者硬件断点过了除0异常后  byte[0042E118]是不等于4的
他检测就是检测byte[0042E118]是否为4来  判断你是否下了断点吧

还有不理解的:

第一:为什么stc clc cld甚至一个nop都能产生单步异常????

第二:若是 INT 3 则 占用 Dr0~Dr3   什么意思?

是过了int3后 把掉我下的硬件断点覆盖掉 ?

第三:若是 除零 , 则清除 Dr0~Dr3  
这个也不懂  

sessiondiy  再吗?我现在求知欲很强  给讲讲吧

我发不了消息啊
2009-4-11 18:40
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
17
这个我无法跟你解释
pediy有很多这类的文章请找找

这里有写一些硬件断点的原理:
  http://bbs.pediy.com/showthread.php?threadid=10829
2009-4-11 18:51
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
18
这里你不能按猩猩
到unpackcn帮我加个UB吧
2009-4-11 19:05
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
给你加了一个U币

你先告诉我
为什么stc clc cld甚至一个nop都能产生单步异常????

我每天给你加一个U币去.
2009-4-11 19:12
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
20
产生80000004跟那些指令无关
是 Dr0~Dr3 的值刚好落在那里
你找找现成这方面的文章吧...很多. 够你今晚不用睡了.
(Dr6'7顺便了解一下)

CCDebuger 的精华你顺便看一下

每天加就不用了. 意思到了就好.
-------------------------------------
另外你写错了. 产生异常的地方正确是 :
0042E090
0042E099
0042E09E
0042E0A3

最后那个 byte[]=4  , 4这个值会被用来解程序码
所以不对的话会 Error
2009-4-11 19:15
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
你QQ多少啊?我想加你
2009-4-11 19:23
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我终于明白了!!!!!!!!!!!!
在过了int3异常后,占用 Dr0~Dr3 , 值为 42E090'42E099'42E09E'42E0A3

四个调试寄存器全部被占用,因此之前下的硬件断点都失效了。
除非过了除0异常以后再下硬件断点 才可以。

并且他还保证了byte[0042E118]=4  必须等于4,才能正确解码,那么只有过了这段代码后把byte[0042E118]等于4才可以下硬件断点。

sessiondiy。你太牛了,2分钟就全看明白了。

不过作者这个思路真好啊,我看那些写crackme的 都没注意到
其实有些壳里的思想真的挺好的啊。
2009-4-11 19:54
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
23
他除了设好Dr0~Dr3
Dr7则在决定4个Dr各自要用那一种..读/写/执行 时
他全设成 "执行"
所以执行到那4个地方就会产生异常

就跟调试器一样

就如你用OllyDbg在设硬断时不也是可设 读/写/执行 吗 ?
2009-4-11 20:50
0
游客
登录 | 注册 方可回帖
返回
//