2
我是Z3
的新手。对不起,如果这是一个愚蠢的问题..Z3Py:我应该如何表示一些32位; 16位和8位寄存器?
我基本上试图实现一个简单的符号执行引擎x86-32bit
汇编指令。这里是我现在面临的问题:
假设在执行之前,我使用BitVec
来初始化一些寄存器。
self.eq['%eax'] = BitVec('reg%d' % 1, 32)
self.eq['%ebx'] = BitVec('reg%d' % 2, 32)
self.eq['%ecx'] = BitVec('reg%d' % 3, 32)
self.eq['%edx'] = BitVec('reg%d' % 4, 32)
因此,这里是我的问题,如何处理一些16-bit
甚至8-bit
寄存器?
无论如何,我可以从32位BitVec
中提取8-bit
部分,为其分配一些值,然后将其还原?我可以在z3
吗?或者有没有更好的办法..?
我清楚吗?万分感谢!
谢谢!有用!! – computereasy