但是其實有些不對的地方，想說我來分享一下我的觀點。
我本身從事資訊行業的，專長就是外掛這個領域，曾經開發過楓之谷、跑跑卡丁車、救世者之樹、神魔之塔、白貓Project.....等等相關遊戲的外掛程式。
切回正題！
(一) 遊戲架構：
線上遊戲會有兩種架構，一個是伺服器端，另一個是客戶端。
依照遊戲的邏輯，可能會有幾種狀況：
十年前的MMORPG大部分都是這個架構，外掛可以透過更動遊戲程式的邏輯來影響更新的資料，例如：攻擊傷害、補血魔的量、攻擊速度.。
外掛基本上分為幾種類型：
這類型的外掛通常影響上述第一種線上遊戲架構，他們更動遊戲資料後，客戶端讀取這些資料進行計算，最後傳送給伺服器。
舉個例子：在楓之谷這個遊戲中，有人會更動遊戲檔案 （Skill.wz）來更動攻擊力之類的，進而達成滿傷的結果，但是更動後，雖然客戶端打出數字，實際上卻是打空的效果，這就是伺服器檢驗不通過所造成的。 那前陣子在該遊戲有些特殊技能能有實際改動傷害的效果可能是因為他們沒有檢查到那部分而已.。
這類方法對於像黑沙這種遊戲來說，大部分遊戲資訊的運送都在伺服器上這種的，基本上找不到什麼能改的，最多就自爽的R18裸體模組這種東西。
這類型的外掛，他不更改遊戲檔案，而是在遊戲運行過程中，更動記憶體來達成想要的功能。程式在運行時，遊戲的程式碼、資料都會被放入記憶體中等待執行、讀取或是寫入，外掛開發者會去找特定功能的遊戲程式碼在哪些記憶體位置中，去攔截並插入自己的程式，來達成遊戲邏輯的更動。
這種外掛可以改攻擊傷害技能數值，但也受限於上述第一種遊戲伺服器架構。
而如果是模擬功能，呼叫走路、釣魚這種，他實際上影響的是遊戲行為，就不受限了。
能影響遊戲資料的通常是手遊，手遊通常用我們平常瀏覽網站的協定來做伺服器與客戶端之間的溝通，外掛通常是一個代理伺服器，像是以前神魔之塔更改隊友牌組的代理伺服器外掛。
另一種通常是為了提供遊戲內的資訊而開放的，希望可以透過程式化取得遊戲資料，舉例來說，我朋友之前有寫了一個納貢資料查詢系統，他利用python程式語言仿造客戶端與伺服器之間的溝通，讓程式模擬點納貢NPC的封包，解析伺服器回傳的納貢封包後，將資料上傳到網頁顯示。最後我只要每個伺服器創好帳號，我開一台伺服器每個伺服器跑一次腳本，就能取得所以伺服器納貢剩下多少數量的資料了，節省非常多資源，不用十幾開遊戲之類的。
按鍵精靈就屬於這類，他並沒有實際侵入遊戲記憶體，而是呼叫系統本身提供的功能來模擬玩家的行為、取得截圖用圖片辨識演算法來判斷狀態。這種通常一定要開著遊戲在最上層，可能不能做其他事之類的。
國外有個黑沙的 AutoFishing 就是透過這樣的方式自動釣魚。
就找GM來抓，通常找工讀生之類的來抓。
通常是伺服器發現玩家行為有異常（攻擊力不對、攻擊太快、移動太快，半夜持續手動釣魚的行為）後，將玩家斷線、鎖定帳號之類的。黑色沙漠不確定有沒有這個機制，之前我有找到台服攻擊跟移動加速，小測一下後好像有點效果，但可能黑沙也可能只是把異常回報GM，再由GM巡邏取締也說不定。
常見的XignCode3、HackShield 、NProtect 屬於這類，他們通常是由一些防毒公司、對系統底層很了解的工程師（這算真的駭客等級了）、甚至外掛工程師所開發的。他們的原理基本上就跟外掛沒兩樣，想像成比較毒的，不會影響遊戲邏輯，幫遊戲公司找出遊戲外掛的軟體。這些軟體基本上跟駭客的木馬有87%像，像是HackShield具有遠端遙控、遠端執行程式碼的功能，你能想像裝這個等於電腦開了一個門給遊戲廠商進入呢。雖然平常肯定不會開這些功能就是了，不然應該一堆公司會被吉。這類防外掛程式通常會掃描玩家電腦的程式有沒有不該開的，比方說外掛、偵錯程式..etc，可能是用執行檔案的名稱做過濾，或是視窗的標題。那通常是原廠會把外掛提供給第三方防掛軟體的廠商，讓他們把該程式的特徵加入黑名單，然後這個外掛就會被偵測了。
他們都有定期回報外掛的程式給第三方防掛來偵測，沙士每週一固定會被XignCode3偵測到就是這個原因。官方沒意外都會去買程式回報。
至於伺服器內的行為偵測應該是分析後有異常會通知GM吧，畢竟資料分析不是 0 誤判的，GM必須巡邏過濾正常玩家。
以上是一個曾是外掛工程師的路人來分享心得，有任何錯誤歡迎指教，希望透過這篇文能讓大家了解一下這方面的一些小知識。
我研究楓之谷最久﹑官方其實一直都有在做回報啦，當初吸怪徹底被偵測系統逮到，連大陸外掛的西怪都不見了，只能出些特定技能的無延遲。Nexon原廠自己也開始在拓展防作弊引擎技術的開發，楓之谷現在使用的 Nexon Guard Security 就是原廠寫的。