这里提供两段代码,可用于判断进程是32位还是64位。代码1BOOL Is64BitOS(){ typedef VOID (WINAPI *LPFN_GetNativeSystemInfo)( __out LPSYSTEM_INFO lpSystemInfo ); LPFN_GetNativeSys......
这段代码实现的效果是基于SEH异常实现的,一旦我们的进程崩溃了,则自动将其转存成一个dump文件,方便后期的分析工作。
欺骗任务管理器等行为工具,隐藏进程的另一种方法。原理是修改 EPROCESS 中的成员。如下分别提供驱动层伪装与应用层伪装的实现代码。
与断链隐藏进程功能类似,关于断链进程隐藏可参考《驱动开发:DKOM 实现进程隐藏》这一篇文章,断链隐藏驱动自身则用于隐藏自身SYS驱动文件,当驱动加载后那么使用ARK工具扫描将看不到自身驱动模块,此方法可能会触发PG会蓝屏,...
其中,当使用 CreateProcess 创建进程时,创建标志为 CREATE_SUSPENDED,则表示新进程的主线程被创建为挂起状态,直到使用 ResumeThread 函数恢复主线程,进程才会继续运行。...
异或加密ShellCode:#include <stdio.h>#include <Windows.h>unsigned char buf[] = "xbaxa9xb0x07x68xddxc3xd9x74x24xf4x5ex31xc9xb1";int main(int argc...
遍历进程#include <windows.h>#include <tlhelp32.h> //进程快照函数头文件#include <stdio.h>int main(){ int countProcess=0; //当前进......
为什么需要内存扩充技术?我们知道当并发运动的多个进程长度之和大于内存可用空间时,多道程序设计就会出现很多困难。内存扩充技术就是借助大容量的辅存,在逻辑上实现内存的扩充。常见的内存扩充技术有覆盖技术、交换技术...
根据优先级,进程分为实时进程和非实时进程(普通进程),Linux的进程优先级范围为[0, 139],其中实时进程优先级的范围为[0, 99],非实时进程的优先级为[100, 139),优先级的数值越低,说明优先级越高。...
当进程exit()退出之后,他的父进程没有通过wait()系统调用回收他的进程描述符的信息,该进程会继续停留在系统的进程表中,占用内核资源,这样的进程就是僵尸进程。...