记忆中的函数

来源:互联网 发布:linux安装samba 编辑:程序博客网 时间:2024/04/30 01:59
一、OpenProcessToken要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限。可是,就算我们用Administrator帐号对一个系统安全进程执行OpenProcess(PROCESS_ALL_ACCESS,FALSE,         dwProcessID)还是会遇到“访问拒绝”的错误。什么原因呢?原来在默认的情况下进程的一些访问权限是没有被使能(Enabled)的,所以我们要做的首先是使能这些权限。与此相关的一些API函数有OpenProcessToken、LookupPrivilegevalue(查询进程的权限)、AdjustTokenPrivileges(判断令牌权限 要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限)。我们要修改一个进程的访问令牌,首先要获得进程访问令牌的句柄,这可以通过OpenProcessToken得到,函数的原型如下:BOOL      OpenProcessToken(           HANDLE      ProcessHandle,       //要修改访问权限的进程句柄           DWORD      DesiredAccess,        //指定你要进行的操作类型           PHANDLE      TokenHandle         //返回的访问令牌指针     );           第一参数是要修改访问权限的进程句柄;第三个参数就是返回的访问令牌指针;第二个参数指定你要进行的操作类型,如要修改令牌我们要指定第二个参数为TOKEN_ADJUST_PRIVILEGES(其它一些参数可参考Platform         SDK)。通过这个函数我们就可以得到当前进程的访问令牌的句柄(指定函数的第一个参数为GetCurrentProcess()就可以了)。接着我们可以调用AdjustTokenPrivileges对这个访问令牌进行修改


二、先利用"LookupPrivilegeValueA","AdjustTokenPrivileges"提升自己的运行权限,然后遍历系统所有进程,查找下列进程: "360Safe.exe", "360tray.exe"现上述中的进程,则利用"TerminateProcess"关掉进程,使当前系统失去保护.
原创粉丝点击