问题标签 [luac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
545 浏览

lua - 是否有一个不会删除完整堆栈的 lua-c api 函数?

我的问题是 lua_pcall 清除了堆栈,因为我想在再次调用之前重用堆栈,只需再次进行一次更改。
有没有办法复制完整的堆栈并再次将其粘贴,甚至可以在不清除堆栈的情况下调用 lua 函数?

卢阿:

C++:

0 投票
0 回答
33 浏览

bytecode - 如何将单个文件合并为一个文件(注意:两个文件属于不同类型)

我已经确认这已经完成了,但是这样做的人拒绝分享它是如何完成的,所以我基本上是想自己弄清楚,而不是等待别人改变主意等等。

基本上,他们设法将 Source Engine(特别是 Garrysmod)的模型文件与 lua 代码相结合。基本上是嵌入到模型文件中的lua。

加载后,代码显然已执行。这意味着在服务器上它会加载一次,在客户端上它会为每个在给定时间加载它的客户端加载一次。对于大多数事情来说,这并不是在游戏中使用 lua 进行开发的最佳方式,但是我可以看到一些非常有用的事情可以用它来完成。

我有一些关于如何完成的理论。我相信也许字节码至少以某种方式涉及。可能是带有 lua 的字节码,但也可能是 mdl 文件的制作方式。

如果它有助于理解 mdl 文件,这里是关于它们的页面https://developer.valvesoftware.com/wiki/Model_Creation_Overview

至于 lua 和 lua 字节码,它们都很容易找到。

基本上我希望得到这个人在模型文件中嵌入lua并在加载模型文件时加载和执行的工作复制。

0 投票
0 回答
251 浏览

lua - 在编译的 lua 脚本中更改 lua 编号的大小

我的目标是反编译、修改和重新编译一个 lua 脚本。我可以很容易地做到这一点,期望生成的二进制文件的标题与原始文件不同。我反编译的二进制块以以下标头开头:

1b4c 7561 5100 0104 0804 0400

生成的文件中的标题是:

1b4c 7561 5100 0104 0804 0800

如您所见,它们之间唯一变化的是Size of lua_Number( source,请参见第 7 页)

我已经尝试更改目标平台甚至版本,但最终无法获得正确的标题。有没有办法以某种方式将此设置为选项?

0 投票
1 回答
187 浏览

c++ - 在 Lua C API 中使用自定义函数编辑内存

我正在尝试使用 luaC api 中的自定义函数来编辑内存,但是例如,当我喜欢 3 lua_tonumber(LS, -1) 时,它会混淆吗?请尝试查看我的代码并告诉我如何解决此问题..

我知道写作记忆功能有效,因为我没有这个就做到了..

0 投票
1 回答
955 浏览

assembly - 如何从 .lua 或字节码中获取汇编代码?

我想从 lua 代码中学习汇编代码。目前,我可以使用命令获取字节码:

我在linux平台上工作,如何编译它?我应该编译它以研究他的汇编代码吗?怎么拆?

0 投票
0 回答
46 浏览

c++ - 你可以为一个没有创建的闭包添加一个上值吗?

我一直在尝试更改 Lua 闭包的地址,然后使用包装函数,该函数需要将函数的上值传递给它。唯一的问题是当我更改函数的地址并尝试移动上值时,它会失败,因为闭包没有为任何上值分配空间。所以问题是,有没有办法为已经创建的闭包的上值分配空间?在编码中,这看起来像

这就是我想要的那种方法,我希望这些论点是不言自明的。如果有人有任何想法,请告诉我。我一直在思考这个问题。

0 投票
0 回答
24 浏览

c# - 我得到(索引超出了数组的范围)错误

嘿伙计们,我正在尝试制作注射器,但我遇到了错误

命名空间 AstromyJector { public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("kernel32")] public static extern IntPtr CreateRemoteThread( IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, UIntPtr lpStartAddress, // 指向远程进程的原始指针 IntPtr lpParameter, uint dwCreationFlags, out IntPtr lpThreadId );

}

0 投票
0 回答
27 浏览

c++ - 为什么 LClosures 似乎有 2 个不同的上值?

因此,在对 LCLosures 进行调查时,我发现它具有与 CClosures 相同的类型外观,但在原型中更进一步,其中也存储了 upvalues。

然后在原型里面你有

我的问题是你两个都用吗?就 Lua 而言,它们是否意味着不同的东西?我找不到任何好的解释。由于 lua_getupvalue 函数不涉及前一个,它只使用原型中的 upvalues。任何帮助,将不胜感激。

0 投票
1 回答
161 浏览

lua - 如何使用 lua c api 用 C 语言制作结构

如何使用 Lua c api 创建以下 C 语言结构?

lua 中的上述结构 a[1].bc[1].d = 1; 我尝试将它一起使用,但它不起作用。错误消息:PANIC:调用 Lua API 时出现未受保护的错误(尝试索引数字值)

在 lua 中 a[1].bc = 1; 为了像这样使用,我编写了以下代码。此代码正常工作。

我该怎么办 a[1].bc[1].d = 1; 可以做成同样的形式吗?

0 投票
1 回答
11417 浏览

lua - 如何反编译 Lua 文件?

我有一个 lua 文件,当在 Notepad++ 中打开时,它显示混合了英文(未损坏)、可理解的文本,以及混合了“NULS”、“ETX's”和其他奇怪的符号,在我深入尝试反编译之前,如果可能的话,我想解决吗?

任何帮助表示赞赏,谢谢。