首页
社区
课程
招聘
[讨论]看看这个有趣的anti_od_crackme
2007-5-26 16:15 9312

[讨论]看看这个有趣的anti_od_crackme

2007-5-26 16:15
9312
收藏
免费 0
打赏
分享
最新回复 (17)
雪    币: 227
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
johnroot 1 2007-5-26 17:28
2
0
音乐真好听!
004791B3::  0F85 00000000            JNZ 004791B9                            \:JMPDOWN
004791B9::  3B83 28030000            CMP EAX,[EBX+328]                       \:BYJMP
004791BF::  0F85 00000000            JNZ 004791C5   
这两个不跳就爆破了
雪    币: 114
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
garasmc 2007-5-26 17:49
3
0
呵呵,是用OD调试的吗?
怎么躲过那个ANTI的?
呵呵,他的算法并不太重要哈,反OD有点小把戏。
具体讲讲吧
雪    币: 926
活跃值: (367)
能力值: (RANK:500 )
在线值:
发帖
回帖
粉丝
humourkyo 12 2007-5-28 14:38
4
0
用PE编辑器载入
把RVA数及大小改为10即可
雪    币: 87
活跃值: (1509)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
tzl 10 2007-5-28 16:07
5
0
有效
可否进一步说明一下为何这样改..
雪    币: 244
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
yaleond 1 2007-5-28 18:49
6
0
对啊,为何啊?
现在好多CreakMe都有Anti_Olly的.缺少这方面的...
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yingyue 2007-5-28 23:19
7
0
好像还没有人公布正确的注册码吧,我来,不难的 ,典型的非明码,但计算不难

       name : ying

Computer ID : 6867685745

       code : 931111
上传的附件:
  • 1.jpg (23.36kb,184次下载)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yuwgle 2007-5-29 00:50
8
0
人家想知道你这个怎么能anti-OD……
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
magicjia 2007-5-29 13:45
9
0
关注,希望有人能详细分析一下!!!!
雪    币: 234
活跃值: (61)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
benbentaiyang 1 2007-5-30 08:16
10
0
我看到楼上的兄弟都说AntiOD,自己下载下来,用OD载入就出现错误提示,没有分析,也无法分析,不过让我想起来我看到过的一片文章,不知道是不是这个原因,大家可以对照试试,我把文章贴下面,希望对大家有所帮助:

作者:oHuangKeo

有误之处,忘谅之.学习中...

今在论坛里看到有人发贴说有程序不让OD分析.这很常见了,很多脱壳后的文件,弄得不好还就是不能用OD打开分析.但这种情况是程序一般也是不能运行的.现在的问题就是,程序可以正常运行,可是OD不能打开分析,说"Bad or unknown format of 32-bit executeable file '**.exe'".这句话说这个程序不是有效的32位可执行程序.明明可以运行的嘛.
下面来给大家做个试验再说明原因.

1.用十六进制工具打开NotePad,(别的EXE文件也行.)选中从'PE'开始的大小为0xE0的数据,复制,然后到文件地址为0x40处粘贴.(大家都知道,这里是DOS头的区域,除非在DOS下运行程序才会用到这一段数据.)
2.把后面多余的数据用'0'填上[0x120-0x1BF]. 然后就是修正了.因为PE头位置定位到了0x40,所以得把0x3C处改为0x40.这个大家都是知道的.
3.最后就是关键问题所在了. 把0x54地址的数据改为'8001',就是0x180.
好,现在保存,运行程序看,OK,可以运行,没有问题.用OD再打开试试?哈哈,报错啦.

下面说说原因,有说得不好的地方,大家不要笑话偶.
OD在加载程序时,会先对程序进行分析.OD的作者写此程序就只是针对Win32下的PE文件(好像作者现在在开发2.0版本的,是分析64位程序的.)所以有比较SizeOfOptionalHandler,而在PE定义中,这个值是0xE0,是一个定值.OD比较这个值,如果是0xE0就对了,不等就是错误的EXE文件.
我们刚才做的就是改变PE Handler的大小,后面多余的数据填'0'也是有意义的.这就是系统可以正常运行的原因.后面多余的'0'归属于DataDirectory中了.系统在加载时只加载16组数据,后面的顶多算为是PE结构的保留数据,好像在前16组中,也是有保留数据的.所以不会出错.
附件中有我修改PE文件的录相,可以下载参考一下.

修复这一BUG方法,把0045C671处的je改为jge,就是大于等于就可以了.

通过小小修改PE就可以不让OD加载,但这也都是些小花样.OD的BUG是可以补的嘛.一定还会有更多的BUG,有待大家的发现.

附件没有传上来,感兴趣的在FCG的论坛上可以找到这篇文章!
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2007-5-30 08:32
11
0
谢谢 benbentaiyang,学习了
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
fonge 5 2007-5-30 09:57
12
0
本来是PE文件,结果是他认错了,就不要让他去乱认

遇到类似情况,一律改成jmp
雪    币: 2836
活跃值: (1673)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
wofan[OCN] 21 2007-5-30 20:22
13
0
但是这个AntiOD显然不是这个原因。因为OllyICE是修复了这个Bug的。

0045C666   .  C1E1 03       shl     ecx, 3
0045C669   .  81C1 E0000000 add     ecx, 0E0
0045C66F   .  3BD1          cmp     edx, ecx
0045C671   .  7D 07         jge     short 0045C67A      ;========看这里
0045C673   .  C745 F4 02000>mov     dword ptr [ebp-C], 2
0045C67A   >  837D F4 00    cmp     dword ptr [ebp-C], 0
0045C67E   .  75 24         jnz     short 0045C6A4

同样是会出现加载错误的。
雪    币: 234
活跃值: (61)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
benbentaiyang 1 2007-5-30 21:22
14
0
恩,我也发现这个问题了,希望能从这篇文章得到一点启发!
雪    币: 2836
活跃值: (1673)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
wofan[OCN] 21 2007-5-31 07:17
15
0
我用HexWorkShop对比了一个正常的程序和这个AntiOD程序,只有这个数据不同。
事实上,任何一个程序,只要修改这个值,OD都不能加载!并不要做别的什么手脚!
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
magicjia 2007-5-31 07:21
16
0
恩,去研究研究PE
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
fonge 5 2007-5-31 08:21
17
0
所以OD那地方一律改成jmp!
雪    币: 314
活跃值: (15)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
王仁军 10 2007-6-11 16:02
18
0
学习了。。。。。。
游客
登录 | 注册 方可回帖
返回