黃易群俠傳M脫機外掛應用程式黃易神行
21835
77

[原創] 如何通過NP對PostMessage的攔截,傳送按鍵訊息給楓之谷(BOT)

nimo1993 發表於 2008-2-28 00:53:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |
請勿轉載此文章

[ 概說 - PostMessageA 的 NP攔截方式 ]
NP攔截PostMessage的方式很簡單,就把程式的開頭加上一個JMP把你跳掉回不去,使你BOT程式當掉
   因此,我們必須將原有的程式還原使用,才可不被NP破壞您的程式架構,通常沒有成功通過NP檢察,您
   都會收到一個訊息「XXXX 發生問題,必須關閉,僅此致歉。」(XP平台)
在討問這個問題時,您必須要對System提供的DLL,API有所了解,以及PostMessageA的使用方法。
   使用方法不說明,故您必須對此PostMessageA這個function有所了解,此文只說如何通過NP。
MLBOT 的 Re-hooked 也是利用此方法過NP的!
----------------------------------------------------------------------------------------------------------------------
[ 原理 ]
到底如何不要讓程式被NP跳掉呢?
   讓我們來看一下,NP啟動時,他對楓之谷做了什麼蠢事
   比較一下兩張圖不同的地方
----------------------------------------------------------------------------------------------------------------------
【圖1】-NP啟動前,一切都正常

【圖2】-NP啟動後,程式碼竟然變了

----------------------------------------------------------------------------------------------------------------------
[ 為什麼有了這個JMP會導致當機? ]
因為該JMP位址的記憶體是空的,回不來,而且原本該執行的程式碼也被吃掉了一些
----------------------------------------------------------------------------------------------------------------------
[ 如何解決JMP問題呢 ]
方法可能有很多種,在【圖1】和【圖2】時,其實就透漏了一種方法
方法1:將整個User32.dll的PostMessageA部分Re-source
方法2:將失去的程式補齊,看一下以下範例  
  1. mov edi,edi
  2. push ebp
  3. mov ebp,esp
  4. jmp PostMessage+5
複製代碼

  說明:由於NP吃掉那5個Bytes,因此可在自己的程式,寫下了這幾行去呼叫PostMessageA,NP把那5個Bytes改掉
    我們沒辦法去修改他,所以可以在自己的程式把它補齊後再Jmp到原本+5的地方

----------------------------------------------------------------------------------------------------------------------
[ Q&A專區 ]
Q. 為何不能直接把jmp 458a7710直接改成jmp 77D1CB8A,讓程式繼續正常運作?
A. 有兩個原因:
     1.直接jmp到下一行,還是沒有還原原本NP吃掉的那些程式碼,一樣會當掉
     2. 此位址,有另外的CRC檢查,改了之後不是斷線就是重開機


Q. 為何我不能直接把那5 byte還原? 這樣也不會有上面那個問題「程式碼還是有少」了呀?
A. 別忘了,還有第二點,除了400000-7xxxxx外,還有另外的CRC CHECK

Q. 我能在它jmp的位址(458a7710) Alloc一個空間,並放上原本的程式碼並跳回原處嗎?
A. 答案是有可能的,意即不太確定,目前無實測!在ME裡,可以設定Alloc於哪<條件是要能過HSSDT>,在458a7710 alloc一個空間
    放上原碼再跳回即可,範例:
先用CE的DLL,CALL VAE(hProcess , 起始地址 , 長度 , 類型 , 寫入讀取模式),為458a7710 ALLOC 10 BYTES
458a7710: //(假設此空間,已被ALLOC)
mov edi,edi
push ebp
mov ebp,esp
jmp 77D1CB8A
這樣的程式,即可完全BYPASS PostMessageA
但是, 458a7710 這個位只是隨機抽選的,每此都不一樣 故此方法較不可靠






[ 本帖最後由 nimo1993 於 2008-2-28 01:09 編輯 ]

評分

!number_of_participants! 1經驗 +2 熱心 +1 論壇幣 +10 收起 理由
☆Smile〞薰 + 2 + 1 + 10 原創內容

查看全部評分

收藏收藏 分享分享 讚 幹 分享分享 FB分享

回覆

使用道具 舉報


隔〃心 當前離線
UID
663670
熱心
22 值
嘉獎
0 次
違規
0 次
在線時間
111 小時
經驗
33 點
積分
33
精華
0
最後登錄
2009-3-2
閱讀權限
20
註冊時間
2007-12-1
論壇幣
154 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
隔〃心 2008-2-28 01:04:58
搶頭了?

剛剛也有在浪***回覆您的文
NIMO大辛苦了…
我會好好看不是我科系內的東西…
因為需要嘛 哈哈yociexp190.gif 麻煩多多指教囉 "老師"

[ 本帖最後由 隔〃心 於 2008-2-28 01:07 編輯 ]
瓦解小白。
回覆

使用道具 舉報

lovechocolate 當前離線
UID
663414
熱心
37 值
嘉獎
0 次
違規
0 次
在線時間
71 小時
經驗
37 點
積分
37
精華
0
最後登錄
2010-4-8
閱讀權限
20
註冊時間
2007-12-1
論壇幣
69 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
lovechocolate 2008-2-28 01:09:49
哇 ! ! 好驚人的能力呀 ! ! 很少會有人知道了 ! ! 值得讚賞 ! !



杜絕小白
回覆

使用道具 舉報

nimo1993 當前離線
UID
364431
熱心
92 值
嘉獎
0 次
違規
0 次
在線時間
74 小時
經驗
129 點
積分
835
精華
3
最後登錄
2009-8-15
閱讀權限
30
註冊時間
2007-4-25
論壇幣
501 幣
聯合幣
9 枚
幸運鑽
0 顆
招待卷
0 點
查看個人網站 查看詳細資料
Rank: 4Rank: 4
nimo1993 2008-2-28 01:10:31
原帖由 隔〃心 於 2008-2-28 01:04 發表
搶頭了?

剛剛也有在浪***回覆您的文
NIMO大辛苦了…
我會好好看不是我科系內的東西…
因為需要嘛 哈哈yociexp190.gif 麻煩多多指教囉 "老師"


呵呵... 不要叫我老師...
應該是我叫你老師

回覆

使用道具 舉報

Jungshwens 該用戶已被刪除
5
Jungshwens 2008-2-28 01:14:54
提示: 作者被禁止或刪除 內容自動屏蔽
回覆

使用道具 舉報

nimo1993 當前離線
UID
364431
熱心
92 值
嘉獎
0 次
違規
0 次
在線時間
74 小時
經驗
129 點
積分
835
精華
3
最後登錄
2009-8-15
閱讀權限
30
註冊時間
2007-4-25
論壇幣
501 幣
聯合幣
9 枚
幸運鑽
0 顆
招待卷
0 點
查看個人網站 查看詳細資料
Rank: 4Rank: 4
6
nimo1993 2008-2-28 01:16:49
原帖由 Jungshwens 於 2008-2-28 01:14 發表
所有按鍵模擬 BOT 都這樣嗎

但像達人
似乎直接對MS下達命令
真是變態的外掛呢

遊戲盒子應該都是高手群
哪像爸煮....

還記得一年級老師說:【學生要有學生樣!】

用在爸煮:【外掛要有外掛樣!】


達人「直接對MS下指令」
由此可知,Either PostMessage or SendMessage,不是PostMessage就是SendMessage,兩個乍看之下似乎相同,但傳回是不相同的,但反正可以按鍵盤就好了.

PostMessage也是直接對MS下指令, 鎖定MS的hWnd, 對他進行各總訊息的操作, 如鍵盤就是其中一種.
完全沒動到您的鍵盤,而是直接傳送訊息給楓谷,因此就算視窗最小化也有效

[ 本帖最後由 nimo1993 於 2008-2-28 01:19 編輯 ]

回覆

使用道具 舉報

Jungshwens 該用戶已被刪除
7
Jungshwens 2008-2-28 01:20:35
提示: 作者被禁止或刪除 內容自動屏蔽
回覆

使用道具 舉報

nimo1993 當前離線
UID
364431
熱心
92 值
嘉獎
0 次
違規
0 次
在線時間
74 小時
經驗
129 點
積分
835
精華
3
最後登錄
2009-8-15
閱讀權限
30
註冊時間
2007-4-25
論壇幣
501 幣
聯合幣
9 枚
幸運鑽
0 顆
招待卷
0 點
查看個人網站 查看詳細資料
Rank: 4Rank: 4
8
nimo1993 2008-2-28 01:23:58

回覆 7# 的文章

呵 NimoBot 看來只有簡單的功能而已....
不像達人那樣厲害
因為傳送鍵盤左右走都失敗了,不知道為什麼按其它鍵都可以,就只有左右走不行
這就是為什麼MLBOT只有定點連打

達人似乎還有inject進DLL.. 做出一堆人性化的功能...

[ 本帖最後由 nimo1993 於 2008-2-28 01:25 編輯 ]

回覆

使用道具 舉報

Jungshwens 該用戶已被刪除
9
Jungshwens 2008-2-28 01:30:21
提示: 作者被禁止或刪除 內容自動屏蔽
回覆

使用道具 舉報

楓谷掛神 該用戶已被刪除
10
楓谷掛神 2008-2-28 02:47:47
提示: 作者被禁止或刪除 內容自動屏蔽
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-11-22 01:37 , Processed in 0.055265 second(s), 19 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?