Project1

标题: 萌新求助,如何对RM制作的游戏挂hook [打印本页]

作者: 一般通过鸦天狗    时间: 2021-7-2 14:30
标题: 萌新求助,如何对RM制作的游戏挂hook
为了实现一些功能,需要在窗口销毁后执行操作
找了好多教程,还是没有找到解决办法,跪求大佬帮助

此前的思路是,自己写一个dll然后使用WIN32包调用,但是貌似dll里面的函数只能被调用,无法加载到内存中
也试过对游戏自带的dll进行注入,反编译再编译回去无法运行通过

有办法实现给游戏进程挂hook吗?如果有,该从什么思路出发

作者: guoxiaomi    时间: 2021-7-2 20:00
ruby有个END关键字是不是可以用上?还有就是貌似点x会调用exit方法?
作者: 一般通过鸦天狗    时间: 2021-7-2 22:54
guoxiaomi 发表于 2021-7-2 20:00
ruby有个END关键字是不是可以用上?还有就是貌似点x会调用exit方法?

不存在的
点x直接销毁窗体,和ruby解释器不在一个层面上
作者: QChan    时间: 2021-7-2 23:19
本帖最后由 QChan 于 2021-7-3 01:11 编辑

你可以参考下这个(VX ACE)
https://github.com/Chainsawkitten/RGSSDisableF1AltEnterF12
他有提供一个范例工程,作用是 Hook 了程序消息处理,屏蔽了一些按键。通过 ruby 调用 dll 进行 hook 的,不过我运行不了他这个范例。
原帖:https://www.rpgmakercentral.com/topic/38925-disable-f1-altenter-and-f12/

也有大佬直接在 ruby 里实现的,不过他帖子已经没了,你可以看这个链接的二楼。(VX)
https://rpg.blue/thread-401601-1-1.html

作者: QChan    时间: 2021-7-3 01:09
我找到了个现有的脚本,不过作者没开源,应该可以直接用
https://www.whiteflute.org/wfrgss/?mode=view&realmId=1&pageId=37
下载点 「Exit-EX 終了処理スクリプト(VXAce)」をダウンロードする

使用应该是在 Exit-EX.rb 这个脚本的 35 行写自己的代码。
作者: 一般通过鸦天狗    时间: 2021-7-3 02:24
QChan 发表于 2021-7-2 23:19
你可以参考下这个(VX ACE)
https://github.com/Chainsawkitten/RGSSDisableF1AltEnterF12
他有提供一个范例 ...

感谢,非常有用
作者: fux2    时间: 2021-7-4 14:14
代理消息处理函数是个方法,我之前发过一个基于RGS300内建退出函数的hook
https://rpg.blue/thread-398189-1-1.html
楼主或许可以参考一下




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1