關於進程隱藏問題:遠程線程注入方式

來源:互聯網
上載者:User
關於進程隱藏問題:遠程線程注入方式 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061205213557120.html
網上搜尋了好多關於   關於進程隱藏問題,實現的方式幾乎都是以遠程線程注入方式  
  我依葫蘆畫瓢的做了一個,但是在目標進程裡面請求記憶體空間的時候老是失敗,不知道為什麼,請高人指點.  
  代碼如下:  
   
  Type  
      TParam   =   packed   record  
          fLoadLibrary:   DWORD;  
          fGetProcAddress:   DWORD;  
          sUser:   array[0..10]   of   Char;  
          sMessage:   array[0..11]   of   Char;  
      end;  
   
  Const  
      IntoProName='SvcHost.exe';  
  var  
      ExeFileName:   String;  
      ContinueLoop:   Boolean;  
      FSnapshotHandle:   THandle;  
      FProcessEntry32:   TProcessEntry32;  
      hprocess:   DWORD;  
      param:   TParam;  
      pparam,   pfunc:   Pointer;  
   
  begin  
      Application.Initialize;  
      FSnapshotHandle   :=   CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,   0);  
      FProcessEntry32.dwSize   :=   Sizeof(FProcessEntry32);  
      ContinueLoop   :=   Process32First(FSnapshotHandle,FProcessEntry32);  
      while   integer(ContinueLoop)   <>   0   do  
      begin  
          if   UpperCase(FProcessEntry32.szExeFile)=UpperCase(IntoProName)   then  
          Begin  
              hprocess:=   FProcessEntry32.th32ProcessID;  
              Break;  
          End;  
          ContinueLoop   :=   Process32Next(FSnapshotHandle,FProcessEntry32);  
      end;  
      //找到目標進程  
      if   hprocess   =   0   then   begin  
          MessageBox(0,   '無法開啟行程',   '訊息',   MB_OK   or   MB_ICONWARNING);  
          Exit;  
      end;  
      //   在目標行程內要求參數記憶體  
      pparam   :=   VirtualAllocEx(hprocess,   nil,   SizeOf(param),   MEM_COMMIT,   PAGE_EXECUTE_READWRITE);  
      if   pparam   =   nil   then   begin  
          MessageBox(0,   '要求參數記憶體失敗',   '訊息',   MB_OK   or   MB_ICONWARNING);  
          CloseHandle(hprocess);  
          Exit;  
      end;  
   
      Application.Run;  
  end.  
   
  ========================================================  
  運行到     if   pparam   =   nil   then   begin   這裡時   pparam   總是   Nil  
 

沒人回答,UP一下。

沒人回答,再一下。

沒人回答,還UP一下。

你的問題是需要隱藏進程還是需要遠程線程注入?

有什麼區別麼?  
  按我的理解這樣也能實現我的需求吧?  
  我是想在一個系統進程裡面注入我的線程然後運行一個函數。這樣有什麼區別麼?  
  我的目的只是不讓別人結束掉我的進程而已。  
  不知道我理解的對不對

你的process沒有足夠的許可權。先用AdjustTokenPrivileges,如果成功瞭然後再來。  
   
  而且先要OpenProcess(PROCESS_ALL_ACCESS,...),然後才是你的VirtualAlloc。  
   
  如果你不明白自己為什麼做這些,就不要費勁了,想CreateRemoteThread()?如果又失敗了呢?  
  如何調試?  
   
  多看看作業系統和windows系統編程的書,搞清楚一些概念再做。  
   
  防止別人結束掉我的進程,和隱藏進程,以及遠程線程注入,是3個不同的概念。

謝謝指點。  
  馬上翻書   :)。  
  本人初學還望各位以後多多指教。  
 

UP   xuexi

強烈鄙視問題解決後不結貼的人!  
  強烈鄙視技術問題解決後把貼子轉移到非技術區的人!  
  鄙視你們!  
   
  http://community.csdn.net/Expert/topic/5216/5216675.xml?temp=.9262659

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.