1. 程式人生 > >利用ACL保護遊戲

利用ACL保護遊戲

使用一種比較偏僻的方法來實現應用層反除錯。這個方法是windows的 訪問控制列表(ACL)。應用這個方法可以阻止其他程序開啟被保護程序。

偵錯程式在附加一個程序時需要OpenProcess,如果在程式中加入訪問控制列表,拒絕某些程式訪問,就可以阻止其他程序包括偵錯程式開啟遊戲程序。

使用訪問控制列表保護的基本方法如下:

1. 初始化一個Secrity Identifier安全身份牌,用來後續新增訪問列表項。

2. 獲取當前程序的安全身份牌

3. 初始化一個訪問控制列表。

4. 新增訪問列表項,包括阻止的和允許的。

5. 將設定好的訪問控制列表新增到本程序。

 

這樣,當前程序就具有訪問控制列表了。

效果圖:



難點在於windows這套訪問控制的API的使用方法。Windows訪問控制模型很複雜很頭疼一個API會牽出一大把初始化要用的API。相關API和結構體複雜,可是參考文獻奇少,MSDN上關於一些訪問控制相關API的使用和結構體的描述都含糊不清也沒有什麼程式碼例項。只能慢慢摸索和測試。