首页
社区
课程
招聘
[讨论]一个不能被兵刃 RKU等工具结束进程的小程序。
发表于: 2007-11-9 19:21 4620

[讨论]一个不能被兵刃 RKU等工具结束进程的小程序。

2007-11-9 19:21
4620
【讨论】一个不能被兵刃 RKU等工具结束进程的小程序。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
使用方法:启动后,点 保护 按钮,然后再尝试杀本进程。
2007-11-9 19:23
0
雪    币: 220
活跃值: (161)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
VB ???

......

SetErrorMode
GetProcAddress
GetVersionExA
GetCurrentProcess
AdjustTokenPrivileges
OpenProcessToken
LookupPrivilegeValueA

......

CallWindowProcA : 拒绝访问。
2007-11-9 19:57
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
瞧不起这种转载不注明出处的
2007-11-9 20:36
0
雪    币: 109
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可能他也不知道是谁写的。那东西已经被转遍了,不一定是在哪转的。
2007-11-9 21:04
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
某人分析:
NtSystemDebugControl读写的内存~~

关键代码如下:
.text:00402F6B                mov    ecx, [ecx+0Ch]
.text:00402F6E                or      ebx, 0FFFFFFFFh
.text:00402F71                mov    edx, [ecx+eax]
.text:00402F74                mov    eax, [esi+170h]
.text:00402F7A                add    eax, 248h
.text:00402F7F                mov    [esi+16Ch], edx
.text:00402F85                jo      loc_40319E
.text:00402F85
.text:00402F8B                push    eax
.text:00402F8C                mov    [ebp-1Ch], ebx
.text:00402F8F                call    ReadSysMem
.text:00402F8F
.text:00402F94                mov    ecx, [esi+16Ch]
.text:00402F9A                push    10h
.text:00402F9C                add    ecx, 248h
.text:00402FA2                mov    [esi+180h], eax
.text:00402FA8                jo      loc_40319E
.text:00402FA8
.text:00402FAE                push    ecx
.text:00402FAF                call    WriteSysMem

即是将Thread->CrossThreadFlags设为0x10h(PS_CROSS_THREAD_FLAGS_SYSTEM)
硬编码XXXX

参考PSPXXXXXTHREAD的代码

NTSTATUS
PspTerminateThreadByPointer(
    IN PETHREAD Thread,
    IN NTSTATUS ExitStatus,
    IN BOOLEAN DirectTerminate
    )

/*++

Routine Description:

    This function causes the specified thread to terminate.

Arguments:

    ThreadHandle - Supplies a referenced pointer to the thread to terminate.

    ExitStatus - Supplies the exit status associated with the thread.

    DirectTerminate - TRUE is its ok to exit without queing an APC, FALSE otherwise

--*/

{
    NTSTATUS Status;
    PKAPC    ExitApc=NULL;
    ULONG    OldMask;

    PAGED_CODE();

    if (Thread->CrossThreadFlags
    & PS_CROSS_THREAD_FLAGS_BREAK_ON_TERMINATION) {
      PspCatchCriticalBreak("Terminating critical thread 0x%p (in %s)\n",
                Thread,
                THREAD_TO_PROCESS(Thread)->ImageFileName);
    }

    if (DirectTerminate && Thread == PsGetCurrentThread()) {

        ASSERT (KeGetCurrentIrql() < APC_LEVEL);

        PS_SET_BITS (&Thread->CrossThreadFlags, PS_CROSS_THREAD_FLAGS_TERMINATED);

        PspExitThread (ExitStatus);

        //
        // Never Returns
        //

    } else {
        //
        // Cross thread deletion of system threads won't work.
        //
        if (IS_SYSTEM_THREAD (Thread)) {
            return STATUS_ACCESS_DENIED;
        }
2007-11-9 21:56
0
雪    币: 239
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
哈哈,好久没看到鸡蛋了。一来就搞这么多花样。
2007-11-10 21:18
0
雪    币: 556
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
8
好旧的东西,早有人说怎么破解了.这种硬编码方式只能在xp系统上正常,。
2007-11-10 22:26
0
游客
登录 | 注册 方可回帖
返回
//