Python在VisualBoyAdvance中读取Pokemon的内存地址

时间:2017-04-30 05:21:19

标签: python memory emulation gameboy

首先,我是使用Python的更多“低级别”的东西的新手,所以如果这是一个菜鸟问题,请原谅。

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

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

我的第一个想法就是做出如此的成就:

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

所以在谷歌搜索了一些内存地址后,我结束了HERE

在文章中说,在Leaf Green中,培训师的派对数据开始于 0x02024284并且每个Pokemon的个人数据是100个字节。右。

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

Tools -> Memory Viewer

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

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

如果我从模拟器中读取此信息(在8位模式下),我会读取接下来的10组8位,然后我得到:

C3 D0 D3 CD BB CF CC FF 00 00

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

ÃÐÓÍ»ÏÌÿ��

现在,我的两个问题。

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

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

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

0 个答案:

没有答案