close
以下方法可以對付一般遊戲,可爆爆和跑跑有HS問題,所以無法打開進程。
        hwn = FindWindow(vbNullString, strGame)
        GetWindowThreadProcessId(hwn, Pid)
        hProcess = OpenProcess(&H1F0FFF, False, Pid)
如何直接由.exe處理程序獲得Pid,而不用上面的由視碼獲得Pid?!
 
那不是重點...
HS並沒有Hook FindWindow這個函數(吧)NP倒是有...
重點是HS的進程保護會使你OpenProcess失敗
你真的要解決的是這個問題~
你有幾種解決方法
1. Change ImagePath (Inndy大神的clsHack裡面有,或者使用InlineHook.dll、taskmgr.dll、LifeBot之類的東西都可以...)
2. Zombie Process (原理其實跟上面差不多只是達成方式不同)
3. HackShield Driver(Debug) Bypass
4. Ring0 Driver

我只想到了這些,我這個小嫩嫩什麼都不會寫~
//-----------------------------------------------------------

回完才發現我的回答偏離你的問題重點了 :D
順便議題VB.Net有個很方便的函數~
你只需要
Dim MSProcess As Process = Process.GetProcessesByName("MapleStory")(0)
就可以了 (P.s 是A大教我的,我什麼都不會喔XD
回完才發現我的回答偏離你的問題重點了 :D
順便議題VB.Net有個很方便的函數~
你只需要
Dim MSProcess As Process = Process.GetProcessesByName("MapleStory")(0)
就可以了 (P.s 是A大教我的,我什麼都不會喔XD

1. 這不是函數,這是物件
2. 這是.NET都能用的
3. 這樣寫的話...萬一沒開楓之谷會噴Error

 

1. 這不是函數,這是物件
2. 這是.NET都能用的
3. 這樣寫的話...萬一沒開楓之谷會噴Error
Inndy 發表於 2012-8-11 17:53 

可以先用掃過一次處理程序,
看有沒有開啟,
再用以上方法。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 UM程式研究日誌 的頭像
    UM程式研究日誌

    UM程式研究日誌

    UM程式研究日誌 發表在 痞客邦 留言(0) 人氣()