The Binding of Isaac: Rebirth

The Binding of Isaac: Rebirth

评价数不足
isaac hook
   
奖励
收藏
已收藏
取消收藏
Tags: Lua
文件大小
发表于
更新日期
2.435 MB
2023 年 10 月 3 日 上午 6:54
2023 年 11 月 5 日 上午 1:47
4 项改动说明 ( 查看 )
您需要 DLC 才能使用该物品。

订阅以下载
isaac hook

描述
仅用于测试
此mod仅供测试使用,请勿用于可游玩的模组开发。
此mod仅供测试使用,请勿用于可游玩的模组开发。
此mod仅供测试使用,请勿用于可游玩的模组开发。

如果你是玩家而不是开发者或测试人员,请不要使用此mod。

这个mod使用起来很方便,所以又开放了。它可以在游戏内任意二进制点位执行lua代码,获取/修改游戏的上下文,达到截获、修改游戏现有逻辑代码的目的(而非像mod接口那样给游戏“追加”逻辑)。

此mod使用 hook 技术修改游戏的现有逻辑。可以做到超出Lua 接口的事情。但如果你没有二进制分析的经验的话,能做的就比较有限了。它可能会非常难用。

此模组要求使用 --luadebug 启动游戏。但启用 luadebug 会让mod获得对你电脑系统的访问权限,这与普通的以撒mod不同。所以请务必只使用可信的模组,否则存在安全风险。
权限限制对于消除风险毫无意义,因为此mod的接口提供的能力已经能够轻松派生出这些权限(如果有人想做的话)。

源代码:https://github.com/frto027/IsaacHook

在本mod的任意api被调用或控制台指令执行之前,mod本身不会做任何事情。

普通用户可以参考 ConsoleCommands.md 文件,mod开发者可以参考 Api.md 文件。

请注意,不恰当地使用mod API 可能导致游戏崩溃或者造成不可逆的修改。虽说mod在关闭的时候会做自我清理,但仍建议在禁用mod后立即重启游戏(尤其是在进行每日挑战前)。

此mod支持所有游戏版本,但某些命令仅支持 v1.7.9b。

例如:
以下代码 hook 了 GetPoolForRoom 函数,并将第一个参数更改为 ROOM_BOSS。之后,每当游戏尝试从房间类型获取道具池时,它都会返回 ROOM_BOSS对应的道具池。
IsaacHook.setHook( IsaacHook.getFuncAddr(Game():GetItemPool().GetPoolForRoom), function(r) IsaacHook.writeInt32(r.esp+4, RoomType.ROOM_BOSS) end )
热门讨论 查看全部(1)
2
2023 年 10 月 4 日 下午 4:04
[WARNING]: What is Luadebug and Why You Should be Wary of it?
JSG
1 条留言
hgrfff 2023 年 10 月 3 日 上午 11:41 
you are like a little baby. watch this: