V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
akinoniku
V2EX  ›  程序员

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

  •  1
     
  •   akinoniku ·
    akinoniku · 1 天前 · 901 次点击

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

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

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

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

    感谢

    10 条回复    2025-03-14 10:15:04 +08:00
    kimozzz
        1
    kimozzz  
       1 天前   ❤️ 1
    这个不太清楚是什么语言写的,它的汇编架构是什么? 直接用 IDA 反编译找出来他的存储结构就好了 然后一级一级读就好了
    levelworm
        2
    levelworm  
       1 天前   ❤️ 1
    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
        3
    akinoniku  
    OP
       1 天前   ❤️ 1
    @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
        4
    akinoniku  
    OP
       1 天前
    @kimozzz #1 GBA 游戏一般是 C 或者直接汇编的,这个大概是 C 吧。

    的确读代码会是最直接的方法,搞不好逆向出来之后能扔给 sonnet 分析。
    kyokuheishin
        5
    kyokuheishin  
       1 天前 via iPhone   ❤️ 1
    我记得梦之泉豪华版有个粉丝制作的关卡编辑器,可以去看一下那个怎么实现的
    kimozzz
        6
    kimozzz  
       1 天前   ❤️ 1
    @akinoniku 有点麻烦 得先把 GBA 的 ROM 文件搞明白才能提取出来汇编代码 是 arm 架构的
    ysc3839
        7
    ysc3839  
       1 天前   ❤️ 1
    GBA 是 ARM 架构的,估计可以拖进 IDA 反编译
    SLKun
        8
    SLKun  
       15 小时 49 分钟前   ❤️ 1
    GBA 相关的技术信息可以参考这个, 有很多底层硬件细节: https://problemkaputt.de/gbatek.htm
    akinoniku
        9
    akinoniku  
    OP
       15 小时 30 分钟前 via iPhone   ❤️ 1
    @SLKun 搞个 ML ,都要变成 GBA 专家了。
    misdake
        10
    misdake  
       14 小时 42 分钟前   ❤️ 3
    搜“Kirby's Adventure memory map”,我看有个网站有 RAM/ROM Map ,可以主要看 ram map 和 notes 里的“Rooms”一节
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:57 · PVG 00:57 · LAX 09:57 · JFK 12:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.