首页
社区
课程
招聘
[原创]一个奇怪的带壳crackme的简单分析(Anti、Validate)
发表于: 2006-12-23 21:19 16260

[原创]一个奇怪的带壳crackme的简单分析(Anti、Validate)

2006-12-23 21:19
16260
收藏
免费 7
支持
分享
最新回复 (25)
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
6 RaiseException
  ........
  
  00405E55    C705 F9524000 3>mov     dword ptr [4052F9], 30                          ;后面RaiseException会循环0x30次
  ........
  
  00405FB4    FF15 EA304000   call    dword ptr [<&KERNEL32.RaiseException>]         ; KERNEL32.RaiseException
  
  堆栈:
  0006FF40   40010007  |ExceptionCode = 40010007
  0006FF44   00000000  |ExceptionFlags = EXCEPTION_CONTINUABLE
  0006FF48   00000002  |nArguments = 2
  0006FF4C   00401000  \pArguments = Bustme4.00401000
  0006FF50   0006FFE0  指向下一个 SEH 记录的指针
  0006FF54   004060BC  SE处理程序
  
  很明显程序在这里人为地制造了一处错误。如果要想程序正常运行,必须要跳到SE处理程序入口处004060BC。
  我们在004060BC处下断,不断地Shift+F9,可最终程序也没有停在我们想断下来的004060BC处,而是弹出一个窗口告诉我们某某地址内存不能为"read",然后就Game Over了。
  这里不知道有没有什么好的办法处理通过,我用的是将ExceptionCode改为C0123333,然后通过。

这里为什么将ExceptionCode改为C0123333,就可以通过啊,请楼主指教下!!!
2007-8-3 21:32
0
游客
登录 | 注册 方可回帖
返回
//