แพ็คเกจเนื้อหาที่กำหนดเองสำหรับไฟล์


13

ฉันกำลังจะซื้อชุดโมเดลจำนวนหนึ่งจากเว็บไซต์เพื่อทำต้นแบบเกมของฉัน ในสัญญาระบุว่าฉันต้องปกป้องพวกเขาเพื่อป้องกันไม่ให้ประชาชนเข้าถึงพวกเขา

ฉันจำได้ว่าทำงานกับเกม Valve พวกเขาใช้. gcf (ไฟล์เนื้อหาเกม) ซึ่งโดยทั่วไปแล้วเป็นการเก็บถาวรเนื้อหาทั้งหมดสำหรับแต่ละเกม พวกเขาบรรจุเสียง / วัสดุ / รุ่น / แผนที่ / ฯลฯ ฉันคิดว่ามันอาจไม่ใช่ความคิดที่ดีที่จะพัฒนาสิ่งที่คล้ายกับนี้และเพียงเขียนเครื่องมือขนาดเล็กเพื่อให้ฉันเพิ่ม / ลบไฟล์ออกจากมัน

ปัญหาคือฉันไม่รู้ว่าจะเริ่มต้นอย่างไรกับเรื่องนี้ ฉันลองใช้ Google แต่ไม่รู้ด้วยซ้ำว่าจะค้นหาอะไร หากใครมีความคิดใด ๆ ลิงก์ที่อาจเป็นประโยชน์หรืออย่างอื่นฉันก็จะขอบคุณมันมาก

คำตอบ:


9

การจัดเก็บข้อมูลของคุณในรูปแบบที่เก็บปิดบังเล็กน้อยเช่น7-Zip

ให้นามสกุลไฟล์ต่าง ๆ แก่พวกเขาเพื่อให้ผู้ใช้ทั่วไปไม่สามารถเปิดได้อย่างง่ายดายด้วยโปรแกรมซิป

ใช้physfsเพื่ออ่านและเข้าถึงไฟล์เหล่านั้น นอกจากนี้ยังช่วยให้คุณทำงานกับไฟล์ในไดเรกทอรีภายในเครื่องของคุณได้ด้วยดังนั้นคุณสามารถทดสอบทรัพยากรใหม่ได้โดยไม่ต้องสร้างแพ็คเกจใหม่ แนะนำเป็นอย่างยิ่ง

พิจารณาการเข้ารหัสที่ไม่สำคัญมากกับเนื้อหาเช่น การเข้ารหัสแฮคเกอร์ เขียนไฟล์แบตช์หรือสคริปต์เล็กน้อยเพื่อสร้างแพ็คเกจของคุณเข้ารหัสข้อมูลตามที่มีอยู่และใช้ฟังก์ชันเดียวกันเพื่อถอดรหัสข้อมูลในเกมของคุณ

สิ่งนี้จะไม่ทำให้ผู้ใช้ที่ได้รับการพิจารณาไม่มีความประสงค์ แต่มันจะดีพอที่จะสนองความต้องการของแพ็คโมเดลของคุณ


มีคนแนะนำหมอให้ฉันเมื่อคืนก่อน ห้องสมุดเล็ก ๆ ที่ดี
greyfade

8

หากคุณเป็นแค่ต้นแบบฉันก็ไม่ต้องกังวลกับการบรรจุสินทรัพย์ของคุณลงในไฟล์ GCF / ZIP / PAK ประชาชนจะไม่เห็นต้นแบบของคุณ!

นอกจากนี้ GCF ของ Valve ให้การปกป้องเนื้อหาของคุณเช่นเดียวกับไฟล์ ZIP เช่นศูนย์ ไฟล์ไม่ได้เข้ารหัส คุณสามารถดาวน์โหลด GCFScape เพื่อเรียกดูและแยกเนื้อหา

มันไม่คุ้มที่จะใช้ความพยายามในการสร้างระบบไฟล์แพ็คของคุณเองเว้นแต่คุณจะมีความต้องการที่เฉพาะเจาะจงในขณะนี้ซึ่งไฟล์ ZIP หรือกลไกการเข้าถึงไฟล์ของ OS นั้นไม่ได้พบกัน ในความเป็นจริงเหตุผลเดียวที่ฉันคิดได้คือ:

  • การทำให้เนื้อหายุ่งเหยิง (ทำให้ไฟล์ของคุณปลอดจากการปรับแก้นั้นมีการใช้งานอยู่ฉันยังคงแนะนำเกินความต้องการปัจจุบันของคุณ)
  • การจัดเก็บข้อมูลเมตาต่อไฟล์เพิ่มเติมในวิธีการเฉพาะของเกมเพื่อช่วยให้ไดรฟ์ข้อมูลเนื้อหาของคุณในบางวิธี
  • ศึกษาข้อ จำกัด ระบบไฟล์ของระบบปฏิบัติการเช่นต้องการเข้าถึงไฟล์ขนาดเล็กหลายพันไฟล์อย่างรวดเร็วหรือสร้างความมั่นใจในการเข้าถึงข้อมูลที่ต่อเนื่อง (นี่เป็นสิ่งจำเป็นสำหรับการกำจัดกลิ่นเมื่อต้องทำงานกับคอนโซล)

ฉันเห็นด้วยอย่างสมบูรณ์ ปัญหาคือฉันจะไม่สามารถปล่อยตัวอย่างโดยไม่มีการป้องกันบางอย่าง ZIP รู้จักกันดีเกินไป PAK ก็เหมือนกัน อย่างน้อยในรูปแบบที่กำหนดเอง (Valve ต้องใช้ปุ่ม CTX ซึ่งเป็นฮาร์ดโค้ดในเอ็นจิ้นเกมเพื่อเข้าถึงไฟล์ GCF) โจเฉลี่ยจะไม่สามารถเรียกใช้เครื่องมือดึงข้อมูลและเข้า
Aidan Knight

Woops ไม่รู้ว่าเข้ามาจะไม่ลงเส้น อย่างไรก็ตามฉันพบnemesis.thewavelength.net/index.php?p=35ซึ่งดูเหมือนว่าจะเป็นโอเพ่นซอร์ส Lib ที่ให้ฟังก์ชัน GCF ที่เป็นอิสระจากเกม Valve ปัญหาที่ฉันเห็นที่นี่คือมันมีประสิทธิภาพมากเกินไปและฉันกำลังมองหาบางสิ่งที่ง่ายกว่านี้เพียงแค่สร้างรุ่นพื้นฐานเพื่อขยายในภายหลัง (ความจริงแล้ววิธีการที่เขาใช้รหัสทำให้ฉันเจ็บปวด)
Aidan Knight

4
สัญญานี้พูดถึงว่าคุณควรจะปกป้องเนื้อหาของพวกเขาหรือไม่?
Blair Holloway

2
นั่นคือประเด็น! เนื่องจากคุณไม่สามารถรักษาความปลอดภัยได้จริง ๆ จึงเป็นสิ่งจำเป็นสำหรับคุณ (หากคุณไม่ใช่คนโง่) เพื่อที่จะได้ทราบว่าคนไร้ความสามารถเหล่านี้ต้องการให้คุณทำอะไร ไม่ว่าคุณจะทำอะไรเนื่องจากไม่ได้ผลคุณสามารถรับผิดชอบได้ (โดยไม่ทำอะไรที่ไม่สามารถทำได้ตั้งแต่แรก)
o0 '

3

ข้อกำหนดนี้ก็คือพล่าม

เนื่องจากเกมสามารถเข้าถึงข้อมูลและผู้ใช้สามารถเข้าถึงเกมได้หากเขามีทักษะและความมุ่งมั่นมากพอเขาจะจัดการย้อนกลับวิศวกรในรูปแบบที่คุณใช้ในการจัดเก็บข้อมูลและหยิบกุญแจในที่สุดถ้าคุณโง่พอ เพื่อเข้ารหัส

คุณไม่สามารถเพิ่มความปลอดภัย ฉันทำซ้ำ: คุณไม่สามารถเพิ่มความปลอดภัยได้ คุณสามารถเพิ่มความสับสนได้เท่านั้นและความสับสนนั้นไม่มีจุดหมายอย่างสิ้นเชิงตั้งแต่ - อย่างที่ฉันพูด - ผู้ใช้ที่มีทักษะและความมุ่งมั่นมากพอที่จะทำลายมัน

อย่าเซ็นชื่ออะไรที่ขอให้คุณทำอะไรที่ไม่สามารถทำได้


1
ความสับสนไม่ไร้สาระเพราะผู้ใช้ส่วนใหญ่ไม่มี "ทักษะและความตั้งใจเพียงพอ" เช่นเดียวกันกับการรักษาความปลอดภัยที่บ้านของคุณ: ใครก็ตามที่ต้องการเข้ามาสามารถทำเช่นนั้นได้ แต่ก็ยังถือว่าคุ้มค่าที่จะทำให้พวกเขาอึดอัดใจสำหรับพวกเขา
Kylotan

ความแตกต่าง: ความสับสนนั้นไม่มีจุดหมายเพราะไม่เหมือนกับการบุกเข้าไปในบ้านของคุณเมื่อมีคนบุกเข้าไปในเกมของคุณพวกเขาสามารถทำให้คนอื่นทำได้ง่ายขึ้น (ในทางกลับกัน - ความสับสนไม่ไร้จุดหมายเพราะเบรตต์ต้องการโมเดลฉันแค่คิดว่าการเปรียบเทียบยังไม่ดีเท่า

หากใครบางคนขโมยทองคำจากบ้านของคุณเขามีทองคำของคุณ หากมีคนคว้าแบบจำลองอันมีค่าของคุณจากดาต้าไฟล์ของคุณเขาสามารถทำสำเนาได้มากเท่าที่เขาต้องการ ดังนั้นไม่ตัวอย่างนี้ใช้ไม่ได้เนื่องจากที่นี่มันไม่สำคัญเลยว่ามีคนมากมายที่ฝ่าฝืนการปกป้องไร้ค่าของคุณ: ใคร ๆ ก็เพียงพอแล้ว
o0 '

มีใครพอสมมติว่าคนอื่นสนใจพอที่จะหยุดดูไฟล์ในพื้นที่ของพวกเขาและออนไลน์เพื่อดูและให้ใครบางคนพยายามโพสต์เนื้อหาออนไลน์ (ซึ่งผิดกฎหมายในขณะที่ดูสำเนาในเครื่องของคุณไม่ใช่) หรือโพสต์ คำแนะนำซึ่งถือว่าคุณมีความอดทนที่จะดำเนินการกับพวกเขา ทุก ๆ ช่วยเล็กน้อย
Kylotan

1
เล็ก ๆ น้อย ๆ จะช่วยให้สำหรับสิ่งที่ ? การป้องกันไม่ให้ผู้ใช้ดูข้อมูลของคุณและไม่ทำอะไรเลยมันไม่มีจุดหมายอย่างที่สุดที่ทำให้ฉันเสียใจ นี้ความต้องการงี่เง่ามากที่สุดอย่างแน่นอนที่มีอยู่เพื่อป้องกันไม่ให้คนอื่น ๆ อีกครั้งโดยใช้ข้อมูลเหล่านั้นเพื่อให้คุณจะต้องดูแลเกี่ยวกับคนที่มุ่งมั่นที่จะพยายามอย่างหนักและประสบความสำเร็จ (เพราะที่ผมกล่าวว่าในระยะยาวพวกเขาก็ไม่สามารถล้มเหลว) .
o0 '

1

หลายครั้งที่ฉันสังเกตว่าแพ็คเกจเนื้อหาที่กำหนดเองมักจะเป็นไฟล์. zip หรือ. rar ที่มีนามสกุลต่างกัน แน่นอนว่ามันไม่ดีถ้าเว็บไซต์ต้องการการเข้ารหัสแบบกำหนดเองบางประเภท


ใช่แล้ว Ogre รองรับการโหลดทรัพยากรผ่านไฟล์ zip แล้ว มีคนพูดถึงในห้องสนทนาเพียงแค่ส่งไฟล์ zip แต่ด้วยจำนวนเครื่องมือที่จะทำให้แตกมันเป็นตัวเลือกแรกของฉัน ฉันอยากทำบางสิ่งที่คล้ายกับไฟล์. gcf ที่ Valve ใช้ แต่ฉันไม่รู้ด้วยซ้ำว่าจะค้นหาอะไรตั้งแต่เริ่มต้น
Aidan Knight

หากมีคนถอดรหัสไฟล์ zip ของคุณปัญหาของคุณจะเป็นอย่างไร จริงๆ. พวกเขาสามารถถอดรหัสอะไรก็ได้ที่คุณสามารถโยนได้ คุณลองแล้ว คุณจะวาดเส้นสำหรับสิ่งที่ผู้ออกใบอนุญาตเหล่านี้สามารถรับผิดชอบต่อคุณได้?
Neverender

1

ความคิดบางอย่าง:

1] คุณเคยใช้รูปแบบโมเดลมาตรฐาน (เช่น. obj หรือ. x) หรือคุณใช้รูปแบบโมเดลที่กำหนดเองเมื่อโหลดเข้าสู่เกมของคุณโดยตรงหรือไม่? หากคุณมีรูปแบบที่กำหนดเองและต้องมีการปรับรูปแบบโมเดลของคุณให้เป็นรูปแบบที่มีประโยชน์คุณจะได้รับการป้องกันในระดับหนึ่งจากเครื่องมือริปเปอร์แบบฉวยโอกาส

2] จุดของ Kylotan เกี่ยวกับการเข้ารหัส XOR นั้นยอดเยี่ยมยกเว้นว่าคุณสามารถเข้ารหัสโดยใช้ลำดับที่สร้างแบบสุ่มหลอก (อาจมีการแฮชที่ชื่อไฟล์) เพื่อหลีกเลี่ยงการเรียงลำดับเลขศูนย์ในข้อมูลต้นทางของคุณ แน่นอนว่าคุณต้องถอดรหัสไฟล์ของคุณทันทีหลังจากที่โหลดเสร็จ แต่การแตกไฟล์ที่เข้ารหัสของคุณลงในบล็อกที่สามารถรีสตาร์ทได้จะช่วยให้คุณเริ่มต้นการถอดรหัสแบบแทนที่หลายเธรดถ้ามันกลายเป็นภาระโหลดจริงๆ . แต่ฉันสงสัยอย่างจริงจังว่าต้องมี "การป้องกัน" ในระดับนี้ - โดยเฉพาะอย่างยิ่งอย่างที่คนอื่น ๆ ได้กล่าวไว้ ripper ที่กำหนดจะได้รับรอบ เช่น. โดยการดักจับการเรียกการดึงโดยใช้ไลบรารี DLL detour และอ่านบัฟเฟอร์จุดยอด / ดัชนีบัฟเฟอร์กลับโดยตรง

3] คุณต้องถามผู้ให้บริการสินทรัพย์ดั้งเดิมเกี่ยวกับข้อกำหนดในการป้องกันของพวกเขา แต่มันอาจเป็นเพียงเรื่องของการเพิ่มเนื้อหาเกี่ยวกับลิขสิทธิ์ของหน้าจอเริ่มต้นโปรแกรมและ / หรือ EULA ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.