作者ddavid (谎言接线生)
看板GameDesign
标题Re: [程式] 更新程式
时间Fri Jun 13 13:37:07 2008
※ 引述《gamblemaker (GambleMaker)》之铭言:
: ※ 引述《gamblemaker (GambleMaker)》之铭言:
: : 推 GALINE:CRC、MD5、SHA都是一样功能的东西,爱用CRC是因为CRC速度快 06/13 12:38
: : → GALINE:不考虑强固性,只考量档案版本跟是否有传输错误,CRC就能用 06/13 12:40
: 我是想回这位大大的推文 感谢你的推 我也回报你一下
: 你不知道 TCP 里面有 CRC 吗??
: checksum 那栏干麽用的....
前面他推文已经讲了,TCP内的检查跟对档案的检查完全是两回事,不然网路安
全上就不需要害怕封包被置换这回事了。
: 还有 crc 怎样确保档案是唯一的?? 还有所谓强固性是什麽东西???
理论上任何hash function都无法确保档案唯一(因为再怎麽样大多是比原档案
的资讯量为少),它最多只能1.不同但相似档案同码的机率降低,2.尽可能无法逆推
算创造出一个同码的档案。
: → GALINE:P2p跟ftp跨nat一样可以用,列表公开只要你不让人上传就没事 06/13 12:41
: p2p跟ftp跨nat当然可以用 但是你有办法解决吗?
: 也许你很强花一天就解决这个问题了
: 那我们假设 server 後面也是 nat ? 请问哪个比较方便??
: 列表公开真的不上传就没事吗?我中间给你 proxy 你怎麽办?
: 在加上你只有 CRC , 档案要被换爽的喔?
首先你一开始是这样问的:
※ 引述《gamblemaker (GambleMaker)》之铭言:
: 我们都知道游戏启动前都会有一个检查更新的
: 不知道那个要怎麽做呢?? 有什麽书可以参考?或者是有程式码??
你问的问题看起来是很初步的问题,所以该回答并无不妥。但是既然你看起来好
像多少懂一点,那先不讨论你问问题的方法根本就不对这回事好了,直接针对你这里
的安全性问题来说,基本上这些完全是server端要搞定的事情,跟CRC什麽的根本无
关。
要注意的是,Updater最初根本是不知道Patch档的存在跟内容,所以它一定是连
到了server才能经由server的提供得知该Patch档的CRC或md5等等资讯。如果它是直
接从档案本身计算,那麽档案被换掉的话Updater也无从得知。如果是server另外在
某处直接提供一个算好的资讯,能换得掉Patch档的Cracker只要trace Updater一样
可以找到那资讯来源,一起换掉就好了。意思是在档案会被换掉的前提下,Updater
本来就几乎是无从预防。所以你提的问题只能从server安全性上去做,这个问题就完
全跟Updater没有关系,跟传输方法也没有关系。
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.110.138.119
: ※ 编辑: gamblemaker 来自: 140.110.138.119 (06/13 13:09)
: ※ 编辑: gamblemaker 来自: 140.110.138.119 (06/13 13:11)
: 嘘 ccumaya:摆明讨战 为何删了原本的文? 态度很差 请教後又呛传教者 06/13 13:13
--
「如果你还知道墙壁或地板是硬的,就不该老是去用头撞啊!」
「你在说什麽,为什麽我会没事去用头撞墙撞地板啊!」
「不然,还有什麽理由能解释你怎麽这麽笨啊!」
--兰娜.席斯塔
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.18.222
1F:→ gamblemaker:你的内容比较没有帮助..你用patch档 但一般是per file 06/13 14:24
2F:→ ddavid:patch只是一种说法,你从server载档下来覆盖或修改本身就 06/13 14:26
3F:→ ddavid:是一种patch的动作,而且不管是那一种,对於能置换档案的 06/13 14:27
4F:→ ddavid:cracker都是一样的。就算你说的狭义patch也一样需要载东西 06/13 14:28
5F:→ ddavid:下来,结果是一样的。 06/13 14:28