首先,我对使用 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(我假设这是十六进制的,所以我用谷歌搜索了一个十六进制到字符串转换器并输入了这个,但它带回了一堆乱码(下))
ÃÐÓÍ»ÏÌÿ��
现在,我的两个问题。
我将如何将这些内存地址从 VBA 拉到 Python?(我在 Windows 7 上使用 Python 2.7)
我将如何解码/解密返回为“人类可读格式”的字符串?- 感谢@blubberdiblub 清除这部分
关于 VBA 和 Python 一起工作,我找不到太多信息来指导我,并希望有人可以帮助我了解这一点。我想进入内存地址(出于这样的原因),我认为这将是一个很酷的小项目。