3

首先,我对使用 Python 的更多“低级”事物不熟悉,所以如果这是一个菜鸟问题,请原谅。

我有一个类似于 Xbox 和 Playstation 的“成就”系统的想法,您可以使用 Python 通过读取内存地址来跟踪 Gameboy 模拟器中的某些内容。

我决定我应该用口袋妖怪试试这个。(叶绿开始)

我的第一个想法是像这样取得一些成就:

Fire! - Chose Charmander as your starter
Water! - Chose Squirtle as your starter
Grass! - Chose Bulbasaur as your starter

所以在谷歌搜索了一些内存地址之后,我最终来到了这里

它在文章中说,在叶绿中,训练师的派对数据从 0x02024284 开始,每个口袋妖怪的个人数据是 100 字节。正确的。

所以我进入 VisualBoyAdvance(我的模拟器)并点击

Tools -> Memory Viewer

现在我在搜索框中输入 02024284,它会将我带到数据。

文章说,从那行开始,偏移量超过 8 位,接下来的 10 个字节是口袋妖怪的昵称。

如果我从我的模拟器中读取这个(在 8 位模式下),我会读取接下来的 10 组 8 位,我得到:

C3 D0 D3 CD BB CF CC FF 00 00

应该是 Ivysaur(我假设这是十六进制的,所以我用谷歌搜索了一个十六进制到字符串转换器并输入了这个,但它带回了一堆乱码(下))

ÃÐÓÍ»ÏÌÿ��

现在,我的两个问题。

  1. 我将如何将这些内存地址从 VBA 拉到 Python?(我在 Windows 7 上使用 Python 2.7)

  2. 我将如何解码/解密返回为“人类可读格式”的字符串?- 感谢@blubberdiblub 清除这部分

关于 VBA 和 Python 一起工作,我找不到太多信息来指导我,并希望有人可以帮助我了解这一点。我想进入内存地址(出于这样的原因),我认为这将是一个很酷的小项目。

4

0 回答 0