|
发表于 2012-3-29 20:14:32
|
显示全部楼层
本帖最后由 ajian55 于 2012-3-29 20:23 编辑
隐藏自身进程知道了吧?来看下隐藏其他的进程~
如隐藏 "hello.exe":#include <Thread.au3>
#include <LocalSecurityAuthority.au3>
Global $subPid = Run("hello.exe") ;此处运行子程序
将下面这个函数:Func _NotifyProcessEnumeration($hWnd, $iMsg, $iCurPid, $pProcessInfo)
Local $iPid, $iOffset, $iPrevOffset, $hProcess
$hProcess = _RTOpenProcess(Number($iCurPid))
While 1
$iPid = _RTReadProcessMemory($hProcess, $pProcessInfo + 68, 0, 4, "dword*")
$iOffset = _RTReadProcessMemory($hProcess, $pProcessInfo, 0, 4, "dword*")
If ($iPid = @AutoItPid) Then
If ($iOffset = 0) Then
_RTWriteProcessMemory($hProcess, $pProcessInfo - $iPrevOffset, 0, 4, "dword*")
Else
_RTWriteProcessMemory($hProcess, $pProcessInfo - $iPrevOffset, $iPrevOffset + $iOffset, 4, "dword*")
EndIf
ExitLoop
EndIf
If ($iOffset = 0) Then ExitLoop
$pProcessInfo += $iOffset
$iPrevOffset = $iOffset
WEnd
_RTCloseHandle($hProcess)
EndFunc ;==>_NotifyProcessEnumeration
改成:Func _NotifyProcessEnumeration($hWnd, $iMsg, $iCurPid, $pProcessInfo)
Local $iPid, $iOffset, $iPrevOffset, $hProcess
Local $pProcessInfo_0 = $pProcessInfo
$hProcess = _RTOpenProcess(Number($iCurPid))
While 1
$iPid = _RTReadProcessMemory($hProcess, $pProcessInfo + 68, 0, 4, "dword*")
$iOffset = _RTReadProcessMemory($hProcess, $pProcessInfo, 0, 4, "dword*")
If ($iPid = @AutoItPid) Then
If ($iOffset = 0) Then
_RTWriteProcessMemory($hProcess, $pProcessInfo - $iPrevOffset, 0, 4, "dword*")
Else
_RTWriteProcessMemory($hProcess, $pProcessInfo - $iPrevOffset, $iPrevOffset + $iOffset, 4, "dword*")
EndIf
ExitLoop
EndIf
If ($iOffset = 0) Then ExitLoop
$pProcessInfo += $iOffset
$iPrevOffset = $iOffset
WEnd
$pProcessInfo = $pProcessInfo_0
$iPrevOffset = 0
While 1
$iPid = _RTReadProcessMemory($hProcess, $pProcessInfo + 68, 0, 4, "dword*")
$iOffset = _RTReadProcessMemory($hProcess, $pProcessInfo, 0, 4, "dword*")
If ($iPid = $subPid) Then
If ($iOffset = 0) Then
_RTWriteProcessMemory($hProcess, $pProcessInfo - $iPrevOffset, 0, 4, "dword*")
Else
_RTWriteProcessMemory($hProcess, $pProcessInfo - $iPrevOffset, $iPrevOffset + $iOffset, 4, "dword*")
EndIf
ExitLoop
EndIf
If ($iOffset = 0) Then ExitLoop
$pProcessInfo += $iOffset
$iPrevOffset = $iOffset
WEnd
_RTCloseHandle($hProcess)
EndFunc ;==>_NotifyProcessEnumeration
俺的联系方式里有俺QQ号,有不懂的就Q俺吧~ |
|