找回密码
 立即注册
查看: 94|回复: 0

[逆大天] Aegisub内置的lua的random种子竟然是固定的

  • TA的每日心情
    无聊
    2023-3-18 18:33
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    24

    主题

    316

    回帖

    1056

    VC币

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    407122
    Lambholl 发表于 昨天 20:43 | 显示全部楼层 |阅读模式
    本帖最后由 Lambholl 于 2025-9-7 20:57 编辑

    首先,我们可以证明在正常情况下,lua的math.random种子不是每次启动都固定的:
    9a4f26fb-659d-4051-adc7-d008bbae2df7.png

    直到今天我发现我用了一堆random的歌词脚本,启动后点击第一次Apply Karaoke Template后,整个文件都没有变,点击第二次才会改变,
    于是我启动了两次aeg,比较了按第二次生成时生成的文件:
    屏幕截图 2025-09-07 203938.png

    创建新文件进行尝试,发现每次启动后第一次生成,都是固定的数字序列,而且所有版本都是这样:
    1c4cd875-aaf9-415d-a2fa-af7cb6bab98a.png 47a7721c-aaab-474c-b931-25d4f9b5a5cd.png

    查看logger的代码,其中基于计时器设置了种子:
    b70b70d9-d6bf-42d6-b373-2e4330ff1553.png
    可以推测其本意为基于随机生成一个种子,但是很明显这个函数返回值由于某种原因,变成了0,
    因为当我们尝试在脚本中加入math.randomseed(0),不管生成多少次,都变成了和上面截图中一样的结果:
    4aec1254-4e89-4f08-887f-8b8807908979.png

    因此,可以确定这是一个logger导致的bug
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表