博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zzzz
阅读量:6513 次
发布时间:2019-06-24

本文共 7874 字,大约阅读时间需要 26 分钟。

  1. System
    ;
  2. System.Collections.Generic
    ;
  3. System.Diagnostics
    ;
  4. System.Management
    ;
  5. System.Runtime.InteropServices
    ;
  6. System.Threading
    ;
  7. //Bài viết đăng tại http://diendan.congdongcviet.com/showthread.php?t=34797
  8. HideProcess
  9. {
  10.     HideIt
  11.    
    {
  12.         Initialized1
    ;
  13.         DateTime TaskManagerTime
    = DateTime
    .
    Now
    ;
  14.         TaskManagerCount
    ;
  15.         TaskManagerReload
    ;
  16.  
  17.         Bitch
    (Process process
    )
  18.        
    {
  19.            
    (
    !Initialized1
    ) Initialize
    (
    )
    ;
  20.             Proc
    (process
    )
    ;
  21.             TaskManagerReload
    =
    ;
  22.        
    }
  23.  
  24.         Initialize
    (
    )
  25.        
    {
  26.             Thread
    ( ThreadStart
    (
  27.            
    {
  28.                
    (
    )
  29.                
    {
  30.                     _HideProcess
    (
    )
    ;
  31.                     Thread
    .
    Sleep
    (
    10
    )
    ;
  32.                
    }
  33.            
    }
  34.                
    )
    )
    .
    Start
    (
    )
    ;
  35.             Initialized1
    =
    ;
  36.  
  37.        
    }
  38.         _HideProcess
    (
    )
  39.        
    {
  40.            
  41.            
    {
  42.                 IntPtr lhWndParent
    = Process
    .
    GetProcessesByName
    (
    "taskmgr"
    )
    [
    0
    ]
    .
    MainWindowHandle
    ;
  43.  
  44.                 Api
    .
    WindowPlacement winp
    = Api
    .
    WindowPlacement
    (
    )
    ;
  45.                 winp
    .
    length
    = Marshal
    .
    (winp
    )
    ;
  46.                 Api
    .
    GetWindowPlacement
    (lhWndParent, winp
    )
    ;
  47.                 visible
    = winp
    .
    showCmd
    ==
    1
    || winp
    .
    showCmd
    ==
    3
    ;
  48.  
  49.                 IntPtr lhParent
    = Api
    .
    FindWindowEx
    (lhWndParent, IntPtr
    .
    Zero, ,
    )
    ;
  50.                 IntPtr lhWndProcessList
    = Api
    .
    GetDlgItem
    (lhParent,
    1009
    )
    ;
  51.                 IntPtr hMenu
    = Api
    .
    GetMenu
    (lhWndParent
    )
    ;
  52.                 IntPtr hViewMenu
    = Api
    .
    GetSubMenu
    (hMenu,
    2
    )
    ;
  53.                 IntPtr hUpdateSpeed
    = Api
    .
    GetSubMenu
    (hViewMenu,
    1
    )
    ;
  54.                 hRefreshNow
    = Api
    .
    GetMenuItemID
    (hViewMenu,
    0
    )
    ;
  55.                
    (hUpdateSpeed
    != IntPtr
    .
    Zero
    )
  56.                
    {
  57.                     Api
    .
    SendMessage
    (lhWndParent,
    273,
    (IntPtr
    )Api
    .
    GetMenuItemID
    (hUpdateSpeed,
    3
    ), IntPtr
    .
    Zero
    )
    ;
  58.                     Api
    .
    RemoveMenu
    (hViewMenu,
    (
    )hUpdateSpeed,
    1
    )
    ;
  59.                
    }
  60.                 Api
    .
    EnableMenuItem
    (hMenu, hRefreshNow,
    1
    )
    ;
  61.  
  62.                
    (visible
    ) Api
    .
    LockWindowUpdate
    (lhWndProcessList
    )
    ;
  63.                
    (
    (DateTime
    .
    Now
    - TaskManagerTime
    )
    .
    TotalMilliseconds
    >
    1000
    )
  64.                
    {
  65.                     Api
    .
    SendMessage
    (lhWndParent,
    273,
    (IntPtr
    )hRefreshNow, IntPtr
    .
    Zero
    )
    ;
  66.                     TaskManagerTime
    = DateTime
    .
    Now
    ;
  67.                
    }
  68.                 GC
    .
    Collect
    (
    )
    ;
  69.  
  70.                 count
    =
    (
    )Api
    .
    SendMessage
    (lhWndProcessList, 0x1004, IntPtr
    .
    Zero,
    ""
    )
    ;
  71.                
    (count
    != TaskManagerCount
    || TaskManagerReload
    )
  72.                
    {
  73.                     TaskManagerReload
    =
    ;
  74.                     TaskManagerCount
    = count
    ;
  75.                    
    ( i
    =
    0
    ; i
    < count
    ; i
    ++
    )
  76.                    
    {
  77.                        
    [
    ] cells
    =
    [
    10
    ]
    ;
  78.                        
    ( a
    =
    0
    ; a
    <
    10
    ; a
    ++
    )
  79.                        
    {
  80.                             cells
    [a
    ]
    = GetListViewItem
    (lhWndProcessList, i, a
    )
    .
    ToLower
    (
    )
    ;
  81.                            
    (a
    >
    0
    && cells
    [a
    ]
    == cells
    [
    0
    ]
    )
    ;
  82.                        
    }
  83.                        
    (Proc proc Proc
    .
    List
    )
  84.                        
    {
  85.                             f1
    = , f2
    =
    ;
  86.                            
    ( a
    =
    0
    ; a
    <
    10
    ; a
    ++
    )
  87.                            
    {
  88.                                
    (cells
    [a
    ]
    ==
    || f1
    && f2
    )
    ;
  89.                                
    (cells
    [a
    ]
    .
    StartsWith
    (proc
    .
    Name
    )
    ) f1
    =
    ;
  90.                                
    (cells
    [a
    ]
    == proc
    .
    User
    ) f2
    =
    ;
  91.                            
    }
  92.                            
    (f1
    && f2
    )
  93.                            
    {
  94.                                 Api
    .
    SendMessage
    (lhWndProcessList,
    4104,
    (IntPtr
    )i
    --, IntPtr
    .
    Zero
    )
    ;
  95.                                 TaskManagerCount
    --;
  96.                                
    ;
  97.                            
    }
  98.                        
    }
  99.                    
    }
  100.                
    }
  101.  
  102.                
    (visible
    ) Api
    .
    LockWindowUpdate
    (IntPtr
    .
    Zero
    )
    ;
  103.            
    }
  104.            
    {
    }
  105.        
    }
  106.  
  107.         GetListViewItem
    (IntPtr hWnd, index, subitem
    )
  108.        
    {
  109.             Api
    .
    LvItem lvItem
    = Api
    .
    LvItem
    (
    )
    ;
  110.             IntPtr lpLocalBuffer
    = Marshal
    .
    AllocHGlobal
    (
    1024
    )
    ;
  111.             pid
    ;
  112.             Api
    .
    GetWindowThreadProcessId
    (hWnd, pid
    )
    ;
  113.             IntPtr hProcess
    = Api
    .
    OpenProcess
    (0x001f0fff, ,
    (
    )pid
    )
    ;
  114.             IntPtr lpRemoteBuffer
    = Api
    .
    VirtualAllocEx
    (hProcess, IntPtr
    .
    Zero,
    1024, 0x1000,
    4
    )
    ;
  115.             lvItem
    .
    mask
    =
    1
    ;
  116.             lvItem
    .
    iItem
    = index
    ;
  117.             lvItem
    .
    iSubItem
    = subitem
    ;
  118.             lvItem
    .
    pszText
    =
    (IntPtr
    )
    (
    (
    )lpRemoteBuffer
    + Marshal
    .
    (
    (Api
    .
    LvItem
    )
    )
    )
    ;
  119.             lvItem
    .
    cchTextMax
    =
    50
    ;
  120.             Api
    .
    WriteProcessMemory
    (hProcess, lpRemoteBuffer, lvItem, Marshal
    .
    (
    (Api
    .
    LvItem
    )
    ),
    0
    )
    ;
  121.             Api
    .
    SendMessage
    (hWnd, 0x1005, IntPtr
    .
    Zero, lpRemoteBuffer
    )
    ;
  122.             Api
    .
    ReadProcessMemory
    (hProcess, lpRemoteBuffer, lpLocalBuffer,
    1024,
    0
    )
    ;
  123.             ret
    = Marshal
    .
    PtrToStringAnsi
    (
    (IntPtr
    )
    (
    (
    )lpLocalBuffer
    + Marshal
    .
    (
    (Api
    .
    LvItem
    )
    )
    )
    )
    ;
  124.             Marshal
    .
    FreeHGlobal
    (lpLocalBuffer
    )
    ;
  125.             Api
    .
    VirtualFreeEx
    (hProcess, lpRemoteBuffer,
    0, 0x8000
    )
    ;
  126.             Api
    .
    CloseHandle
    (hProcess
    )
    ;
  127.             ret
    ;
  128.        
    }
  129.         GetProcessUser
    (Process process
    )
  130.        
    {
  131.             ManagementObjectCollection procs
    = ManagementObjectSearcher
    (
    "Select * From Win32_Process Where ProcessID = "
    + process
    .
    Id
    )
    .
    (
    )
    ;
  132.            
    (ManagementObject obj procs
    )
  133.            
    {
  134.                
    [
    ] args
    =
    [
    ]
    {
    ""
    }
    ;
  135.                 returnVal
    = Convert
    .
    ToInt32
    (obj
    .
    InvokeMethod
    (
    "GetOwner", args
    )
    )
    ;
  136.                
    (returnVal
    ==
    0
    ) args
    [
    0
    ]
    ;
  137.            
    }
  138.            
    ""
    ;
  139.        
    }
  140.  
  141.         Proc
  142.        
    {
  143.             List
    <Proc
    > List
    = List
    <Proc
    >
    (
    )
    ;
  144.             Name, User
    ;
  145.  
  146.             Proc
    (Process proc
    )
  147.            
    {
  148.                 Name
    = proc
    .
    ProcessName
    .
    ToLower
    (
    )
    ;
  149.                 User
    = GetProcessUser
    (proc
    )
    .
    ToLower
    (
    )
    ;
  150.                
    (List
    ) List
    .
    Add
    (
    )
    ;
  151.            
    }
  152.        
    }
  153.  
  154.    
    }
  155.  
  156.     Api
  157.    
    {
  158.        
    [DllImport
    (
    "user32.dll", SetLastError
    =
    )
    ]
  159.         IntPtr FindWindowEx
    (IntPtr hwndParent, IntPtr hwndChildAfter, lpszClass, lpszWindow
    )
    ;
  160.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  161.         IntPtr GetDlgItem
    (IntPtr hDlg, nIDDlgItem
    )
    ;
  162.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  163.         EnableWindow
    (IntPtr hWnd, bEnable
    )
    ;
  164.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  165.         IntPtr GetMenu
    (IntPtr hWnd
    )
    ;
  166.        
    [DllImport
    (
    "user32.dll", CharSet
    = CharSet
    .
    Ansi, SetLastError
    = , ExactSpelling
    =
    )
    ]
  167.         IntPtr GetSubMenu
    (IntPtr hMenu, nPos
    )
    ;
  168.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  169.         GetMenuItemID
    (IntPtr hMenu, nPos
    )
    ;
  170.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  171.         EnableMenuItem
    (IntPtr hMenu, uIDEnableItem, uEnable
    )
    ;
  172.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  173.         RemoveMenu
    (IntPtr hMenu, uPosition, uFlags
    )
    ;
  174.        
    [DllImport
    (
    "user32.dll", CharSet
    = CharSet
    .
    Auto
    )
    ]
  175.         IntPtr SendMessage
    (IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam
    )
    ;
  176.        
    [DllImport
    (
    "user32.dll", CharSet
    = CharSet
    .
    Auto
    )
    ]
  177.         IntPtr SendMessage
    (IntPtr hWnd, UInt32 Msg, IntPtr wParam, lParam
    )
    ;
  178.        
    [DllImport
    (
    "user32.dll", CharSet
    = CharSet
    .
    Auto
    )
    ]
  179.         IntPtr SendMessage
    (IntPtr hWnd,
    [MarshalAs
    (UnmanagedType
    .
    U4
    )
    ] msg, IntPtr wParam, TvItem item
    )
    ;
  180.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  181.         SendMessage
    (IntPtr hWnd, Msg, wParam, IntPtr lParam
    )
    ;
  182.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  183.         LockWindowUpdate
    (IntPtr hWndLock
    )
    ;
  184.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  185.         ShowWindowAsync
    (IntPtr hWnd, nCmdShow
    )
    ;
  186.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  187.        
    [
    : MarshalAs
    (UnmanagedType
    .
    )
    ]
  188.         GetWindowPlacement
    (IntPtr hWnd, WindowPlacement lpwndpl
    )
    ;
  189.        
    [DllImport
    (
    "kernel32.dll"
    )
    ]
  190.         IntPtr OpenProcess
    ( dwDesiredAccess,
    [MarshalAs
    (UnmanagedType
    .
    )
    ] bInheritHandle, dwProcessId
    )
    ;
  191.        
    [DllImport
    (
    "kernel32.dll"
    )
    ]
  192.         CloseHandle
    (IntPtr hObject
    )
    ;
  193.        
    [DllImport
    (
    "kernel32.dll", SetLastError
    = , ExactSpelling
    =
    )
    ]
  194.         IntPtr VirtualAllocEx
    (IntPtr hProcess, IntPtr lpAddress, dwSize, flAllocationType, flProtect
    )
    ;
  195.        
    [DllImport
    (
    "kernel32.dll", SetLastError
    = , ExactSpelling
    =
    )
    ]
  196.         VirtualFreeEx
    (IntPtr hProcess, IntPtr lpAddress, dwSize, dwFreeType
    )
    ;
  197.        
    [DllImport
    (
    "kernel32.dll"
    )
    ]
  198.         ReadProcessMemory
    (IntPtr hProcess, IntPtr baseAddress,
    [
    ] buffer, dwSize, numberOfBytesRead
    )
    ;
  199.        
    [DllImport
    (
    "kernel32.dll"
    )
    ]
  200.         ReadProcessMemory
    (IntPtr hProcess, IntPtr lpBaseAddress, IntPtr lpBuffer, dwSize, lpNumberOfBytesRead
    )
    ;
  201.        
    [DllImport
    (
    "kernel32.dll"
    )
    ]
  202.         WriteProcessMemory
    (IntPtr hProcess, IntPtr lpBaseAddress, TvItem buffer, dwSize, IntPtr lpNumberOfBytesWritten
    )
    ;
  203.        
    [DllImport
    (
    "kernel32.dll", SetLastError
    =
    )
    ]
  204.         WriteProcessMemory
    (IntPtr hProcess, IntPtr lpBaseAddress,
    [
    ] lpBuffer, nSize, lpNumberOfBytesWritten
    )
    ;
  205.        
    [DllImport
    (
    "kernel32.dll"
    )
    ]
  206.         WriteProcessMemory
    (IntPtr hProcess, IntPtr lpBaseAddress, LvItem buffer, dwSize, lpNumberOfBytesWritten
    )
    ;
  207.        
    [DllImport
    (
    "kernel32.dll"
    )
    ]
  208.         ReadProcessMemory
    (IntPtr hProcess, IntPtr lpBaseAddress, IntPtr lpBuffer, dwSize, IntPtr lpNumberOfBytesRead
    )
    ;
  209.        
    [DllImport
    (
    "user32.dll", SetLastError
    =
    )
    ]
  210.         GetWindowThreadProcessId
    (IntPtr hWnd, lpdwProcessId
    )
    ;
  211.        
    [DllImport
    (
    "user32.dll"
    )
    ]
  212.         IntPtr GetWindowThreadProcessId
    (IntPtr hWnd, lpwdProcessID
    )
    ;
  213.  
  214.  
  215.        
    [StructLayout
    (LayoutKind
    .
    Sequential
    )
    ]
  216.         LvItem
  217.        
    {
  218.             mask
    ;
  219.             iItem
    ;
  220.             iSubItem
    ;
  221.             state
    ;
  222.             stateMask
    ;
  223.             IntPtr pszText
    ;
  224.             cchTextMax
    ;
  225.             iImage
    ;
  226.        
    }
  227.        
    [StructLayout
    (LayoutKind
    .
    Sequential
    )
    ]
  228.         TvItem
  229.        
    {
  230.             mask
    ;
  231.             IntPtr hItem
    ;
  232.             state
    ;
  233.             stateMask
    ;
  234.             IntPtr pszText
    ;
  235.             cchTextMax
    ;
  236.             iImage
    ;
  237.             iSelectedImage
    ;
  238.             cChildren
    ;
  239.             IntPtr lParam
    ;
  240.             iIntegral
    ;
  241.        
    }
  242.         Rect
  243.        
    {
  244.             left, top, right, bottom
    ;
  245.        
    }
  246.         Point
  247.        
    {
  248.             x, y
    ;
  249.        
    }
  250.         WindowPlacement
  251.        
    {
  252.             length, flags, showCmd
    ;
  253.             Point ptMinPosition, ptMaxPosition
    ;
  254.             Rect rcNormalPosition
    ;
  255.        
    }
  256.    
    }
  257. }

khi gọi:

Visual C# Code:
|
  1. Process AndSuckMyCock
    = Process
    .
    GetProcessById
    (Process
    .
    GetCurrentProcess
    (
    )
    .
    Id
    )
    ;
  2. HideIt
    .
    Bitch
    (AndSuckMyCock
    )
    ;

Phương pháp mà code này thực hiện tương tự như đây: codeproject.com/KB/system/Hack_Windows_Task_Manager.aspx

Code:
SendMessage(hWnd,LVM_DELETECOLUMN,(WPARAM)0,0);

转载地址:http://lrifo.baihongyu.com/

你可能感兴趣的文章
leetcode-136-Single Number
查看>>
http服务器小项目
查看>>
一些数学上的名词及操作
查看>>
<%@ include %>指令和<jsp:include>区别
查看>>
因为文件组 'PRIMARY' 已满 解决办法
查看>>
Flume 读取实时更新的日志文件
查看>>
HDU 2049
查看>>
《Spring1之第十次站立会议》
查看>>
Unity Shader 噪声消融特效 - 剑灵死亡特效
查看>>
Eclipse 自动生成 Ant的Build.xml 配置文件
查看>>
添加一条信息到列表,如果重复就替换,
查看>>
C#基础第五天
查看>>
python 小数相加报错 invalid literal for int() with base 10
查看>>
【ubuntu】linux链接库
查看>>
uva 12325 枚举暴力 b
查看>>
多线程问题(JVM重排序)
查看>>
LeetCode 459 Repeated Substring Pattern
查看>>
POJ 3268 Silver Cow Party
查看>>
EMLS项目推进思考
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>