如何防止修改程式?

給予有關 HF 的建議

Moderator: 亞飆Wraind舞

Re: 如何防止修改程式?

Postby hocti » Tue Apr 03, 2012 1:40 am

加個function check有沒有不可能出現的設定就好了
搞亂計算公式是很差的寫法
User avatar
hocti
rank: justin
rank: justin
 
Posts: 524
Joined: Wed Nov 16, 2005 7:32 pm
Location: ezboard

Re: 如何防止修改程式?

Postby qpalz/ » Tue Apr 03, 2012 7:27 pm

hocti wrote:加個function check有沒有不可能出現的設定就好了
搞亂計算公式是很差的寫法

那個 function 被改掉 / 刪掉怎辦?
User avatar
qpalz/
rank: justin
rank: justin
 
Posts: 718
Joined: Wed Jun 29, 2011 1:19 pm

Re: 如何防止修改程式?

Postby ↖吾≠葉↘ » Tue Apr 03, 2012 8:51 pm

連私服也跑出來了那到底還有什麼…
異常資料不回傳正服?

對於私服我有個疑問

私服帳號能跟正服帳號互動?(指聯機對戰)

就算能互動但計算戰績時總會有異常吧



現在我比較想知道伺服器的資料庫能夠儲存哪些資料

最主要這兩個應該是要能抓到的:經驗值異常提昇、等級的異常(尤其是未開放角色)

遊戲歷程什麼的現在要考慮實在會很煩
兔魄組是絕配!\兔子/\庭師/
Image
User avatar
↖吾≠葉↘
rank: jan
rank: jan
 
Posts: 2778
Joined: Fri Sep 28, 2007 1:08 am
Location: 我隨風而來隨風而去    暱稱:某葉or幻葉        Nickname: Fantasy Leaf

Re: 如何防止修改程式?

Postby qpalz/ » Wed Apr 04, 2012 10:47 am

↖吾≠葉↘ wrote:連私服也跑出來了那到底還有什麼…
異常資料不回傳正服?

對於私服我有個疑問

私服帳號能跟正服帳號互動?(指聯機對戰)

就算能互動但計算戰績時總會有異常吧



現在我比較想知道伺服器的資料庫能夠儲存哪些資料

最主要這兩個應該是要能抓到的:經驗值異常提昇、等級的異常(尤其是未開放角色)

遊戲歷程什麼的現在要考慮實在會很煩

對了, 設計一個算法, 每次 server 被連接時以此產生一個序號回傳給遊戲, 遊戲確認此乃正確的序號後才工作, 否則斷線. 猜中算法應該不易
(截取封包顯示 HF 現行是由遊戲產生序號給 server, 防止有人直接利用瀏覽器改等級)
我截取過封包, 發現伺服器的資料庫好像只能夠儲存經驗值(等級根據經驗值即時計算), 而經驗值異常提昇、等級的異常應該可以抓到的
User avatar
qpalz/
rank: justin
rank: justin
 
Posts: 718
Joined: Wed Jun 29, 2011 1:19 pm

Re: 如何防止修改程式?

Postby hocti » Wed Apr 04, 2012 1:43 pm

這叫token制
>那個 function 被改掉 / 刪掉怎辦?
放在server上
User avatar
hocti
rank: justin
rank: justin
 
Posts: 524
Joined: Wed Nov 16, 2005 7:32 pm
Location: ezboard

Re: 如何防止修改程式?

Postby qpalz/ » Wed Apr 04, 2012 3:09 pm

hocti wrote:這叫token制
>那個 function 被改掉 / 刪掉怎辦?
放在server上

放在server上...
那麼別人就架私服了
然後用token制防止私服?
User avatar
qpalz/
rank: justin
rank: justin
 
Posts: 718
Joined: Wed Jun 29, 2011 1:19 pm

Re: 如何防止修改程式?

Postby paraselene » Wed Apr 04, 2012 6:59 pm

我只是隨便說說, 我相信應該無人會自行架私服, 而且架了別人也會覺得要改/etc/hosts煩而沒人用.
防止的方法很多種, 相信Marti也很清楚. 現在不implement是因為沒人這樣做而跟本沒這個必要.
最重要的還是怎樣防止別人修改memory 8)
paraselene
rank: sorcerer
rank: sorcerer
 
Posts: 27
Joined: Thu Nov 24, 2005 11:21 pm

Re: 如何防止修改程式?

Postby qpalz/ » Wed Apr 04, 2012 10:40 pm

paraselene wrote:我只是隨便說說, 我相信應該無人會自行架私服, 而且架了別人也會覺得要改/etc/hosts煩而沒人用.
防止的方法很多種, 相信Marti也很清楚. 現在不implement是因為沒人這樣做而跟本沒這個必要.
最重要的還是怎樣防止別人修改memory 8)

話說 /etc/hosts 是 Linux 的路徑吧! 你用 Linux?
防止別人修改memory:
1. 加個function放在server上 check有沒有不可能出現的設定
2. 用token制防止私服
User avatar
qpalz/
rank: justin
rank: justin
 
Posts: 718
Joined: Wed Jun 29, 2011 1:19 pm

Re: 如何防止修改程式?

Postby paraselene » Thu Apr 05, 2012 1:16 am

qpalz/ wrote:
paraselene wrote:我只是隨便說說, 我相信應該無人會自行架私服, 而且架了別人也會覺得要改/etc/hosts煩而沒人用.
防止的方法很多種, 相信Marti也很清楚. 現在不implement是因為沒人這樣做而跟本沒這個必要.
最重要的還是怎樣防止別人修改memory 8)

話說 /etc/hosts 是 Linux 的路徑吧! 你用 Linux?
防止別人修改memory:
1. 加個function放在server上 check有沒有不可能出現的設定
2. 用token制防止私服

我大部分時間也用Linux的, windows的host file好像是C:\Windows\System32\drivers\etc\hosts
你所說的並不是防止別人修改memory, 不過也
1. 很簡單, 現在已經有了, 聽說不做任何阻止Herofighter在打鬥完結時連去主server回傳資料而又被發覺用未開始的角色會被封24小時, 相信Marti加更多checking不難
2. 太多方法可以防止私服, asymmetric encryption, 加timestamp...etc, 留待Marti自行決定用甚麼方法
我想說的是mochi encryption暫時好似幾堅固, 應該較難被人decompile herofighter的swf, 所以現在方法應該都是直接修改memory, 因為就算寫program的人好少亦好難知道佢背後在RAM的資料是甚麼怎樣運作, 相對想encrypt也應較難.
paraselene
rank: sorcerer
rank: sorcerer
 
Posts: 27
Joined: Thu Nov 24, 2005 11:21 pm

Re: 如何防止修改程式?

Postby 無雙戰神 » Thu Apr 05, 2012 1:31 am

這樣修改法
無故事不勝

Image
Image
Image
Image
User avatar
無雙戰神
rank: jan
rank: jan
 
Posts: 5108
Joined: Sun Feb 21, 2010 12:29 pm
Location: 香港

Re: 如何防止修改程式?

Postby qpalz/ » Thu Apr 05, 2012 10:47 am

paraselene wrote:我大部分時間也用Linux的, windows的host file好像是C:\Windows\System32\drivers\etc\hosts
你所說的並不是防止別人修改memory, 不過也
1. 很簡單, 現在已經有了, 聽說不做任何阻止Herofighter在打鬥完結時連去主server回傳資料而又被發覺用未開始的角色會被封24小時, 相信Marti加更多checking不難
2. 太多方法可以防止私服, asymmetric encryption, 加timestamp...etc, 留待Marti自行決定用甚麼方法
我想說的是mochi encryption暫時好似幾堅固, 應該較難被人decompile herofighter的swf, 所以現在方法應該都是直接修改memory, 因為就算寫program的人好少亦好難知道佢背後在RAM的資料是甚麼怎樣運作, 相對想encrypt也應較難.

防止別人修改memory除了把各variable加密, 較難被改外, 再沒有辨法了吧!
但此法也會被破解:
    1. 在遊戲把variable解密的一刻修改
    2. 找出加密算法
且會減低運行速度
所以check有沒有不可能出現的設定應該較好
check 的方法:
    1. 將資料傳到 server, 由 server 判斷 (要防止私服)
    2. 把 check function 加密

PS: 用 Linux 的人真少, 終於找到有人跟我一樣也是用 Linux 的了!
Last edited by qpalz/ on Wed Jul 25, 2012 7:27 pm, edited 1 time in total.
User avatar
qpalz/
rank: justin
rank: justin
 
Posts: 718
Joined: Wed Jun 29, 2011 1:19 pm

Re: 如何防止修改程式?

Postby nucleargod » Sun Apr 08, 2012 6:38 pm

我猜,HF大概為了遊戲速度把太多東西放在 client 端才會被修

大體上來說就是兩個選擇:
速度跟安全性

越安全速度就只能越慢,要速度快就只能犧牲一些安全性
        │回│只│填│莫│承│此│荒│余│說│言│ │
   │    │天│怕│牢│道│時│刻│嬉│今│學│業│荒│
   │    │也│人│尚│羊│尚│無│不│竟│廢│精│ │
   孤    │不│無│可│亡│可│能│起│墮│此│於│業│
  珍客    │醫│改│移│盡│依│救│兮│此│嬉│勤│ │
  奇
nucleargod
rank: mark
rank: mark
 
Posts: 143
Joined: Sat Apr 17, 2010 2:23 pm
Location: 台灣高雄市

Re: 如何防止修改程式?

Postby okeout » Tue Jun 05, 2012 1:33 pm

HF太多BU G 了,相信小熊更新 V 0.6 太累,沒什麼時間修改,在小熊未修改bu g 之前最好不要用這些bu g

我倒是覺得BU G 有點似外掛 - -
戰神鬼魂 復仇時刻

鬼魔降臨,無天之策
User avatar
okeout
rank: sorcerer
rank: sorcerer
 
Posts: 26
Joined: Sun Jun 03, 2012 8:24 pm
Location: Hong Kong(中國香港)

Re: 如何防止修改程式?

Postby 醒目仔 » Mon Aug 13, 2012 4:51 pm

一個辦法:玩單機。
User avatar
醒目仔
rank: bandit
rank: bandit
 
Posts: 1
Joined: Mon Aug 13, 2012 4:46 pm

Previous

Return to 建議區

Who is online

Users browsing this forum: No registered users and 1 guest