二進制Diff Wrapper - 用於esm修補的工具

作者 Michalius·版本 v1.0·更新於 2019-05-19

這是一個文件修補工具,允許(但不限於)點擊按鈕自動清理DLC,而不會破壞Bethesdas的版權

截圖 共 1 張

模組介紹 作者原文

這是一個文件修補工具,允許(但不限於)點擊按鈕自動清理DLC,而不會破壞Bethesdas的版權

去Oldrim版本

它是什麼

它是一個用Java編寫的開源程序(源代碼),它是另一個用於二進制差異的開源工具(bsdiff)的包裝器。那是什麼?嗯,基本上有兩種方法可以更改文件。你可以用一個知道它正在做什麼的程序,正確地打開它,知道它的結構並且能夠進行不破壞的改變......或者你把文件視爲長串的零和零,並嘗試找出刪除的位置以及添加更多的零和零的位置,以便獲得預期的結果。二進制差異是第二種方法,並且在發佈新版本軟件時廣泛用於修補.exe文件(以避免再次發送整個文件)。

它是如何工作的

程序本身就是.jar文件。要運行它,您需要在系統上安裝Java Runtime Environment。當你這樣做時,你可以通過雙擊它來使用它。運行後,它將在當前目錄中找到每個.diff文件,並嘗試運行其中包含的更改。

每個.diff文件實際上都是一個包含兩個文件的.zip文件 - 配置.json文件和實際補丁。 Json文件包含哪些文件是補丁和散列的信息,以確保您在爲其創建的文件完全相同的文件上運行差異。如果哈希匹配,則執行實際修補(將原始文件保存在備份文件夾中),並通過將結果文件哈希與config中的預期文件哈希進行比較來確認它是否成功。如果它有效 - 瞧,您的文件更改與提供.diff文件的人想要的一樣。運行多次是安全的(對於與其配置中保存的哈希不匹配的文件不會做任何事情),除非.diff文件的創建者本身是惡意的,否則它不會破壞計算機上的任何內容。

DLC清潔

除了程序,我還包括一組4個.diff文件,可以將最新版本的Skyrim DLCs esms和Update.esm更改爲清理版本。我使用TES5Edit / SSEEdit(適用於遊戲)3.2來完成清潔。遵循本指南的信函。對於Oldrim CRC結果文件的校驗和將完全如該指南中所示,對於SSE它們將有所不同(因爲.esm文件似乎隨遊戲更新而略有變化)。

要使用它們,只需將程序本身(.jar文件)和四個diff文件放在Skyrim Data文件夾中,然後再運行它。當Windows提示您這樣做時,允許bspatch.exe執行此操作(在Windows 10上,它會詢問每個要修補的文件)。您可以查看創建的BinaryDiffLog.txt文件中發生的事件的日誌。

創建自己的DIFF文件

正如將在下一節中明確指出的那樣,在創建.diff文件時需要考慮一些重要的事情,因此我沒有包含任何可以簡化創建更多內容的功能 - 但它完全可能而且不是很難。有關此的說明,請參閱Github上的項目頁面。每個人都可以自由地將他們的差異文件發佈到他們認爲合適的地方。

安全警告

二進制差異是一種不靈活但功能強大的工具。原則上沒有什麼可以阻止任何人發送一個.diff文件,將你的Skyrim.esm變成10小時的Rickroll視頻。或受感染的文件。這就是爲什麼鼓勵每個用戶謹慎對待它們的原因。

此外,雖然這種格式可以輕鬆分發小的變化,而不用擔心破壞版權 - 完全可以用它來破壞版權法。如上所述,diff可以將文件更改爲完全不同的文件。在極端情況下,空文件和某些受版權保護的文件之間的區別是整個受版權保護的文件。已知壓縮文件會改變它們的整個結構,對其內部進行最小的更改,這可能使diff文件包含的信息比版權所有者所熟悉的更多。對任何分發.diff文件的人都要非常謹慎,比如他們正在改變的文件的10%。

——————————————————————————————————————————————

go to Oldrim version

WHAT IS IT

It's an open source program written in Java (source code) that's a wrapper around another open source tool (bsdiff) for binary diffing. What's that? Well, there are basically two ways in which you can change a file. Either you do that with a program that knows what it's doing, opens it correctly, knows it's structure and is capable of making changes that don't break that... Or you look at the file as a long string of ones and zeroes, and try to find out where to delete and where to add more ones and zeroes so that you get the expected result. Binary diff is the second approach, and is widely used in, for example, patching.exe files when releasing new version of software (to avoid sending the entire file again).

HOW DOES IT WORK

The program itself is the.jar file. To run it you need to have Java Runtime Environment installed on your system. When you do you can use it by double-clicking it. Once run it will find every.diff file in the current directory and try to run the changes contained within.

Each.diff file is actually a.zip file containing exactly two files - configuration.json file, and actual patch. Json file contains information what file is the patch for and hashes that make sure you run the diff on exactly the same file it was created for. If the hashes match it does the actual patching (saving the original file in the backup folder), and confirms it succeeded by comparing resulting file hash with the expected one from config. If it worked - voila, your file is changed exactly as the person who gave you the.diff file wanted it to be. It is safe to run multiple times (it won't do anything to a file that does not match the hash saved in it's configuration), and unless creator of the.diff file itself was malicious it has no chance of breaking anything on your computer.

DLC CLEANING

Along with the program I include a pack of 4.diff files that change stock upto date Skyrim DLCs esms and Update.esm into their cleaned versions. Cleaning was done by me using TES5Edit/SSEEdit (as appropriate for the game) 3.2 following this guide to the letter. For Oldrim CRC checksums of resulting files will be exactly as shown in that guide, for SSE they will differ (because.esm files seem to have changed slightly with game updates).

To use them simply place the program itself (the.jar file), and four diff files in your Skyrim Data folder, than run it. Allow the bspatch.exe to do it's work when Windo …

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
  3. 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
  4. 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。

不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。

檔案與校驗

檔案名稱
二进制Diff Wrapper - 用于esm修补的工具
檔案大小
825.0 KiB