|
[注意]服务器不稳定,这几天是过渡期,希望大家理解
被攻击那天,刚好是所谓的“69圣战”~~ |
|
[求助]KeAddSystemServiceTable的问题
赋值,把KeAddSystemServiceTable的地址保存至p,类型是PUCHAR |
|
[分享]绕过Win7 UAC 创建高权限进程
等bin~~ |
|
|
|
[分享]小菜学进程保护
楼主,可以进入下一个阶段了,尝试去掉硬编码,然后下下个阶段就是尝试inline hook~ |
|
|
|
[求助]如何判断自身进程被哪个进程结束?
挂 NtTerminateProcess ,然后 PsGetCurrentProcess就有了~~ |
|
[求助]ObQueryNameString获取进程路径的问题
http://hi.baidu.com/%BD%D0%CE%D2v%D0%A3/blog/item/c1982f024053d07b3912bb91.html 用完之后,记得释放~~不然资源会被消耗完~~ |
|
[求助]关于驱动程序里面使用 HOOK+全局变量 的分析和疑问
SSDT hook没见过谁用自旋锁~~ 要么#pragma LOCKEDDATA,要么自己申请非分页内存~~一般SSDT表里的函数都是运行在很低的IRQL上,没必要提升什么中断级别~ //把上面传过来的参数通过全局变量赋值到HideDirFile HideDirFile=HDF; 第一次见到ansi_string是这样赋值的 - -. 蛋痛~~ |
|
[求助]关于驱动程序里面使用 HOOK+全局变量 的分析和疑问
// 直接申请一个全局变量 用C的老写法 ANSI_STRING HDF={1,1,"0000"} 这个写法 - -! UNICODE_STRING 要打印,一般是 %wZ (UNICODE_STRING)Buffer 要打印,一般是 %ws ~~~基础啊~ |
|
|
|
[求助] 有谁做过explorer的监控程序呀。监控explorer打开的目录。找不到好方法呀
SSDT hook ZwCreateFile 吧~~~ |
|
[求助]获取函数句柄
还是一头雾水~~~ |
|
[求助]获取函数句柄
楼主去上大学吧~~ |
|
[分享][原创]另类阻止驱动加载
所有hips都可以拦截驱动的加载,那为什么还会有绕过,因为他们要从用户的角度,是否兼容其他软件的角度去考虑放行一些东西~~~ |
|
[求助]inline hook ObReferenceObjectByHandle为何在这两种情况下会蓝了?
NTSTATUS __stdcall fake_ObReferenceObjectByHandle( IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL ) { PVOID ProcessObject; PEPROCESS Process; NTSTATUS Status; char* findpointer=NULL; char* ProtectName = "XXX.exe"; if(*PsProcessType==ObjectType) //要检查的是*Object的type,而不是ObjectType { Status = org_ObReferenceObjectByHandle(Handle, DesiredAccess, ObjectType,AccessMode, &Process, NULL); if (NT_SUCCESS(Status)) { //函数虽然返回成功,但是你确定已经取到PEPROCESS了吗?不对Process检查会蓝死你 if(DesiredAccess == PROCESS_TERMINATE ) { if((findpointer=strstr((char*)((char*)Process + g_ImageFileName), ProtectName)) != NULL) { //检查IRQL了吗? strstr这个函数是无法在高级别的IRQL上跑,最好是 IRQL < APC_LEVEL return STATUS_ACCESS_DENIED; } } } } //return org_ObReferenceObjectByHandle(Handle,DesiredAccess,ObjectType,AccessMode,Object,HandleInformation); return org_ObReferenceObjectByHandle(Handle,DesiredAccess,ObjectType,AccessMode,*Object,HandleInformation); } 单纯fake函数上看就发现存在N个问题了~~~ |
|
[求助]HOOK KiFastCallEntry 遇到奇怪问题
http://forum.eviloctal.com/viewthread.php?tid=34640 |
|
[求助]关于hook ssdt 阻塞的问题
好像开源的hips很多吧? |
|
贴段代码,需要的拿走
我贴一个吧,由EPROCESS得到进程全路径,网上找的: PVOID pCurProcess; ULONG pCurProcess_offset; POBJECT_NAME_INFORMATION pObjNameInfo =NULL; static size_t s_cf_proc_name_offset = 0; void cfCurProcNameInit() //这个函数放在DriverEntry中执行才有效果 { ULONG i; PEPROCESS curproc; curproc = PsGetCurrentProcess(); // 搜索EPROCESS结构,在其中找到字符串 for(i=0;i<3*4*1024;i++) { if(!strncmp("System",(PCHAR)curproc+i,strlen("System"))) { s_cf_proc_name_offset = i; DbgPrint("s_cf_proc_name_offset: %x\n",s_cf_proc_name_offset); break; } } } pCurProcess = PsGetCurrentProcess(); pCurProcess_offset = s_cf_proc_name_offset + 0x80; //SE_AUDIT_PROCESS_CREATION_INFO SeAuditProcessCreationInfo = s_cf_proc_name_offset + 0x80; pObjNameInfo = *(POBJECT_NAME_INFORMATION *)((DWORD)pCurProcess+pCurProcess_offset); if(MmIsAddressValid(pObjNameInfo)) //地址有效,有时候,有时候pObjNameInfo会是NULL,所以要做检查 { DbgPrint("processoffset %x processname: %ws\r\n",pCurProcess_offset,pObjNameInfo->Name.Buffer); } |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值