如何製作exe游戲輔助的程序
㈠ 怎麼製作exe應用程序
1、雙擊桌面上的Microsoft Visual Studio 2008,打開軟體。
㈡ 如何開發游戲輔助軟體
開發游戲輔助軟體的方法如下:
1、首先,打開電腦,連接上互聯網,並下載開發軟體專用工具。
2、其次,打開製作軟體的程序軟體並根據你要設計的主題進行編輯和編程。
3、最後,製作完成一款游戲輔助軟體後需要進行大量的測試,測試軟體的穩定性和有效性。
㈢ 怎樣製作exe程序 來運行游戲
用ShellExecute,將父窗口的句柄設置為你的窗口。具體我再查查。
哈哈!終於可以嵌入了,聯眾游戲大廳也不復雜,只是把握住了需求嘛:
HANDLE handle;//process handle
HWND apphwnd;//window handle
/*************Global functions for hosting******************/
//Function to enumerate all windows.
int CALLBACK EnumWindowsProc(HWND hwnd, LPARAM param)
{
DWORD pID;
DWORD TpID = GetWindowThreadProcessId(hwnd, &pID);//get process id
if (TpID == (DWORD)param)
{
apphwnd=hwnd;//hwnd is the window handle
return false;
}
return true;
}
//Functio to start a orocess and return the process handle
HANDLE StartProcess(LPCTSTR program, LPCTSTR args)
{
HANDLE hProcess = NULL;
PROCESS_INFORMATION processInfo;
STARTUPINFO startupInfo;
::ZeroMemory(&startupInfo, sizeof(startupInfo));
startupInfo.cb = sizeof(startupInfo);
startupInfo.dwFlags = STARTF_USESHOWWINDOW;
startupInfo.wShowWindow = SW_HIDE;
if(::CreateProcess(program, (LPTSTR)args,
NULL, // process security
NULL, // thread security
FALSE, // no inheritance
0, // no startup flags
NULL, // no special environment
NULL, // default startup directory
&startupInfo,
&processInfo))
{ /* success */
Sleep(1000);
::EnumWindows(&EnumWindowsProc, processInfo.dwThreadId);//Iterate all windows
hProcess = processInfo.hProcess;
} /* success */
return hProcess;
}
void CXXXXXDlg::OnButton1()
{
CRect rect;
GetClientRect(&rect);
handle=StartProcess("C:\\WINDOWS\\system32\\mspaint.exe","");
if(apphwnd!=NULL)
{
::SetParent(apphwnd,m_hWnd);
SetWindowLong(apphwnd, GWL_STYLE, WS_VISIBLE);
::MoveWindow(apphwnd, rect.left, rect.top,rect.right, rect.bottom, true);
}
else
MessageBox("Cannot find Window");
}
㈣ 怎樣製作游戲輔助
做游戲輔助程序的原理及方法原 理 就 是 調 用 外 部 ( 游 戲 ) EXE 文 件 對 話 原 理 1 可 以 采 用 參 數 2 采 用 進 程 通 信 用 參 數 傳 遞 主 機 信 息 和 一 些 信 息 用 進 程 通 信 實 現 驗 證 是 否 是 我 項 目 中 的 游 戲 。 要看是什麼 游戲的輔助程序, 單機版游戲的輔助程序無非就是讀內 存中 的數據進行修改, 網 絡 游 戲 的 是 攔 截 數 據 包 進 行 修 改 . 摘 錄 : 輔助程序現在分為好多種, 比如模擬鍵盤的, 滑鼠的, 修改數據包的, 還有修改本地內存的, 但好像沒有 修 改 服 務 器 內 存 的 哦 。 修改游戲無非是修改一下本地內存的數據, 或者截獲 API 函數等等。 這里我把所能想到的方法都作一個介紹, 希望大家能做出很好的輔助程序來使游戲廠商更好的完善自己的技術。 我見到一篇文章是講魔力寶 貝 的 理 論 分 析 , 寫 得 . . . . . . . 進 程 間 通 信 , 你 開 發 的 什 么 輔 助 程 序 啊 。 那 你 還 要 啟 動 主 程 序 , 真 正 的 輔 助 程 序 是 模 擬 的 客 戶 端 , 不 用 啟 動 主 程 序 。 要 做 的 工 作 太 多 了 。 先 要 截 獲 登 入 網 絡 封 包 , 用 動 態 調 試 軟 件 截 獲 網 絡 接 受 封 包 也 就 是 rectveto 函 數 , 然 後 找 到 加 密 的 地 方 , 全 是 匯 編 , 然 後 翻 譯 為 你 寫 輔 助 程 序 的 語 言 。 然 後 把 截 獲 的 封 包 來 解 密 , 想 出 登 入 的 通 信 協 議 。 然 後 做 一 個 程 序 發 送 該 加 密 信 息 , 得 到 服 務 器 返 回 的 數 據 。 在進行解密分析任務屬性。 這樣一來一樣破解出登入的信息至少要 1 天。 這是高手中的高手。 一 般 破 解 出 大 部 分 通 信 協 議 要 一 段 時 間 , 決 不 是 什 么 進 程 間 通 信 。 這 樣 你 可 以 任 意 修 改 網 絡 的 數 據 封 包 發 送 模 擬 信 息 。 要 完 成 所 有 的 通 信 協 議 怎 么 也 要 有 一 個 月 。 所 以 輔 助 程 序 沒 有 專 門 的 公 司 一 般 只 有 一 點 點 功 能 。 向 什 么 , 瞬 間 移 動 , 就 不 是 發 送 了 一 個 平 常 的 數 據 把 坐 標 發 過 去 就 可 以 了 。 但是有些做得好的網路游戲, 它的主機會判斷你在這么短的時間裡面, 不可能移動著么遠的距離。 所以有些 輔 助 程 序 只 能 穿 牆 , 等 等 那 就 是 移 動 了 一 點 點 距 離 。 伺服器的解決辦法, 把牆加厚, 厚到你不可能在短時間通過, 哈哈輔助程序失效。 我 可 以 提 供 我 寫 的 截 獲 網 絡 封 包 程 序 , 解 密 工 作 要 大 家 自 己 做 了 。 應 為 我 的 匯 編 也 不 怎 么 的 , 只 能 拿 到 匯 編 論 壇 , 請 大 哥 翻 譯 。 動 態 調 試 工 具 softi ce, trw2000 trw2000 國 產 軟 件 , 簡 單 好 用 。 支 持 98 softi ce 功 能 強 大 。 支 持 98 , 2000 。 大家要的話在這里留言, 好多的人話我把我原來的程序改寫一下, 提供給大家。 QQ 登入這些信息都可以截 獲 , 但 是 亂 碼 ! 你 要 自 己 破 解 了 加 密 算 法 才 行 。 我 說 兩 句 , 1 、 網 絡 游 戲 , 客 戶 端 和 服 務 器 端 的 幾 種 通 訊 方 式 a 、 直 接 通 過 Wi nSock 編 程 接 口 進 行 , 大 多 數 的 網 絡 游 戲 采 用 這 個 方 式 。 b 、 通 過 HTTP 協 議 進 行 通 訊 , 有 些 網 絡 游 戲 利 用 I E 的 組 件 進 行 通 訊 。 很 少 C、 一種設想: 可以同過 SOAP 協議進行通訊, 還沒有見過這樣的大型網路游戲, 可能很快就會有。 2 、 服 務 器 端 程 序 的 構 造 方 式 通常是一個接受客戶端數據提交和響應客戶端數據請求的資料庫服務程序。 很多的網路游戲用 SQLServer 作為資料庫, 服務程序其實很簡單, 就是接受數據提交和響應數據請求。 有些伺服器端程序給予客戶-服務模型, 只有客戶請求數據他才向客戶傳輸數據, 這樣這個伺服器端演變成了一個普通的資料庫應用的伺服器端。 客戶之間數據同步也都是基於請求-響應模型。 伺服器端通常不主動地向客戶端發送數據。 這種模型有一個漏洞, 就是客戶端可以加快請求的頻率以獲得更多的伺服器相應, 這是某些輔助程序的基本原理。 有些伺服器端可以主動地向客戶端發送數據, 從而避免了這類輔助程序的干擾。 這類伺服器端構造比較復雜, 它需要紀錄鏈接的客戶信息等等。 為了加快響應時間, 平衡負載, 某些伺服器端使用了 Com+技術, 每次客戶請求數據或者更新數據的時候需要提供一個連接標志, 或者當前客戶的狀態。 還有的伺服器端為了加快響應速度, 他根本不紀錄客戶端的狀態, 他也不去資料庫請求數據進行驗證, 客戶端必須自己記住當前的狀態。 為了防止惡意輔助程序, 通常他會檢查新數據和客戶端提交的狀態之間的關系。 3 、 輔 助 程 序 的 基 本 方 式 a、 提高客戶端的時間節律, 這裡面有很多的方式, 一種, 提高時鍾硬體的節律, 和 I ntel 系列的 CPU 的配合的主板在時間控制方式上和早期的 8086 沒有任何差異, 可以直接修改, 在 Wi n2000 下面需要取得 Ri ng0 的許可權, 可以通過Servi ce 程序獲得。 還有一種截獲時間頻率的 API 比如 SetTi mer 之類的 API , 替換成自己的函數, 但是這樣根據不同的游戲控制節律的方式決定。 這一類方式對於伺服器端控制節律的網路 游 戲 是 沒 有 效 果 的 。 b、 修改客戶端的內存, 從而直接修改你需要修改的屬性, 這種方式一般沒有用, 如果伺服器端加強驗證是 很 難 奏 效 的 。 不 過 做 得 巧 妙 也 是 很 有 效 果 的 。 C、 控制客戶端和伺服器端的通訊, 這有很多的辦法, 常見的截獲Wi nsock 的 API 和使用網路過濾驅動程序, 這也有很多的辦法, 可以用增加 Wi nSock 的過濾層, 使用小埠網路驅動程序, 還有一個辦法就是使用代理伺服器截獲。 修改網路封包的方法, 和直接修改內存數據的效果差不多, 但是要靈活很多, 可以採用的策略更多, 取決於伺服器端的如何驗證數據有效的策略, 伺服器端的有效性驗證不可能十全十美,總有漏洞可以鑽, 這需要不斷的實驗和猜測, 如果你認識開發組的人, 那麼要簡單很多了 。 D、 完全的自己的客戶端, 效果和控制通訊一樣, 但是系統資源的耗費要少很多, 畢竟一個大的圖形客戶端佔用 的資源很龐大, 這適合於掛機玩游戲的玩家, 可以 同 時掛上好多 的角 色一起干。 E、 黑客的方式, 入侵伺服器, 直接修改資料庫, 這個方法最有效了, 繞開了一切伺服器的檢查, 不過要小心 GM 的檢查, 不要一次弄上很多, 一天升 2-3 級就可以了 , 否則, 肯定引起懷疑。 如果對方的 SQLServer 伺服器不在防火牆後面, 那麼就更容易一些, 有大量的方法可以採用。 直接攻擊伺服器程序也可以, 或者供給伺服器上面的其他服務, 唯一的目標, 就是植入木馬, 經典的就是緩存溢出攻擊, 如果對方的伺服器程序寫得不好, 一個極品封包就可以使他出錯。 植入了你的木馬, 你再寫一個好用一點的客戶端輔助程序就可以了。 小心坐牢。 如果你清楚電信機房的內幕, 可以攻擊任何和她比較近的伺服器, 比如在同一個網段的其他伺服器, 然後迂迴的攻擊。 不會所有的伺服器都是鐵桶一個, 一個有點漏洞, 其他的都有可能遭殃。 4、 封包破譯, 有很多的網路監控軟體可以使用, 可以直接看到客戶端和伺服器端的通信情況, 解密需要依靠自己的智慧了。 速度快一點, 用兩台電腦, 一個作代理伺服器, 截獲, 並且紀錄通訊的情況, 最簡單的你移動一下角色, 看看發送了什麼數據, 解密都不用作, 直接再發就可以了, 不過如果他整個封包加密,而不是一個數據一個數據的加密, 就很難看出來。 通常加密機制不復雜, 因為伺服器承受不了解、 加密的壓力 , 太 復 雜 的 加 密 他 不 會 用 的 。 分 析 數 據 包 , 主 要 依 靠 猜 測 。 基 本 方 法 就 是 對 比 。 1 、 完整的隔離出一個數據封包, 去掉其他的關於代理的, 或者其他的外加的信息, 這需要你熟悉網路協議。 2 、 對 比 封 包 , 觀 察 不 同 封 包 的 內 容 , 關 鍵 是 甄 別 出 不 同 封 包 之 間 相 同 的 結 構 。 3、 不同封包的差分對比。 上一個封包的狀態和下一個封包之間的微小差異, 客戶端僅僅變動很小, 觀察兩個 封 包 直 接 的 差 異 。 4、 不同用戶的, 相同操作的封包對比。