最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

易語(yǔ)言NTAPI進(jìn)程操縱的代碼

 更新時(shí)間:2018年11月24日 11:15:47   作者:易語(yǔ)言源碼教程  
今天小編就為大家分享一篇關(guān)于易語(yǔ)言NTAPI進(jìn)程操縱的代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

本程序?qū)崿F(xiàn)的功能:

  • 打開(kāi)進(jìn)程_強(qiáng)力
  • 進(jìn)程暫停
  • 取api函數(shù)地址
  • 進(jìn)程結(jié)束
  • 進(jìn)程結(jié)束_強(qiáng)力
  • 進(jìn)程_NT內(nèi)存清零
  • 進(jìn)程_取自進(jìn)程ID
  • 進(jìn)程_提高權(quán)限
  • Kill_Process命令

DLL命令表

.版本 2
.DLL命令 打開(kāi)進(jìn)程_, 整數(shù)型, "kernel32.dll", "OpenProcess", 公開(kāi), 將句柄返回給過(guò)程對(duì)象
  .參數(shù) 進(jìn)程對(duì)象, 整數(shù)型, , dwDesiredAccess 
  .參數(shù) 繼承句柄, 整數(shù)型, , bInheritHandle  
  .參數(shù) 進(jìn)程標(biāo)識(shí)符, 整數(shù)型, , dwProcessId
.DLL命令 ZwOpenProcess, 整數(shù)型, "ntdll.dll", "ZwOpenProcess", 公開(kāi)
  .參數(shù) hProcess, 整數(shù)型, 傳址
  .參數(shù) DesiredAccess, 整數(shù)型
  .參數(shù) ObjectAttributes, OBJECT_ATTRIBUTES
  .參數(shù) ClientId, CLIENT_ID
.DLL命令 ZwQuerySystemInformation, 整數(shù)型, "ntdll.dll", "ZwQuerySystemInformation"
  .參數(shù) SystemInformationClass, 整數(shù)型, , 未知類(lèi)型:SYSTEM_INFORMATION_CLASS。
  .參數(shù) SystemInformation, 字節(jié)集, , any
  .參數(shù) SystemInformationLength, 整數(shù)型
  .參數(shù) ReturnLength, 整數(shù)型, 傳址
.DLL命令 取指針_字節(jié)集, 整數(shù)型, , "lstrcpyn", 公開(kāi), 常規(guī)API
  .參數(shù) 欲取其指針, 字節(jié)集, 傳址
  .參數(shù) 欲取其指針, 字節(jié)集, 傳址
  .參數(shù) 保留, 整數(shù)型, , 0
.DLL命令 RtlMoveMemory3, 整數(shù)型, , "RtlMoveMemory", 公開(kāi), 常規(guī)API,從地址讀一個(gè)整數(shù)
  .參數(shù) dest, 整數(shù)型, 傳址
  .參數(shù) Source, 整數(shù)型
  .參數(shù) len, , , 4
.DLL命令 RtlMoveMemory1, 整數(shù)型, , "RtlMoveMemory", , 常規(guī)API
  .參數(shù) dest, SYSTEM_HANDLE_TABLE_ENTRY_INFO
  .參數(shù) Source, 整數(shù)型
  .參數(shù) len
.DLL命令 ZwDuplicateObject, 整數(shù)型, "ntdll.dll", , 公開(kāi)
  .參數(shù) SourceProcessHandle, 整數(shù)型
  .參數(shù) SourceHandle, 整數(shù)型
  .參數(shù) TargetProcessHandle, 整數(shù)型
  .參數(shù) TargetHandle, 整數(shù)型, 傳址
  .參數(shù) DesiredAccess, 整數(shù)型
  .參數(shù) HandleAttributes, 整數(shù)型
  .參數(shù) Options, 整數(shù)型
.DLL命令 ZwQueryInformationProcess, 整數(shù)型, "ntdll.dll", "ZwQueryInformationProcess"
  .參數(shù) SystemInformationClass, 整數(shù)型, , 未知類(lèi)型:SYSTEM_INFORMATION_CLASS。
  .參數(shù) dd, 整數(shù)型
  .參數(shù) SystemInformation, PROCESS_BASIC_INFORMATION, , any
  .參數(shù) SystemInformationLength, 整數(shù)型
  .參數(shù) ReturnLength, 整數(shù)型, 傳址
.DLL命令 ZwClose, 整數(shù)型, "ntdll.dll", "ZwClose", 公開(kāi), 關(guān)閉進(jìn)程句柄
  .參數(shù) handle
.DLL命令 取函數(shù)地址_, 整數(shù)型, "kernel32", "GetProcAddress", , 返回函數(shù)地址
  .參數(shù) 模塊句柄, 整數(shù)型
  .參數(shù) 函數(shù)名, 文本型
.DLL命令 取模塊句柄_, 整數(shù)型, "kernel32", "GetModuleHandleA", , 獲取一個(gè)應(yīng)用程序或動(dòng)態(tài)鏈接庫(kù)的模塊句柄 如執(zhí)行成功成功,則返回模塊句柄。零表示失敗。會(huì)設(shè)置GetLastError
  .參數(shù) 模塊名, 文本型, , 指定模塊名,這通常是與模塊的文件名相同的一個(gè)名字。例如,NOTEPAD.EXE程序的模塊文件名就叫作NOTEPAD;
.DLL命令 _動(dòng)態(tài)調(diào)用子程序, 整數(shù)型, , "CallWindowProcA"
  .參數(shù) 動(dòng)態(tài)調(diào)用代碼, 字節(jié)集, , 字節(jié)集代碼
  .參數(shù) 子程序, 整數(shù)型, , 子程序指針 到整數(shù)(子程序指針)
  .參數(shù) 參數(shù), 整數(shù)型, 數(shù)組, 為整數(shù)數(shù)組,參數(shù)1為成員1…類(lèi)推;文本型和字節(jié)集型(自定義結(jié)構(gòu))為指針
  .參數(shù) 參數(shù)數(shù)目, 整數(shù)型, , 一定要和參數(shù)數(shù)組相符,不然會(huì)出錯(cuò)
  .參數(shù) 是否C調(diào)用, 邏輯型, , 真為cdecl調(diào)用方式,假為stdcall調(diào)用方式(即標(biāo)準(zhǔn)WINAPI方式)
.DLL命令 ZwCreateJobObject, 整數(shù)型, "ntdll.dll", , 公開(kāi)
  .參數(shù) JobHandle, 整數(shù)型, 傳址
  .參數(shù) DesiredAccess, 整數(shù)型
  .參數(shù) ObjectAttributes, OBJECT_ATTRIBUTES
.DLL命令 關(guān)閉內(nèi)核對(duì)象_, 整數(shù)型, "kernel32.dll", "CloseHandle", 公開(kāi), $(b)非零表示成功,零表示失敗
  .參數(shù) 對(duì)象句柄, 整數(shù)型, , hObject,欲關(guān)閉的一個(gè)對(duì)象的句柄
.DLL命令 TerminateProcess_, 整數(shù)型, "kernel32", "TerminateProcess", , 結(jié)束一個(gè)進(jìn)程 非零表示成功,零表示失敗。會(huì)設(shè)置GetLastError
  .參數(shù) hProcess, 整數(shù)型, , 指定要中斷的一個(gè)進(jìn)程的句柄
  .參數(shù) uExitCode, 整數(shù)型, , 進(jìn)程的一個(gè)退出代碼;
.DLL命令 ZwAssignProcessToJobObject, 整數(shù)型, "ntdll.dll", , 公開(kāi)
  .參數(shù) JobHandle, 整數(shù)型
  .參數(shù) ProcessHandle, 整數(shù)型
.DLL命令 ZwTerminateJobObject, 整數(shù)型, "ntdll.dll", , 公開(kāi)
  .參數(shù) JobHandle, 整數(shù)型
  .參數(shù) ExitStatus, 整數(shù)型
.DLL命令 ZwTerminateProcess, 整數(shù)型, "ntdll.dll", , 公開(kāi)
  .參數(shù) ProcessHandle, 整數(shù)型
  .參數(shù) ExitStatus, 整數(shù)型
.DLL命令 ZwProtectVirtualMemory, 整數(shù)型, "NTDLL.DLL", "ZwProtectVirtualMemory"
  .參數(shù) ProcessHandle, 整數(shù)型
  .參數(shù) BaseAddress, 整數(shù)型
  .參數(shù) RegionSize, 整數(shù)型
  .參數(shù) NewProtect, 整數(shù)型
  .參數(shù) OldProtect, 整數(shù)型
.DLL命令 ZwWriteVirtualMemory, 整數(shù)型, "NTDLL.DLL", "ZwWriteVirtualMemory"
  .參數(shù) ProcessHandle, 整數(shù)型
  .參數(shù) BaseAddress, 整數(shù)型
  .參數(shù) pBuffer, 字節(jié)集
  .參數(shù) NumberOfBytesToWrite, 整數(shù)型
  .參數(shù) NumberOfBytesWritten, 整數(shù)型, 傳址
.DLL命令 RtlAdjustPrivilegeA, 整數(shù)型, "ntdll.dll", "RtlAdjustPrivilege"
  .參數(shù) Privilege, 整數(shù)型
  .參數(shù) Enable, 邏輯型
  .參數(shù) Client, 邏輯型
  .參數(shù) WasEnabled, 整數(shù)型, 傳址
.DLL命令 API_CreateRemoteThread, 整數(shù)型, "kernel32", "CreateRemoteThread", , 在另一進(jìn)程中建立線索
  .參數(shù) hProcess, 整數(shù)型
  .參數(shù) lpThreadAttributes, SECURITY_ATTRIBUTES
  .參數(shù) dwStackSize, 整數(shù)型
  .參數(shù) lpStartAddress, 整數(shù)型
  .參數(shù) lpParameter, 整數(shù)型
  .參數(shù) dwCreationFlags, 整數(shù)型
  .參數(shù) lpThreadId, 整數(shù)型
.DLL命令 CreateToolhelp32Snapshot, 整數(shù)型, "Kernel32.dll", "CreateToolhelp32Snapshot"
  .參數(shù) falg, 整數(shù)型
  .參數(shù) id, 整數(shù)型
.DLL命令 Thread32First, 整數(shù)型, "kernel32", "Thread32First"
  .參數(shù) hSnapshot, 整數(shù)型
  .參數(shù) lppe, THREADENTRY32
.DLL命令 OpenThread, 整數(shù)型, "kernel32", "OpenThread"
  .參數(shù) h, 整數(shù)型
  .參數(shù) a, 邏輯型
  .參數(shù) b, 整數(shù)型
.DLL命令 TerminateThread, 整數(shù)型, "NTDLL.DLL", "ZwTerminateThread"
  .參數(shù) hThread, 整數(shù)型
  .參數(shù) dwExitCode, 整數(shù)型
.DLL命令 Thread32Next, 整數(shù)型, "kernel32", "Thread32Next"
  .參數(shù) hSnapshot, 整數(shù)型
  .參數(shù) lppe, THREADENTRY32
.DLL命令 NtUnmapViewOfSection, 整數(shù)型, "ntdll.dll", "NtUnmapViewOfSection"
  .參數(shù) hProcess
  .參數(shù) addr
.DLL命令 LoadLibrary, 整數(shù)型, "kernel32", "LoadLibraryA", 公開(kāi)
  .參數(shù) lpLibFileName, 文本型
.DLL命令 DebugActiveProcess, 邏輯型, "kernel32", "DebugActiveProcess"
  .參數(shù) dwProcessId, 整數(shù)型

自定義數(shù)據(jù)類(lèi)型表

.版本 2
.數(shù)據(jù)類(lèi)型 CLIENT_ID, 公開(kāi), CLIENT_ID結(jié)構(gòu)包含進(jìn)程和線程的標(biāo)識(shí)符。
  .成員 UniqueProcess, 整數(shù)型, , , 進(jìn)程標(biāo)識(shí)符
  .成員 UniqueThread, 整數(shù)型, , , 線程標(biāo)識(shí)符
.數(shù)據(jù)類(lèi)型 OBJECT_ATTRIBUTES, 公開(kāi), OBJECT_ATTRIBUTES結(jié)構(gòu)指定屬性,可以應(yīng)用于對(duì)象或?qū)ο筇幚淼睦虅?chuàng)建對(duì)象和/或返回對(duì)象的處理。
  .成員 Length, 整數(shù)型
  .成員 RootDirectory, 整數(shù)型
  .成員 ObjectName, 整數(shù)型
  .成員 Attributes, 整數(shù)型
  .成員 SecurityDescriptor, 整數(shù)型
  .成員 SecurityQualityOfService, 整數(shù)型
.數(shù)據(jù)類(lèi)型 SECURITY_ATTRIBUTES, , 安全性結(jié)構(gòu);
  .成員 nLength, 整數(shù)型
  .成員 lpSecurityDescriptor, 整數(shù)型
  .成員 bInheritHandle, 整數(shù)型
.數(shù)據(jù)類(lèi)型 PROCESS_BASIC_INFORMATION, 公開(kāi)
  .成員 ExitStatus, 整數(shù)型
  .成員 PebBaseAddress, 整數(shù)型
  .成員 AffinityMask, 整數(shù)型
  .成員 BasePriority, 整數(shù)型
  .成員 UniqueProcessId, 整數(shù)型
  .成員 InheritedFromUniqueProcessId, 整數(shù)型
.數(shù)據(jù)類(lèi)型 MEMORY_BASIC_INFORMATION, 公開(kāi)
  .成員 BaseAddress, 整數(shù)型
  .成員 AllocationBase, 整數(shù)型
  .成員 AllocattionProtect, 整數(shù)型
  .成員 RegionSize, 整數(shù)型
  .成員 State, 整數(shù)型
  .成員 Protect, 整數(shù)型
  .成員 Type, 整數(shù)型
.數(shù)據(jù)類(lèi)型 SYSTEM_HANDLE_TABLE_ENTRY_INFO, 公開(kāi)
  .成員 UniqueProcessId, 短整數(shù)型
  .成員 CreatorBackTraceIndex, 短整數(shù)型
  .成員 ObjectTypeIndex, 字節(jié)型
  .成員 HandleAttributes, 字節(jié)型
  .成員 HandleValue, 短整數(shù)型
  .成員 pObject, 整數(shù)型
  .成員 GrantedAccess, 整數(shù)型
.數(shù)據(jù)類(lèi)型 THREADENTRY32
  .成員 dwsize, 整數(shù)型
  .成員 cntusage, 整數(shù)型
  .成員 th32threadID, 整數(shù)型
  .成員 th32OwnerProcessID, 整數(shù)型
  .成員 tpBasePri, 整數(shù)型
  .成員 tpDeltaPri, 整數(shù)型
  .成員 dwFlags, 整數(shù)型

常量數(shù)據(jù)表

.版本 2
.常量 PROCESS_ALL_ACCESS, "2035711", 公開(kāi)
.常量 STATUS_INFO_LENGTH_MISMATCH, "-1073741820", 公開(kāi)
.常量 STATUS_SUCCESS, "0", 公開(kāi)
.常量 PROCESS_QUERY_INFORMATION, "1024", 公開(kāi)
.常量 STATUS_INVALID_PARAMETER, "-1073741811", 公開(kāi)
.常量 OBJ_INHERIT, "2", 公開(kāi)
.常量 DUPLICATE_CLOSE_SOURCE, "1", 公開(kāi)
.常量 DUPLICATE_SAME_ACCESS, "2", 公開(kāi)
.常量 DUPLICATE_SAME_ATTRIBUTES, "4", 公開(kāi)
.常量 OB_TYPE_PROCESS, "5", 公開(kāi)
.常量 ZwGetCurrentProcess, "-1", 公開(kāi)
.常量 PROCESS_DUP_HANDLE, "64", 公開(kāi)
.常量 PAGE_EXECUTE_READWRITE, "64"
.常量 JOB_OBJECT_ALL_ACCESS, "2031647", 公開(kāi)

NTAPI進(jìn)程操縱代碼

.版本 2
.程序集 主程序集
.子程序 _啟動(dòng)子程序, 整數(shù)型
進(jìn)程_提高權(quán)限 ()
信息框 (進(jìn)程暫停 (3796, 假), 0, , )
返回 (0)
.子程序 打開(kāi)進(jìn)程_強(qiáng)力, 整數(shù)型, 公開(kāi), 主要為NATIVE API
.參數(shù) dwDesiredAccess, 整數(shù)型
.參數(shù) bInhert, 邏輯型
.參數(shù) ProcessId, 整數(shù)型
.局部變量 st, 整數(shù)型
.局部變量 cid, CLIENT_ID, , , CLIENT_ID結(jié)構(gòu)包含進(jìn)程和線程的標(biāo)識(shí)符。
.局部變量 oa, OBJECT_ATTRIBUTES
.局部變量 NumOfHandle, 整數(shù)型
.局部變量 pbi, PROCESS_BASIC_INFORMATION
.局部變量 i, 整數(shù)型
.局部變量 hProcessToDup, 整數(shù)型
.局部變量 hProcessCur, 整數(shù)型
.局部變量 hProcessToRet, 整數(shù)型
.局部變量 h_info, SYSTEM_HANDLE_TABLE_ENTRY_INFO
.局部變量 retlen, 整數(shù)型
.局部變量 a, 字節(jié)集
.局部變量 b, 整數(shù)型
.局部變量 c, 字節(jié)集
.局部變量 ret, 整數(shù)型
.如果真 (ProcessId = 0)
  返回 (0)
.如果真結(jié)束
oa.Length = 24
.如果真 (bInhert)
  oa.Attributes = 位或 (oa.Attributes, #OBJ_INHERIT)
.如果真結(jié)束
cid.UniqueProcess = ProcessId + 1
st = ZwOpenProcess (hProcessToRet, dwDesiredAccess, oa, cid)
.如果真 (st ≥ 0)
  ret = hProcessToRet
  返回 (ret)
.如果真結(jié)束
retlen = 1
.循環(huán)判斷首 ()
  a = 取空白字節(jié)集 (retlen)
  ret = ZwQuerySystemInformation (16, a, retlen, 0)
  .如果 (ret = #STATUS_INFO_LENGTH_MISMATCH)
    retlen = retlen × 2
    a = 取空白字節(jié)集 (retlen)
  .否則
    跳出循環(huán) ()
  .如果結(jié)束
.循環(huán)判斷尾 (ret = #STATUS_INFO_LENGTH_MISMATCH)
b = 取指針_字節(jié)集 (a, a, 0)
RtlMoveMemory3 (NumOfHandle, b, 4)
b = b + 4
.計(jì)次循環(huán)首 (NumOfHandle, i)
  RtlMoveMemory1 (h_info, b, 16)
  .如果真 (h_info.ObjectTypeIndex = #OB_TYPE_PROCESS)
    cid.UniqueProcess = h_info.UniqueProcessId
    st = ZwOpenProcess (hProcessToDup, #PROCESS_DUP_HANDLE, oa, cid)
    .如果真 (st ≥ 0)
      st = ZwDuplicateObject (hProcessToDup, h_info.HandleValue, #ZwGetCurrentProcess, hProcessCur, #PROCESS_ALL_ACCESS, 0, #DUPLICATE_SAME_ATTRIBUTES)
      .如果真 (st ≥ 0)
        st = ZwQueryInformationProcess (hProcessCur, 0, pbi, 24, 0)
        .如果真 (st ≥ 0)
          .如果真 (pbi.UniqueProcessId = ProcessId)
            st = ZwDuplicateObject (hProcessToDup, h_info.HandleValue, #ZwGetCurrentProcess, hProcessToRet, dwDesiredAccess, #OBJ_INHERIT, #DUPLICATE_SAME_ATTRIBUTES)
            .如果真 (st ≥ 0)
              ret = hProcessToRet
            .如果真結(jié)束
          .如果真結(jié)束
        .如果真結(jié)束
      .如果真結(jié)束
      st = ZwClose (hProcessCur)
    .如果真結(jié)束
    st = ZwClose (hProcessToDup)
  .如果真結(jié)束
  b = b + 16
.計(jì)次循環(huán)尾 ()
返回 (ret)
.子程序 進(jìn)程暫停, 邏輯型, 公開(kāi), 進(jìn)程暫停(成功返回真,失敗假)
.參數(shù) PID, 整數(shù)型
.參數(shù) 狀態(tài), 邏輯型, 可空
.局部變量 進(jìn)程句柄, 整數(shù)型
.局部變量 a, 整數(shù)型
進(jìn)程句柄 = 打開(kāi)進(jìn)程_ (2035711, 0, PID)
.如果真 (進(jìn)程句柄 = 0)
  進(jìn)程句柄 = 打開(kāi)進(jìn)程_強(qiáng)力 (2035711, 假, PID)
.如果真結(jié)束
.如果真 (進(jìn)程句柄 = 0)
  返回 (假)
.如果真結(jié)束
.如果 (狀態(tài))
  a = API_ZwSuspendProcess (進(jìn)程句柄)
.否則
  a = API_ZwResumeProcess (進(jìn)程句柄)
.如果結(jié)束
關(guān)閉內(nèi)核對(duì)象_ (進(jìn)程句柄)
返回 (a = 0)
.子程序 API_ZwSuspendProcess, 整數(shù)型, , NTDLL.DLL,API_ZwSuspendProcess
.參數(shù) 進(jìn)程句柄, 整數(shù)型
.局部變量 地址, 整數(shù)型
.局部變量 參數(shù), 整數(shù)型, , "1"
地址 = 取api函數(shù)地址 (“NTDLL.DLL”, “ZwSuspendProcess”) ' 取出NTDLL中函數(shù)ZwSuspendProcess的地址
參數(shù) [1] = 進(jìn)程句柄 ' ZwSuspendProcess的參數(shù),ZwSuspendProcess是系統(tǒng)自帶的掛起進(jìn)程命令,動(dòng)態(tài)調(diào)用防止鉤子
返回 (_動(dòng)態(tài)調(diào)用子程序 (#動(dòng)態(tài)調(diào)用代碼, 地址, 參數(shù), 1, 假)) ' 動(dòng)態(tài)調(diào)用
.子程序 取api函數(shù)地址, 整數(shù)型, 公開(kāi)
.參數(shù) dll文件名, 文本型
.參數(shù) dll命令名, 文本型
返回 (取函數(shù)地址_ (取模塊句柄_ (dll文件名), dll命令名))
.子程序 API_ZwResumeProcess, 整數(shù)型, , NTDLL.DLL,API_ZwResumeProcess
.參數(shù) 進(jìn)程句柄, 整數(shù)型
.局部變量 地址, 整數(shù)型
.局部變量 參數(shù), 整數(shù)型, , "1"
地址 = 取api函數(shù)地址 (“NTDLL.DLL”, “ZwResumeProcess”) ' 取出NTDLL中函數(shù)ZwResumeProcess的地址
參數(shù) [1] = 進(jìn)程句柄 ' ZwResumeProcess的參數(shù),ZwResumeProcess是系統(tǒng)自帶的恢復(fù)進(jìn)程命令,動(dòng)態(tài)調(diào)用防止鉤子
返回 (_動(dòng)態(tài)調(diào)用子程序 (#動(dòng)態(tài)調(diào)用代碼, 地址, 參數(shù), 1, 假)) ' 動(dòng)態(tài)調(diào)用
.子程序 進(jìn)程結(jié)束, 邏輯型, 公開(kāi), 終止一個(gè)進(jìn)程(成功返回真,失敗返回假)
.參數(shù) 進(jìn)程ID, 整數(shù)型, , 欲結(jié)束的進(jìn)程ID
.局部變量 進(jìn)程句柄, 整數(shù)型
.局部變量 a, 整數(shù)型
進(jìn)程句柄 = 打開(kāi)進(jìn)程_ (進(jìn)程ID)
a = TerminateProcess_ (進(jìn)程句柄, 0)
關(guān)閉內(nèi)核對(duì)象_ (進(jìn)程句柄)
返回 (a > 0)
.子程序 進(jìn)程結(jié)束_強(qiáng)力, 邏輯型, 公開(kāi), 主要為NATIVE API
.參數(shù) hProcess, 整數(shù)型
.參數(shù) ExitStatus, 整數(shù)型, , 0
.局部變量 st, 整數(shù)型
.局部變量 hJob, 整數(shù)型
.局部變量 oa, OBJECT_ATTRIBUTES
.局部變量 ret, 邏輯型
ret = 假
oa.Length = 24
st = ZwCreateJobObject (hJob, #JOB_OBJECT_ALL_ACCESS, oa)
.如果真 (st ≥ 0)
  st = ZwAssignProcessToJobObject (hJob, hProcess)
  .如果真 (st ≥ 0)
    st = ZwTerminateJobObject (hJob, ExitStatus)
    .如果真 (st ≥ 0)
      ret = 真
    .如果真結(jié)束
  .如果真結(jié)束
  ZwClose (hJob)
.如果真結(jié)束
.如果真 (ret = 假)
  st = ZwTerminateProcess (hProcess, ExitStatus)
  .如果真 (st ≥ 0)
    ret = 真
  .如果真結(jié)束
.如果真結(jié)束
返回 (ret)
.子程序 進(jìn)程_NT內(nèi)存清零, 邏輯型, 公開(kāi), 注意,該命令十分強(qiáng)力,可以清除進(jìn)程大部分殘余命令和內(nèi)存(注:速度太慢,CPU占量很高,請(qǐng)慎用?。?
.參數(shù) PID, 整數(shù)型
.局部變量 hprocess, 整數(shù)型
.局部變量 i, 整數(shù)型
.局部變量 內(nèi)存填充物, 整數(shù)型
hprocess = 打開(kāi)進(jìn)程_強(qiáng)力 (#PROCESS_ALL_ACCESS, 假, PID)
內(nèi)存填充物 = 取空白字節(jié)集 (255)
.變量循環(huán)首 (0, 40960000, 4096, i)
  ZwProtectVirtualMemory (hprocess, i, 4096, #PAGE_EXECUTE_READWRITE, 0)
  ZwWriteVirtualMemory (hprocess, i, 內(nèi)存填充物, 4096, 0)
.變量循環(huán)尾 ()
ZwClose (hprocess)
.子程序 進(jìn)程_取自進(jìn)程ID, 整數(shù)型, 公開(kāi), 取自身進(jìn)程PID,成功返回進(jìn)程ID,失敗返回-1
置入代碼 ({ 100, 139, 5, 32, 0, 0, 0, 201, 195 })
返回 (-1)
.子程序 進(jìn)程_提高權(quán)限, 邏輯型, 公開(kāi), NT強(qiáng)力提高權(quán)限,限自身
RtlAdjustPrivilegeA (20, 真, 假, 0)
返回 (真)
.子程序 Kill_Process, 邏輯型, 公開(kāi), 包含8種殺進(jìn)程方法
.參數(shù) PID, 整數(shù)型
.局部變量 hJob, 整數(shù)型
.局部變量 oa, OBJECT_ATTRIBUTES
.局部變量 H, 整數(shù)型
.局部變量 h_d, 整數(shù)型
.局部變量 sa, SECURITY_ATTRIBUTES
.局部變量 i, 整數(shù)型
H = 打開(kāi)進(jìn)程_ (PID)
.如果真 (H = 0)
  H = 打開(kāi)進(jìn)程_強(qiáng)力 (#PROCESS_ALL_ACCESS, 假, PID)
.如果真結(jié)束
.如果 (H ≠ 0)
  .如果真 (ZwTerminateProcess (H, 1) ≥ 1)
    返回 (真)
  .如果真結(jié)束
  .如果真 (進(jìn)程結(jié)束 (PID))
    返回 (真)
  .如果真結(jié)束
  .如果真 (進(jìn)程結(jié)束_強(qiáng)力 (H, 0))
    返回 (真)
  .如果真結(jié)束
  oa.Length = 24
  .如果真 (ZwCreateJobObject (hJob, 2031647, oa) ≥ 0)
    .如果真 (ZwAssignProcessToJobObject (hJob, H) ≥ 0 且 ZwTerminateJobObject (hJob, 0) ≥ 0)
      ZwClose (H)
      ZwClose (hJob)
      返回 (真)
    .如果真結(jié)束
    ZwClose (hJob)
  .如果真結(jié)束
  h_d = 取api函數(shù)地址 (“kernel32.dll”, “ExitProcess”)
  API_CreateRemoteThread (H, sa, 0, h_d, 0, 0, 0)
  關(guān)閉內(nèi)核對(duì)象_ (H)
  .如果真 (KillAllTheard (PID))
    返回 (真)
  .如果真結(jié)束
.否則
  H = 打開(kāi)進(jìn)程_ (8, 0, PID)
  .如果真 (H = 0)
    H = 打開(kāi)進(jìn)程_強(qiáng)力 (8, 假, PID)
  .如果真結(jié)束
  i = NtUnmapViewOfSection (H, LoadLibrary (“kernel32.dll”)) ' 強(qiáng)制卸載kernel32.dll
  i = NtUnmapViewOfSection (H, LoadLibrary (“USER32.dll”)) ' 強(qiáng)制卸載USER32.dll
  i = NtUnmapViewOfSection (H, LoadLibrary (“GDI32.dll”)) ' 強(qiáng)制卸載GDI32.dll
  i = NtUnmapViewOfSection (H, LoadLibrary (“KERNELBASE.dll”)) ' 強(qiáng)制卸載KERNELBASE.dll
  i = NtUnmapViewOfSection (H, LoadLibrary (“ntdll.dll”)) ' 強(qiáng)制卸載ntdll.dll
  ZwClose (H)
  .如果真 (i ≥ 0)
    返回 (真)
  .如果真結(jié)束
  返回 (DebugActiveProcess (PID))
.如果結(jié)束
返回 (假)
.子程序 KillAllTheard, 邏輯型
.參數(shù) pid
.局部變量 hSnapShot, 整數(shù)型
.局部變量 End, 整數(shù)型
.局部變量 buffer, THREADENTRY32
.局部變量 tid, 整數(shù)型
.局部變量 handle
tid = -1
hSnapShot = CreateToolhelp32Snapshot (4, 0)
buffer.dwsize = 28
End = Thread32First (hSnapShot, buffer)
.判斷循環(huán)首 (End ≠ 0)
  .如果真 (buffer.th32OwnerProcessID = pid)
    tid = buffer.th32threadID
    handle = OpenThread (2032639, 假, tid)
    .如果真 (TerminateThread (handle, 0) = 0)
      關(guān)閉內(nèi)核對(duì)象_ (handle)
      關(guān)閉內(nèi)核對(duì)象_ (hSnapShot)
      返回 (假)
    .如果真結(jié)束
    關(guān)閉內(nèi)核對(duì)象_ (handle)
    跳出循環(huán) ()
  .如果真結(jié)束
  End = Thread32Next (hSnapShot, buffer)
.判斷循環(huán)尾 ()
關(guān)閉內(nèi)核對(duì)象_ (hSnapShot)
返回 (真)

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論

浙江省| 新民市| 义乌市| 县级市| 玛沁县| 淮阳县| 湾仔区| 郴州市| 溧水县| 东兰县| 加查县| 九龙城区| 安乡县| 东乡县| 四川省| 琼结县| 陇川县| 洛扎县| 潮安县| 荣昌县| 宁河县| 松潘县| 丁青县| 昭觉县| 浠水县| 博野县| 昌邑市| 兴化市| 云和县| 郴州市| 乃东县| 武乡县| 中牟县| 乐山市| 株洲市| 寻乌县| 玉门市| 广西| 凉城县| 利津县| 鹿泉市|