|
[招聘]深圳市快播科技招逆向分析工程师_update2_暂停
不错啊不错 就是找不到联系方式了! |
|
[注意]看雪论坛鼎力打造---2008年力作《加密与解密》(第三版)[2008年6月上旬上市]
非常期待 非常强大的一本书啊。。顶。。。 |
|
[求助]用PsCreateSystemThread创建的内核进程怎么让他暂停啊?
我的代码是这样的 #include<ntddk.h> #include<windef.h> #include<ntdef.h> ///////////////////////////////////// void OnUnload(IN PDRIVER_OBJECT DriverObject); ////////////////////////////////////// LARGE_INTEGER liTime; HANDLE hThread; ULONG ZwSTAddr=0x805ca69e; ULONG IsOk; UNICODE_STRING DerName,DerName2; PDEVICE_OBJECT pDevObj; #define IOCTL_STARTTHREAD (ULONG)CTL_CODE(FILE_DEVICE_UNKNOWN, 0x852, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA ) #define IOCTL_STOPTHREAD (ULONG)CTL_CODE(FILE_DEVICE_UNKNOWN, 0x853, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA ) NTSTATUS DisPatchCreateClose(PDEVICE_OBJECT pDriverObj,PIRP pIrp) { DbgPrint("DisPatchCreate!"); pIrp->IoStatus.Status=STATUS_SUCCESS; IoCompleteRequest(pIrp,IO_NO_INCREMENT); return STATUS_SUCCESS; } ////////////////////////////////////// void MyWorkThread(IN PVOID pContext) { liTime =RtlConvertLongToLargeInteger(-(LONG)1000* 10000); //Callers of KeDelayExecutionThread must be running at IRQL <= APC_LEVEL. while(1) { KeDelayExecutionThread(KernelMode,TRUE,&liTime); DbgPrint("Thread Is Still Alive"); } } NTSTATUS DispatchDeviceControl(IN PDEVICE_OBJECT DeviceObject,IN PIRP pIrp) { NTSTATUS status=STATUS_INVALID_DEVICE_REQUEST; PIO_STACK_LOCATION pIrpStack=IoGetCurrentIrpStackLocation(pIrp); ULONG uIoControlCode=pIrpStack->Parameters.DeviceIoControl.IoControlCode; PVOID pInputBuffer= pIrpStack->Parameters.DeviceIoControl.Type3InputBuffer; PVOID pOutputBuffer=pIrp->UserBuffer; ULONG uInsize=pIrpStack->Parameters.DeviceIoControl.InputBufferLength; ULONG uOutsize=pIrpStack->Parameters.DeviceIoControl.OutputBufferLength; //DbgPrint("DispatchDeviceControl Code:%X",uIoControlCode); switch(uIoControlCode) { case IOCTL_STARTTHREAD: { IsOk=PsCreateSystemThread(&hThread,(ACCESS_MASK)0,NULL,(HANDLE)0,NULL,MyWorkThread,NULL); DbgPrint("Have Start MyStartThread IsOk=0x%08X hThread=0x%08X",IsOk,hThread); break; } case IOCTL_STOPTHREAD: { __asm { push 0 push hThread call ZwSTAddr mov IsOk,eax } DbgPrint("Have Stop MyStartThread IsOk=0x%08X hThread=0x%08X",IsOk,hThread); break; } break; default: break; } if(status==STATUS_SUCCESS) pIrp->IoStatus.Information=uOutsize; else pIrp->IoStatus.Information=0; pIrp->IoStatus.Status=status; IoCompleteRequest(pIrp,IO_NO_INCREMENT); return status; } /////////////////////////////////////////////////// NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath) { NTSTATUS status=STATUS_SUCCESS; ULONG i; for(i= 0;i<IRP_MJ_MAXIMUM_FUNCTION;++i) DriverObject->MajorFunction[i] = DisPatchCreateClose; DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]=DispatchDeviceControl; DriverObject->DriverUnload = OnUnload; RtlInitUnicodeString(&DerName,L"\\Device\\MyStartThread"); status=IoCreateDevice(DriverObject,0,&DerName,FILE_DEVICE_UNKNOWN,0,FALSE,&pDevObj); if(!NT_SUCCESS(status)) { DbgPrint("IoCreateDevice Fail!"); return status; } RtlInitUnicodeString(&DerName2,L"\\??\\MyStartThreadDos"); status=IoCreateSymbolicLink(&DerName2,&DerName); if(!NT_SUCCESS(status)) DbgPrint("IoCreateSymbolicLink fail!"); DbgPrint("MyStartThread Load!"); return status; } ///////////////////////////////////////////////////// VOID OnUnload(IN PDRIVER_OBJECT DriverObject) { if(IoDeleteSymbolicLink(&DerName2)!=STATUS_SUCCESS) DbgPrint("DeleteSymbolicLink Fail!"); IoDeleteDevice(DriverObject->DeviceObject); DbgPrint("MyStartThread Unhooker unload!"); } |
|
[求助]用PsCreateSystemThread创建的内核进程怎么让他暂停啊?
我试过 NtSuspendThread 了。不行的。返回的的是 拒绝访问的错误 0xC0000022 返回值。。 郁闷了。。有其他的方法么。。 |
|
[求助]用PsCreateSystemThread创建的内核进程怎么让他暂停啊?
NtSuspendThread或者PsSuspendThread或者KeSuspendThread 不是停止ring的么 ring的suspendthread最终还是会调用的。。 |
|
[求助]哪位热心的大侠帮我看下这个是什么壳啊。
??? 还是没有人来啊?? |
|
[求助]哪位热心的大侠帮我看下这个是什么壳啊。
没有人么、? 各位老大。。。 |
|
[求助]中病毒了,给病毒脱壳的时候脱不了,望高手帮忙.
哇塞 版主太NB了....佩服.... I 服了 YOU |
|
[讨论]怎么用编程关闭天网进程啊?
懂了,,原来是这样啊... 谢谢大家呢... |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值