c語言外掛製作
『壹』 製作輔助需要什麼
c語言可以,學會了別的語言就都會了,C語言出了個漢化版的
一、
先說一下寫一個外掛需要什麼條件
1
、熟練的
C
語言知識
目前的外掛大部分都是用
BC
或者是
vc
寫的,擁有熟練的
C
語言知識是寫外掛的基本條件
2
、具有很強的匯編基礎
一般游戲都不可能有原代碼的,必須靠反匯編或者跟蹤的辦法來探索其中的機理
,所以有強的匯編基礎也是必不可少的條件
3
、熟練掌握跟蹤和調試的工具
有了上面
2
個條件後,掌握一些工具也是很有必要的
跟蹤的工具,
softice
當然是不二之選,至於反匯編的工具,我推薦用
IDA
PRO
這個工具反匯編出來的代碼結構清晰,非常好讀
如果你不具有上面的條件,還是先把基礎打好,再來寫外掛吧,一分耕耘,一分收獲,天下
沒有白掉的餡餅的
二、寫外掛面臨的基本技術問題
1
、修改進程的執行代碼
要修改進程的執行代碼,
要先取得進程的
ID,
如果是由外掛程序啟動,
返回值里就有進程
ID,
如果不是的話,
需要用
findwindow
找到窗口句柄,
再用
GetWindowProcessID
取得進程
ID,
取得進程
ID
以後,
就可以用
writeprocessmemory
來修改進程的執行代碼了,使程序按照我們的意願來執行,石器外掛里
的不遇敵、寸步遇敵
就是用這樣的方法來實現的
2
、截獲外掛發送和接收的封包
除了通過修改代碼來實現的功能以外,
很多的功能都是通過修改封包來實現的,
要修改封包,
首先要能截獲它。
第一步是要跟蹤出發和收的位置,
至於怎麼跟蹤,
我以後會提到,找到位置以後,
有
2
個辦
法,一是在那個位置加一
個
jmp
語句,跳到你的處理函數位置,處理完後,再跳回來,這種方法要求比較高,需要
處理好很多事情,另一種辦法
是往那個位置寫條能造成例外的指令,
比如
int 3,
然後用
DebugActiveProcess
調試游戲進程,
這樣每當游戲執行到那個
位
置
的
時
候
,
就
會
停
下
來
,
到
外
掛
程
序
里
面
去
,
等
外
掛
程
序
處
理
完
以
後
,
用
ContinueDebugEvent
繼續運行程序。
今天先寫這么多,下回將討論外掛的具體功能該怎麼實現
今天來談談地址的調查問題,
地址調查是寫外掛中最艱辛,
最富有挑戰性的事情,
很多朋友
問我要外掛的原程序,其實有了外掛原程序,如果你不會調查地址,還是沒用的,
原程序和地址的關系就象武學中招式與內功的關系,
沒有內功的招式,
只是一個花架子。
而
內功精深以後,
任何普通的招式,
都有可能化腐朽為神奇,
外掛中的地址分為兩類,
一類是
程序地址,一類是數據地址。象石器中的雙石器,真彩,不遇敵,寸步遇敵,發送接收封包
等,
都屬於第一類,
而人物坐標,
狀態等,
都屬於第二類。
對於第一類地址,
主要依靠
softice
來調查地址,對第二類地址,可以用一些游戲工具,比如
fpe,game
expert,game
master
等來
調查,我一直用
game expert,
因為我找不到
2000
下能用的
fpe,
各位以前用
fpe
改游戲的時候,沒想過他也能用來干這個吧
對於第二類數據的調查方法,
大部分人都很熟習了,
我就不多說了,
現在主要來談談第一類
數據的詳細調查過程,
比如我們要調查發送封包的位置,
如何著手呢,
客戶端往伺服器要發
很多封包,
但最簡單的辦法莫過從說話的封包入手,
先說一句很長的話,
最好是英文,
查起
來方便,
說完以後,
用任意一種辦法進入游戲程序的進程空間
(比如先用
spy
查出遊戲程序
的窗口句柄,
再切換到
softice
打入
bmsg
窗口句柄
wm_lbuttondown,
這樣在游戲程序中一點
滑鼠就進入了他的進程空間)
然後用
s
命令查出這句話所放的內存地址,
記下這個地址,
在
softice
中打入
bpm
剛才調查到的地址,這個指令的意思是只要有訪問這個內存的動作,立
刻中斷,然後再切換到游戲,說一句話,你會發現
softice
自動中斷到某一個位置了,從這
個位置跟蹤下去,發送封包的位置也就不遠了。
上面所說的都是針對一個全新的游戲程序而言,
如果是一個老的程序,
有前輩做了大量的工
作,還可以用些別的辦法,如反匯編等,來調查。以後游戲版本的更新也是如此,只要把老
版本的地址位置附近的代碼記下來,去新版本的代碼裡面
search
一下,就
ok
了,如果不會再私信我
『貳』 C語言下自己製作資源腳本!
我個人認為java最好!不過你也可以先了解比較一下!
ASP是Active Server Page(動態伺服器主頁)的縮寫,是伺服器端腳本編寫環境,使用它可以創建和運行動態、交互的 Web 伺服器應用程序。使用 ASP 可以組合 HTML頁、VBScript腳本命令和JavaScript腳本命令等,以創建交互的 Web 頁和基於 Web 的功能強大的應用程序。
由於腳本程序是在伺服器上而不是在客戶端運行,傳送到瀏覽器上的 Web 頁是在 Web 伺服器上生成的。所以不必擔心瀏覽器能否處理腳本:Web 伺服器已經完成了所有腳本的處理,並將標準的 HTML 頁面傳輸到瀏覽器。由於只有腳本的結果返回到瀏覽器,所以伺服器端腳本不易復制。用戶看不到創建他們正在瀏覽的頁的腳本命令。
JSP(Java Server Pages)是用JAVA語言作為腳本語言的,JSP網頁為整個伺服器端的JAVA庫單元提供了一個介面來服務於HTTP的應用程序。
PHP是一個基於服務端來創建動態網站的腳本語言,您可以用PHP和HTML生成網站主頁。當一個訪問者打開主頁時,服務端便執行PHP的命令並將執行結果發送至訪問者的瀏覽器中,這類似於ASP和CoildFusion,然而PHP和他們不同之處在於PHP開放源碼和跨越平台,PHP可以運行在WINDOWS NT和多種版本的UNIX上。它不需要任何預先處理而快速反饋結果,它也不需要mod_perl的調整來使您的伺服器的內存映象減小。PHP消耗的資源較少,當PHP作為Apache Web伺服器一部分時,運行代碼不需要調用外部二進製程序,伺服器不需要承擔任何額外的負擔。
c語言雖然功能強大,但是不適合製作網頁
所以如果你想成為一個優秀的網頁設計師,竊以為jave最好.
java著名的一位蔡學鏞先生曾給出經典的學習歷程:
1)學習java的原理 (這個階段,找兩本書來好好看看)
2)學會java語言
3)學會面向對象的思維
4)學習API
5)學習開發工具的用法
我自認為此方法很好,一定注意按部就班,開始不太懂也沒關系.等到學進去了,慢慢就明白其中深意和方向。
每一步都注意大量看書,和練習。至於在電腦上運行用虛擬機,這個屬於學習了一段時間之後的事情,不要操之過急.
如果你是學生的話,最好是多泡圖書館!
最好的估計(如果你學習勤奮並且有一定的c語言的基礎的話)2-3個月的時間你就可以小有成就了,但是也會存在很多的問題,需要你實踐去解決!
因為你說的"學會''的標准不是很明確,我只能告訴你如果只是會皮毛的話,上述的時間已經夠了,如果是精通的話,那是一輩子的事情!
『叄』 用C語言可以寫游戲輔助嗎
C語言是寫輔助的必不可少利器
我寫過一個單機游戲輔助,要的話可以發給你參考一下
『肆』 如何做單機游戲掛機腳本 (c語言)
c不是腳本語言 極不方便
『伍』 c語言編寫掛:
先學習匯編,你要做掛!那麼就要涉及到內存,所以匯編最合適,但那個一般都是掛機的單機掛,也就是模仿按鍵精靈,如果想開發能做網路數據的掛那就要學習tcp ip這些,
所以先匯編 再c語言 然後就tcp 編程就可以了 學習匯編的時候需要掌握反匯編很一些常用的反匯編ide的使用
『陸』 怎樣製作游戲輔助
做游戲輔助程序的原理及方法原 理 就 是 調 用 外 部 ( 游 戲 ) 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、 不同用戶的, 相同操作的封包對比。
『柒』 誰替我用C語言做DNF輔助
做這個至少要有點基礎,幫不了你了 你可以自己去學學簡單編程然後再來做
『捌』 我想製作一個手機輔助,請問我該學習那些啊用什麼軟體編程啊我是一個c語言初學者
路漫漫啊,先把C語言學好,最好能做到大神級別。再學C++,主要學面向對象的編程,掌握」類、對象、成員、方法等編程方法,再三學習java,java與C++類似,學習跨平台的編程。再四學習數據結構和演算法,學習編程技巧。再五學習軟體工程,主要學習做項目完成軟體編程的思想。再六學習安卓系統或IOS系統,進入移動領域,可以完成手機軟體的編程。要有耐心,耐得住寂寞,十年磨一把劍,千萬不要一年磨十把劍。