首页
论坛
课程
招聘
[原创]分析一个基于异常的花指令的CM
2012-11-29 20:59 5947

[原创]分析一个基于异常的花指令的CM

2012-11-29 20:59
5947
收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 283
活跃值: 活跃值 (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
Nerin 活跃值 2 2012-11-29 22:02
2
0
不错,lz很热心哦~
雪    币: 102
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
哟哟哟哟 活跃值 2012-11-29 22:26
3
0
感谢楼主,我发了个贴子求这个CM的分析http://bbs.pediy.com/showthread.php?t=159234

结果楼主就分析的这么全面

十分感谢哦

我来仔细看看你的分析
雪    币: 102
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
哟哟哟哟 活跃值 2012-11-29 22:43
4
0
有两个问题想请教楼主

004012F0  COND: eip_start = 0040164B
00401439  COND: eip_end   = 00401654
004012F0  COND: eip_start = 00401654
00401439  COND: eip_end   = 00401658
004012F0  COND: eip_start = 00401658
00401439  COND: eip_end   = 0040165E
004012F0  COND: eip_start = 0040165E
00401439  COND: eip_end   = 00401667
004012F0  COND: eip_start = 00401667
00401439  COND: eip_end   = 0040166E
004012F0  COND: eip_start = 0040166E
00401439  COND: eip_end   = 00401674
004012F0  COND: eip_start = 00401674
00401439  COND: eip_end   = 0040167B
004012F0  COND: eip_start = 0040167B
00401439  COND: eip_end   = 0040167D

这是自动生成了?OD有这个功能吗?

还有我不喜欢用IDA,

"其实直接用IDA载入
找SEH_xxxxxxxx 和TopLevelExceptionFilter即可
"

这是你说的,不用IDA也很好调的吧,觉得IDA不习惯不好

还有,如果我要实现这个CM一样的功能,是不是如下代码

procedure TForm1.FormCreate(Sender: TObject);
begin
try
asm
//执行我的代码然后异常
int 3
end;
except
try
asm
//执行我的代码然后异常
int 3
end;
except
//执行我的代码然后异常
try
asm
//执行我的代码然后异常
int 3
end;
except
//执行我的代码然后异常
try
asm
//执行我的代码然后异常
int 3
end;
except
//执行我的代码然后异常
try
asm
//执行我的代码然后异常
int 3
end;
except
//执行我的代码然后异常
try
asm
//执行我的代码然后异常
int 3
end;
except
//执行我的代码然后异常
try
asm
//执行我的代码然后异常
int 3
end;
except
//执行我的代码然后异常
try
asm
//执行我的代码然后异常
int 3
end;
except
//执行我的代码然后异常
end;
end;
end;
end;
end;
end;
end;
end;
end;
雪    币: 943
活跃值: 活跃值 (365)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
HOWMP 活跃值 1 2012-11-29 23:08
5
0




不是嵌套,也不是try。

是SetUnhandledExceptionFilter
上传的附件:
雪    币: 102
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
哟哟哟哟 活跃值 2012-11-30 09:44
6
0
[QUOTE=HOWMP;1121895]



不是嵌套,也不是try。

是SetUnhandledExceptionFilter[/QUOTE]

try也能达到这种效果吧?因为try也是SHE异常处理,我等下试试

感谢楼主说的这么详细,我还忘了OD有日志功能
雪    币: 209
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
XiaoAiWhc 活跃值 2012-12-1 13:05
7
0
用最新的Ollydbg2.01,里面有个TraceAPI插件,可以跟踪到"SetUnhandledExceptionFilter"函数,下断点,返回到用户代码,就到了
00401531  |.  68 F0124000   push 004012F0    ; /Filter = CrackMe.4012F0
00401536  |.  FF15 00304000 call dword ptr ds:[<&KERNEL32.SetUnhandledExceptionFilt ; \KERNEL32.SetUnhandledExceptionFilter
游客
登录 | 注册 方可回帖
返回