• 请不要在回答技术问题时复制粘贴 AI 生成的内容
akinoniku
V2EX  ›  程序员

[找点逆向的思路] 找 GBA 版《星之卡比 梦之泉》的 当前关卡 内存地址

  •  1
     
  •   akinoniku ·
    akinoniku · Mar 13, 2025 · 3280 views
    This topic created in 600 days ago, the information mentioned may be changed or developed.

    最近在折腾一个强化学习项目,用模拟器跑 GBA 的星之卡比训练 AI 。

    需要根据当前关卡设置奖励机制,但翻遍内存都没找到关卡编号藏在哪个地址。

    要找出来也不容易,关卡一过,有太多内存数据变了,而且也不确定关卡是通过什么方式存在内存的。

    事实上,如果能找到“场景 (scene)”的内存地址也行,可以防止 agent 来回玩同一个场景刷奖励。

    感谢

    10 replies  •  2025-03-14 10:15:04 +08:00
    kimozzz
    kimozzz
    Mar 13, 2025❤️1
    1
    这个不太清楚是什么语言写的,它的汇编架构是什么? 直接用 IDA 反编译找出来他的存储结构就好了 然后一级一级读就好了
    levelworm
    levelworm
    Mar 13, 2025❤️1
    2
    I don't play GBA games, but looks like there are too many Kirby games. Which one are you talking about?

    Kirby: Nightmare in Dream Land
    This one?
    akinoniku
    akinoniku
    OP
    Mar 13, 2025❤️1
    3
    @levelworm #2 yep, that's the one. It doesn't really matter which game it is, though.

    I would just appreciate some general ideas to help me carry on with my work =v=.
    akinoniku
    akinoniku
    OP
    Mar 13, 2025
    4
    @kimozzz #1 GBA 游戏一般是 C 或者直接汇编的,这个大概是 C 吧。

    的确读代码会是最直接的方法,搞不好逆向出来之后能扔给 sonnet 分析。
    kyokuheishin
    kyokuheishin
    Mar 13, 2025 via iPhone❤️1
    5
    我记得梦之泉豪华版有个粉丝制作的关卡编辑器,可以去看一下那个怎么实现的
    kimozzz
    kimozzz
    Mar 13, 2025❤️1
    6
    @akinoniku 有点麻烦 得先把 GBA 的 ROM 文件搞明白才能提取出来汇编代码 是 arm 架构的
    ysc3839
    ysc3839
    Mar 13, 2025❤️1
    7
    GBA 是 ARM 架构的,估计可以拖进 IDA 反编译
    SLKun
    SLKun
    Mar 14, 2025❤️1
    8
    GBA 相关的技术信息可以参考这个, 有很多底层硬件细节: https://problemkaputt.de/gbatek.htm
    akinoniku
    akinoniku
    OP
    Mar 14, 2025 via iPhone❤️1
    9
    @SLKun 搞个 ML ,都要变成 GBA 专家了。
    misdake
    misdake
    Mar 14, 2025❤️3
    10
    搜“Kirby's Adventure memory map”,我看有个网站有 RAM/ROM Map ,可以主要看 ram map 和 notes 里的“Rooms”一节
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4079 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 04:06 · PVG 12:06 · LAX 20:06 · JFK 23:06
    ♥ Do have faith in what you're doing.