self.mem_writes = {}
def get_memory(self, address, size):
try:
return self.mem_writes[(address, size)].data
except KeyError:
pass
return None
mem_writes
除了这个函数之外,其他任何地方都没有使用过我想知道它是如何被数据填充的?
我假设它是一个以大小为键值的包含地址的字典,而数据是按值绑定的我错了吗?你知道吗
我仍然不知道它是如何被填充的我甚至不能在Python(命令行)上测试它 我犯了个错误
AttributeError: 'int' object has no attribute 'data'
但是原始脚本运行时没有任何错误
我在脚本里找任何有数据的东西,我只找到了这些
import struct
class DWORD(object):
def __init__(self, value):
self.data = struct.pack('<I', value)
但是与DWORD
到int
之间没有任何联系将它们联系在一起。。是的,我知道DWORD的名字是一个无符号的int,但这意味着什么也没有,是的DWORD
类没有在脚本中的任何地方使用,所以它必须以某种方式链接,但我不明白,它必须是一个尚未实现的类。你知道吗
我在看所有的记忆电话,他们看起来像这样
value = self.converter.get_memory(addr, 4)
value, = struct.unpack('<I', value)
data = self.converter.get_memory(ind_addr + ii, 1)
index, = struct.unpack('<B', data)
data = self.converter.get_memory(table_addr + ii*scale, 4)
addr, = struct.unpack('<I', data)
那昏迷是在手术前吗结构解包我觉得很奇怪,因为我从来没有在其他编程语言中遇到过这种情况。你知道吗
获取get\ U内存的值很容易找到。。看起来像这样
try:
data = get_memory(address, 16)
except NotImplementedError, e:
print 'Could not get memory for address %X' % address
raise e
是的,上述情况下的数据应该变成16字节的字节数组。你知道吗
以下是原始脚本:https://github.com/matpow2/cuwo/blob/master/terraingen/converter.py
目前没有回答
相关问题 更多 >
编程相关推荐