SSE Hooks

作者 ryobg·版本 v1.0·更新於 2019-05-12

鉤住天際過程功能的框架。 支持用戶之間的共享存儲。

截圖 共 1 張

模組介紹 作者原文

鉤住天際過程功能的框架。 支持用戶之間的共享存儲。

動機

我已經看過許多次由於SSE / SKSE升級和我以及其他人的補丁mods破壞,等待有人用適當的“魔法”數字重建它們,以便它們可以再次使用。有些情況下數字甚至已知,但由於項目的封閉源性質或其構建/修復的複雜性,它留下了灰塵。

所以我想出了我自己的解決方案,這個解決方案在這裏分享,並且有人也可以使用它。這個概念很簡單:提供了連接內存中函數或變量的通用基礎。有時這些可以自動找到,有時這些必須手動修復。爲了避免重建二進制文件,可以使用將名稱映射到地址的文件。當二進制文件想要修補給定的函數時,它將只讀取該文件並查看其中的數字並繼續。如果運行時更改,請更新文件,這就是全部。

特徵

支持基於JSON的文件,該文件將唯一名稱映射到地址(也可以執行運行時更新)。

使用用戶配置文件重新分配相同的功能。

獨立的SKSE版本

靈活操作內部JSON數據庫,允許自定義設置和更新

相信它很方便,可以用於除C / C ++之外的其他語言,甚至可以用於Skyrim以外的其他應用程序。

源代碼庫上有更多功能齊全的文檔和API規範:

備註

我認爲這個mod還處於測試階段,雖然我已經將它用於其他mod並且它做得很好。

當然,爲該插件開發代碼應該使用GitHub上提供的C / C ++頭文件。

謝謝

強大的MinHook庫,它被廣泛使用。

來自nlohmann的輕量級JSON庫。

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

Motivation

I have seen many times patch mods breaking due to SSE / SKSE upgrade and me, and others, waiting for somebody to rebuild them with the proper "magic" numbers so they can be used again. There were cases when the numbers are even known, but due to the closed source nature of the project or its complexity to build/fix it was left to dust.

So I came up with my own solution, which is shared here, with the idea that somebody may use it too. The concept is simple: provide common base for hooking upon functions or variables in the memory. Sometimes these can be automatically found, sometimes these have to be fixed manually. In order to avoid rebuilding the binary, a file which maps name to an address can be used. When a binary wants to patch given function it will just read that file and see the number inside and go on. If the runtime change, update the file and thats all.

Features

Support JSON based file which maps unique names to address (runtime updates can be done too).

Overpatching the same function using user profiles.

Independant of SKSE version

Flexible manipulation of the internal JSON database, allowing custom settings and updates

Believe it is convenient enough to be used from other languages other than C/C++ and even for other application other than Skyrim.

There is more full-featured documentation and API specification on the source repo:

Remarks

I consider this mod still in test phase, though I have been using it already for other mods and it does great job.

Of course, developing code for that plugin should use the C/C++ header files available on GitHub.

Thanks

The mighty MinHook library which is used a lot around.

The lightweight JSON library from nlohmann.

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

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

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

檔案與校驗

檔案名稱
SSE Hooks
檔案大小
476.0 KiB