maps123
驱动牛犊
驱动牛犊
  • 注册日期2007-08-01
  • 最后登录2007-09-15
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值1点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:6046回复:20

PSPTerminateprocess 结束不掉的程序

楼主#
更多 发布于:2007-08-01 03:36
如题
在google偶然搜到一个程序
竟然是用VB做的。
附件名称/大小 下载次数 最后更新
KiLLME.rar (7KB)  599 2007-08-01 03:36
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-08-01 09:54
引用第0楼maps123于2007-08-01 03:36发表的 PSPTerminateprocess 结束不掉的程序 :
如题
在google偶然搜到一个程序
竟然是用VB做的。

看了下,好像是虽然调用程序成功,但实际上并没结束,做了个DS的强制删除测试,可以结束,
去掉了很多功能,所以仅供本次测试删除使用。测试环境为XPSP2。
附件名称/大小 下载次数 最后更新
DarkSpy.zip (375KB)  359 2007-08-01 09:54
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
kxsystem
驱动牛犊
驱动牛犊
  • 注册日期2006-11-25
  • 最后登录2011-08-29
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望56点
  • 贡献值0点
  • 好评度48点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-01 10:58
炉子做的.....

提了system Thread (他跟我说的...)
kxsystem
驱动牛犊
驱动牛犊
  • 注册日期2006-11-25
  • 最后登录2011-08-29
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望56点
  • 贡献值0点
  • 好评度48点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-01 10:59
炉子的simple_taskmgr可以终止它,KeInsertQueueAPC
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2007-08-01 11:35
pspxxxxthreadxxxx里检测到是system thread就直接c0000005了,呵呵,此法对APC无效,对RKU那种erase也无效~(虽然会留个僵尸~)
我讨厌KDOM~
驱动开发者 呵呵
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2007-08-01 11:58
看了下,居然用的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;
        }


呵呵 ,没什么意思,之前某f神神秘秘不敢放出来,问它是不是改system thread的还说不是~哈
驱动开发者 呵呵
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2007-08-01 13:28
- - 用了下那个darkspy,系统直接卡住。。。WOW我恨你。。。
驱动开发者 呵呵
123456789012
驱动牛犊
驱动牛犊
  • 注册日期2006-04-07
  • 最后登录2009-11-08
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望61点
  • 贡献值0点
  • 好评度60点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2007-08-01 17:35
引用第5楼WQXNETQIQI于2007-08-01 11:58发表的  :
看了下,居然用的NtSystemDebugControl读写的内存~~

关键代码如下:
.text:00402F6B                 mov     ecx, [ecx+0Ch]
.text:00402F6E                 or      ebx, 0FFFFFFFFh
.......

某f是我吧,呵呵,炉子!=我,明白?我不是改这个的。
123456789012
驱动牛犊
驱动牛犊
  • 注册日期2006-04-07
  • 最后登录2009-11-08
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望61点
  • 贡献值0点
  • 好评度60点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2007-08-01 17:48
引用第1楼wowocock于2007-08-01 09:54发表的  :

看了下,好像是虽然调用程序成功,但实际上并没结束,做了个DS的强制删除测试,可以结束,
去掉了很多功能,所以仅供本次测试删除使用。测试环境为XPSP2。

MS VPC + Windows XP SP2,直接蓝屏。
maps123
驱动牛犊
驱动牛犊
  • 注册日期2007-08-01
  • 最后登录2007-09-15
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值1点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-08-01 19:08
用VBRezQ正式版反编译一下。。。
API函数还是一清二楚的
zjjmj2002
驱动小牛
驱动小牛
  • 注册日期2007-04-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望321点
  • 贡献值0点
  • 好评度224点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2007-08-01 19:38
嗯,的确是把线程改成System Thread,还过俺这破玩意儿可以结束之。
俺可是通过反ntoskrnl.exe自己实现的PsGetNextProcessThread();
本来是想把PspTerminateThreadByPointer()也反了的,不过在PspExitThread()上卡住了,不知道有谁反过这个函数,DDK能编译的哈。

事实上要保护自己实在是太困难了,要搞破坏太容易了!
附件名称/大小 下载次数 最后更新
进程管理器.rar (10KB)  103 2007-08-01 19:38
imaoge
驱动牛犊
驱动牛犊
  • 注册日期2006-04-29
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望29点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-08-02 09:30
上面2-10楼的没看懂,只会应用。
用icesword强制结束线程的方法能结束掉。好像我说的文不对题。
MJ0011的那个360FileKill v1.6.0002的确很强,轻松干掉任何文件,现在为止还没有碰到干不掉的。佩服。
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-08-07 15:44
引用第10楼zjjmj2002于2007-08-01 19:38发表的  :
嗯,的确是把线程改成System Thread,还过俺这破玩意儿可以结束之。
俺可是通过反ntoskrnl.exe自己实现的PsGetNextProcessThread();
本来是想把()也反了的,不过在PspExitThread()上卡住了,不知道有谁反过这个函数,DDK能编译的哈。

事实上要保护自己实在是太困难了,要搞破坏太容易了!



老大,我试了试你的这个,好像结束不了啊~
jiahai521
驱动牛犊
驱动牛犊
  • 注册日期2009-02-13
  • 最后登录2009-02-21
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2009-02-21 17:20
Lz 能不能把源代码给俺一份啊!
需要的很啊!
 
coyove
驱动牛犊
驱动牛犊
  • 注册日期2009-03-08
  • 最后登录2009-05-18
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2009-04-11 15:54
我发不了附件吗???????
要源码告诉我mail(不是原作,是GGY OEM版本)
sunrain232
驱动牛犊
驱动牛犊
  • 注册日期2007-02-05
  • 最后登录2010-05-31
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2009-04-17 14:55
回 14楼(coyove) 的帖子
我要一份,sunrain232@163.com ,谢谢!
wenjin227
驱动牛犊
驱动牛犊
  • 注册日期2007-04-11
  • 最后登录2010-03-12
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望37点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2009-04-27 20:11
07年啊,学习,LS要源码搞啥,现在干掉他的太多了。
jorenboy
驱动牛犊
驱动牛犊
  • 注册日期2008-07-19
  • 最后登录2010-03-21
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望178点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2009-06-08 20:00
回 楼主(maps123) 的帖子
NtSystemDebugControl   改CrossThreadFlags标志的.

结束也很容易, 把CrossThreadFlags标志改回来再删除
wjwmz
驱动牛犊
驱动牛犊
  • 注册日期2009-06-30
  • 最后登录2011-07-27
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2009-08-15 10:19
通过写内核空间使插APC失效
zhzh511
驱动牛犊
驱动牛犊
  • 注册日期2009-12-19
  • 最后登录2009-12-19
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2009-12-19 13:13
我靠,你们都是告诉,发些exe;连代码都要反汇编,你们这些sb真tmd的有时间,尤其是楼主这种垃圾,我看你时间多了,多去破解几个软件嘛,没事在这里误导我们这些菜鸟。
上一页
游客

返回顶部