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