Win7 CreateRemoteThread 另類使用方法
同樣的程式碼,在XP下面隨便你怎麼整,WIN7的話是相當糾結的,具體哪些錯誤就不解釋了 ~~
gg點了二十多頁,在韓國某大牛的部落格上總算找到一點思路(雖然看不懂韓文,但程式碼還算勉強看得懂吧)
原來是要用動態呼叫ntdll.dll >> NtCreateRemoteThreadEx ,於是over~~
說明:
1、InjectDll.exe 是注入DLL的EXE
2、dummy.dll 是一個普通DLL,載入後彈出MessageBox
下面是一個XP中遠端執行緒注入DLL的程式碼,在WIN7 + OD除錯的例子:
看看錯誤資訊:
杯具了,接著看! 重新執行OD除錯,bp CreateRemoteThread :
看看CreateRemoteThread 中的幾個引數:
上圖重要標記的幾個引數:
(1)
svchost.exe (PID: 3184) 控制程式碼
(2)
kernel32.dll ! LoadLibarayA
(3) 在svchost中為C://Work//dummy.dll字串所分配的首地址
進入CreateRemoteThread :
我們發現,實際上是呼叫kernelbase >> CreateRemoteThreadEx 函式。
(GG了這個DLL,原來是它是繼VISTA/WIN7之後額外的DLL,負責協助Kernel32.dll的呼叫!)
那我們看看這個函式呼叫棧中的引數吧:
發現與kernel32.dll >> CreateRemoteThread 引數一模一樣!
OK ! 我們再繼續跟進kernelbase.dll >> CreateRemoteThreadEx :
那我們看看這個函式呼叫棧中的引數吧:
OK,這算到底兒了,因為ntdll.dll >> ZwCreateThreadEx 已經執行到了核心程式碼,我們的OD沒辦法再除錯了!
於是請google sysenter吧!
特別說明,kernelbase.dll >> CreateRemoteThreadEx 是對 ntdll.dll >> ZwCreateThreadEx 的補充擴充套件!
那我們都得到這樣的結果 :
ntdll.dll >> ZwCreateThreadEx 是未公開的API,MSDN、GG也很難找到相關資料!
下面是看看這個結構體虛擬碼:
OK ,那剩下的我們只需要重寫CreateThreadEx 函式即可!
為了保證XP的相容,所以需要判斷一下OS版本,下面是完整的測試程式碼:
DLL就不貼了吧,有興趣的友友可以參考一下~~
<轉載請註明出處: http://blog.csdn.net/wangningyu/archive/2011/05/31/6456607.aspx >
相關文章
- 另類SQL拼接方法SQL
- 另類SQL優化SQL優化
- 另類 RobotFramework 使用法Framework
- ThinkPHP之另類RBAC效果PHP
- 另類網路層設計
- session_cached_cursor另類用途Session
- OpenBSD――另類安裝法(轉)
- [原創]介面、類、抽象類、物件的另類解釋抽象物件
- 解決 "Script Error" 的另類思路Error
- 宮鬥遊戲,另類財富密碼遊戲密碼
- iOS另類的記憶體管理iOS記憶體
- ORACLE FLASHBACK的另類應用薦Oracle
- FLV 的另類實現方法
- 《Erlang 4.08》另類破解手記
- 修改flashget的另類方法(已修正)
- 《有殺氣童話2》:另類童話世界開啟的另類MMO | 遊戲產品觀察遊戲
- 另類用法 hyperf/session 實現 API tokenSessionAPI
- Python裝飾器的另類用法Python
- 【丹臣】優化SQL的另類思考優化SQL
- 程式間通訊的另類實現
- 另類投資:AI藝術品定價指北AI
- AppBoxFuture(八): 另類的ORM實現APPORM
- 我的另類秋招 | 掘金技術徵文
- RSA 演算法和另類攻擊方式演算法
- C/C++中的字串另類連線C++字串
- Windows XP 中Net命令的另類用法(轉)Windows
- win電腦快速關機的另類方法
- 在模擬器遊戲裡體驗另類“人生”遊戲
- 同為部落格,不同風格 ——Hexo另類搭建Hexo
- CRM系統如何進行另類資料管理?
- 光碟機護理2.0 另類破解法 (857字)
- VC的另類資料庫程式設計(轉)資料庫程式設計
- Win32除錯API的另類應用Win32除錯API
- Java StringTokenizer 類使用方法概述Java
- 驚喜!一個檔案多個【請求類】的另類寫法
- 技術之外的工程師另類成長指南工程師
- JS中if(a ==1 && a== 2 && a==3)判定為true的另類思考JS
- BurpSuite+SQLmap的一種另類掃描UISQL