首页
社区
课程
招聘
[原创]第二阶段第二题答案
2007-8-31 15:28 7796

[原创]第二阶段第二题答案

2007-8-31 15:28
7796
收藏
点赞0
打赏
分享
最新回复 (9)
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-1 13:00
2
0
第二种方法: DLL注入,然后ExitProcess(0);

FindWindow->GetWindowThreadProcessId->LoadLibrary->SetAPIHook--->ExitProcess(0);
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-1 13:03
3
0
第二种方法: DLL注入,然后ExitProcess(0);

FindWindow->GetWindowThreadProcessId->LoadLibrary->SetAPIHook--->ExitProcess(0);

重新上传附件。
上传的附件:
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-1 13:26
4
0
第三种方法: 发送WM_SYSCOMMAND+SC_CLOSE来结束目标进程。

FindWindow->SendMessage。
上传的附件:
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-1 16:07
5
0
第四种方法
DLL注入,然后搜索堆栈,找到CreateFile的Handle关闭之。主程序在1秒之后关闭驱动,然后TerminateProcess。
使用如下API: (分三大步)
(1)FindWindow->GetWindowThreadProcessId->LoadLibrary->SetAPIHook--->CloseHandle--->UnHookAPIHook->FreeLibrary
(2)OpenSCManager->OpenService->ControlService->DeleteService->CloseServiceHandle
(3)FindWindow->GetWindowThreadProcessId->OpenProcess->TerminateProcess
上传的附件:
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-2 02:21
6
0
第五种方法
修改CrackMe.sys,为CrackYou1.sys,作用恢复SSDT表。然后TerminateProcess。

API:
CreateService->StartService->ControlService->DeleteService->CloseServiceHandle->GetWindowThreadProcessId->OpenProcess->TerminateProcess
上传的附件:
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-2 02:46
7
0
第六种方法(跟上一种方法非常相似,但原理不同)
修改CrackMe.sys,为CrackYou2.sys,作用对CrackMe的内核做Patch。然后TerminateProcess。
没有修复SSDT表,主程序与上一种方法相同。

API:
CreateService->StartService->ControlService->DeleteService->CloseServiceHandle->GetWindowThreadProcessId->OpenProcess->TerminateProcess
上传的附件:
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-2 10:40
8
0
第七种方法,首先关闭SSDT HOOK Service,方法同"第四种方法"。然后调用DebugActiveProcess和WaitForDebugEvent来Attach到CrackMeApp.exe的进程,然后自然退出使其关闭。
(1)FindWindow->GetWindowThreadProcessId->LoadLibrary->SetAPIHook--->CloseHandle--->UnHookAPIHook->FreeLibrary
(2)OpenSCManager->OpenService->ControlService->DeleteService->CloseServiceHandle
(3)FindWindow->GetWindowThreadProcessId->DebugActiveProcess->WaitForDebugEvent
上传的附件:
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-2 10:44
9
0
第八种方法
首先利用CrackYou1.sys,恢复SSDT表,方法同"第五种方法"。然后调用DebugActiveProcess和WaitForDebugEvent来Attach到CrackMeApp.exe的进程,然后自然退出使其关闭。
API:
CreateService->StartService->ControlService->DeleteService->CloseServiceHandle->GetWindowThreadProcessId->DebugActiveProcess->WaitForDebugEvent
上传的附件:
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartsl 2007-9-2 10:46
10
0
第九种方法:
首先利用CrackYou2.sys,patch SSDT Hook进程,方法同"第六种方法"。然后调用DebugActiveProcess和WaitForDebugEvent来Attach到CrackMeApp.exe的进程,然后自然退出使其关闭。
API:
CreateService->StartService->ControlService->DeleteService->CloseServiceHandle->GetWindowThreadProcessId->DebugActiveProcess->WaitForDebugEvent
上传的附件:
游客
登录 | 注册 方可回帖
返回