查看完整版本: 一段杀线程的代码

liupingtg 2008-7-29 19:39

一段杀线程的代码

大家仔细看看吧! Rr6}$]1  
6PdLJ#LS  
/* uo[W|Q  
        TerminateThread.c *d mS'/  
                a5nA'=|}i  
*/ =dDr:Y<@*  
ds;c\x  
#include "ntddk.h" lXOT>$qR<  
#include "LDasm.h" //网上很多的,自己找一个好了。 ?`T-A\A=  
\ _l4li  
typedef enum _KAPC_ENVIRONMENT { RAB'%CY4  
  originalApcEnvironment, $~)YI/b  
  AttachedApcEnvironment, r<c&;*  
  CurrentApcEnvironment, CWa~~h<r-  
  InsertApcEnvironment e6gLYhf&  
} KAPC_ENVIRONMENT; Y1R?, 5  
/I &wh  
NTKERNELAPI $i@I|y/  
VOID ,ygUy]  
KeInitializeApc ( #Q'#/\5  
        PKAPC Apc, 3~1Gts  
        PETHREAD Thread, #I1q,fm  
        KAPC_ENVIRONMENT Environment, ohjl*dw  
        PKKERNEL_ROUTINE KernelRoutine, Z/czAr@4  
        PKRUNDOWN_ROUTINE RundownRoutine, 0 9qfnQG  
        PKNORMAL_ROUTINE NormalRoutine, UA|\D]xe  
        KPROCESSOR_MODE ProcessorMode, }Ogb|8  
        PVOID NormalContext {Fqwr>e  
        ); 5|cRHM#  
mfG m>U  
NTKERNELAPI XOLE=zdSp  
BOOLEAN 3-&~jm~"  
KeInsertQueueApc ( vZW[y5   
        PKAPC Apc, *{P/3yH  
        PVOID SystemArgument1, %`QgG   
        PVOID SystemArgument2, X&kp1Ih<^  
        KPRIORITY Increment TEh.?  
        );  TQmrL  
]%y>l j?Y  
#define PS_CROSS_THREAD_FLAGS_SYSTEM 0x00000010UL " :vEWp+g  
)UM^#<-  
ULONG GetThreadFlagsOffset() G<Eb~]. 1'  
{ 0#Lmajs  
  UCHAR *cPtr, *pOpcode; A+gS'DZ9C  
  ULONG Length; 9O:l0 l  
  USHORT Offset;  u\L}B!  
y/c3x*l.xL  
  for (cPtr = (PUCHAR)PsTerminateSystemThread; N{S) b  
    cPtr < (PUCHAR)PsTerminateSystemThread + 0x100; C_kuW+H  
    cPtr += Length) M|K^u.4  
  { e5>'H!)  
    Length = SizeOfCode(cPtr, &pOpcode); gK`w|kh`  
<3x%-m+p4  
    if (!Length) break;  #mw !_]  
    if (*(USHORT *)pOpcode == 0x80F6) //f6804802000010 test byte ptr [eax+248h],10h G/<zd)  
    { vKG\8+  
      Offset=*(USHORT *)((ULONG)pOpcode+2); BsIF3sS#9  
      return Offset; ORs :S$Nt$  
      //break; 1@}F8&EZ  
    } FBNLszT{L  
  } vn^O m-\  
  return 0; DWt|lO  
} wf\"&xwh?  
.KA-=$~J1  
VOID KernelTerminateThreadRoutine( u?Ffqt9'  
                IN PKAPC Apc, 'v6@5t19j  
                IN OUT PKNORMAL_ROUTINE *NormalRoutine, U6M ~N0)Yr  
                IN OUT PVOID *NormalContext, ka9@7IFM  
                IN OUT PVOID *SystemArgument1, 4E^ ?}_$  
                IN OUT PVOID *SystemArgument2 J?8Mo=UZz  
                ) 4Hj)Av <O(  
{ %10ONe}  
  ULONG ThreadFlagsOffset=GetThreadFlagsOffset(); WO qDW~  
  PULONG ThreadFlags; 1+FVM\<&  
  DbgPrint("[TerminateThread] KernelTerminateThreadRoutine.\n"); FiUQ2w4  
  ExFreePool(Apc); k>($[;k|b  
  if (ThreadFlagsOffset) &<F9Z2^  
  { TjUwe@&Rw  
    ThreadFlags=(ULONG *)((ULONG)(PsGetCurrentThread())+ThreadFlagsOffset); #PkuCWm6  
    *ThreadFlags=(*ThreadFlags)|PS_CROSS_THREAD_FLAGS_SYSTEM; 981-[ga `Y  
    PsTerminateSystemThread(STATUS_SUCCESS); //o(∩_∩)o c*IrZm  
  } 0 +=sBk (  
  else 8['R D`O  
  { rpow@@ad<  
    //failed '09|Y#F  
  }  t`o"K  
  return; //never be here $)M3fZ$#  
} !l[;,l   
Ln>!4i+-B)  
BOOLEAN TerminateThread(PETHREAD Thread) !^arWH[od  
{ >_}isCd,  
  PKAPC Apc=NULL; x{R440"  
  BOOLEAN blnSucceed=FALSE; rL5=8l  
  if (!MmIsAddressValid(Thread)) return FALSE; //error. YSnh2 Bq  
  Apc=ExAllocatePool(NonPagedPool,sizeof(KAPC)); h#0n2o#  
  KeInitializeApc(Apc, wv\X  
    Thread, {it.F4.  
    originalApcEnvironment, l,@>J9}Se  
    KernelTerminateThreadRoutine, S m(*<H  
    NULL, ~n 'A1  
    NULL, P-X|qVNK1Z  
    KernelMode, l!p`g>$&f  
    NULL); //special apc - whether alertable or not makes no difference.. J6#h~fpv  
  blnSucceed=KeInsertQueueApc(Apc, CPZ{  
    NULL, [Qs`@u<%  
    NULL, s9C^Cy^su  
    0); b`e_}^,c  
  //add some code works like KeForceResumeThread here. ~ZafTCa;  
  return blnSucceed; ;Am3eJa*-  
} 59nRk}^$se  
F w{:shC  
VOID DriverUnload(PDRIVER_OBJECT pDriverObj) {^oohW -  
{  2wpJ)t*PF  
  DbgPrint("[TerminateThread] Unloaded\n"); #GGa,@O  
} e\~nqKCb  
o"Xv)#g&  
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString) aUL7 ]'q}  
{ <IWg]AJT :  
  DbgPrint("[TerminateThread] DriverEntry.\n"); <5L99<E  
  TerminateThread((PETHREAD)0xff6f3c70); // for test '-myOM7  
  pDriverObj->DriverUnload = DriverUnload; iUz?mt;k  
  return STATUS_SUCCESS; //do NOT return an unsuccessful value here, or you need to wait for apc routine return. kmW/{I9,ua  
} C_3,|Zq?|

tangguo520 2008-8-6 07:02

谢谢```试哈啊`:lol :lol :lol

lovebcbm 2008-11-14 19:21

看那白云深处

[color=black]  隔河相望,山那边那片白云,一直停留老地方。今天看白云深处,一片迷糊,不知所已,明天看白云浓处,朦朦胧胧,很不清楚。年年月月看白云深处,云仍是云,仍不知是什么。
  “白云深处有人家”,这句诗深深刻在我脑海。然而,我天天看白云深处,却不见有人出入。我更未看到白云中有亭台楼阁存在。在天气晴朗时,透过五彩缤纷的阳光,远望白云深处,似乎形影绰绰,有人攒动。可是,我竭尽全力,转弯抹角走到山那边时,早先看到[/color][url=http://www.laohujipojie.cn/][color=black]老虎ji破/解[/color][/url][color=black]的地方,却是空荡荡,什么也没有。往前看,白云连着白云,天上地下都有白云[/color][url=http://www.laohujipojie.cn/][color=black]老虎ji破/解器[/color][/url][color=black]飘浮,白云深处,仍是盲盲一团影子。乌风黑雨的天气,山那边白云飘浮的地方,却是浓烟滚滚,迷雾遮天,连白云的影子也看不见,就更难知白云深处是什么世界。
  我十分渴望知道白云深处,是因为我从呀呀学语时起,就听爷爷奶奶们讲过,那白云深处,是洞天别府,是世外桃源,是仙人出入之地。然而,我多次走到我看见过有白云[/color][url=http://www.okykq.com/][color=black]老虎/机定位器[/color][/url][color=black]的地方,却什么也没看见。山还是那山,水还是那水,就是没有仙人影子。只是我有些迷惑不解的是,我无论走多远,总一直有[/color][url=http://www.okykq.com/][color=black]老虎/机上分器[/color][/url][color=black]片白云在我前面。隔河相望,前面的白云模模糊糊,想方设法走到隔河看见的白云飘浮的地方,那儿什么也没有,我前面的白云却仍是朦朦胧胧。
  我又一次捧读陶渊明先生的桃花源记,使我明白了一点,桃源,只是别具慧眼的五柳先生才可进入,凡夫俗子岂能进入桃源世界。我本凡夫俗子,想凭借一个凡胎,一双凡眼,去看透白云深处的仙家世界,那只是痴心妄想而已。我听人说起过仙佛之事,就是成仙成佛之人,必须有慧根慧眼。除此之外,还得有仙缘,佛缘。若无仙缘,佛缘,要想见仙见佛[/color][url=http://www.okykq.com/][color=black]老虎/机遥控器[/color][/url][color=black]一面,也是难上加难。我既无慧根,慧眼,又没什么仙缘,佛缘,就痴心妄想知道白云深处神仙世界的秘密,那当然根本不可能。
  我必须等待。等到有仙机仙缘那一天。等到有慧根慧眼那天。这世不行,就等到来生吧。[/color]

crm8848a 2008-11-17 18:58

支持

软件名称: 豪创电话销售管理系统
软件类别:[url=http://www.crm8848.com]电话销售管理软件[/url]/CRM/电话营销软件
软件类别:国产软件
软件语言:简体中文
应用平台:Win2003, WinXp, Win2000
官方网站:http://www.crm8848.com
免费下载: http://www.crm8848.com/downloadcenter_ask.asp
软件简介:
    一套完全构建于[url=http://www.crm8848.com]电话销售[/url]实战经验基础上的[url=http://www.crm8848.com]电话销售管理系统[/url]。
以一条流程化、专注于细节管理和务实的销售漏斗平台为核
心,充分发挥销售漏斗模式融合销售话术支持,明确销售目标,
激发销售人员去创造更多的业绩!

主要功能模块:
销售主线 + 销售话术 + 销售文档 + 售后管理 + 综合报表
团队管理 + 电话录音 + 来电弹屏 + 自动拨号 + 短信发送

软件分单机版和团队网络版,支持多用户集中管理,支持Access,SQL Server数据库

电话销售-电话营销软件-销售管理软件-CRM-豪创电话销售管理系统
www.crm8848.com
页: [1]
查看完整版本: 一段杀线程的代码