我对十六进制和Windows调试器命令很陌生。我试图编写一个python脚本,在其中调用'.writemem函数,提供文件名、起始地址和要写入的字节数。以下是我目前所掌握的情况:
cmdstr = ".writemem " + filename + " " + startAddress + " L" + size
dbgCommand(cmdstr)
其中beginAddress是十六进制形式的起始地址字符串,size也是十六进制字符串。单独的'L'表示我不想指定地址范围,而是指定开始和大小。在
我发现的几个运行这个命令的例子都忽略了两个字符串开头的“0x”,我想知道是否需要这样做。我有点害怕运行它看看,因为writemem是一个很危险的函数。你知道如何格式化这个十六进制吗?在
默认情况下,WinDbg将数字视为十六进制,因此
0x
前缀是可选的。但是,我希望更明确一些,只保留0x
前缀。在您可以使用
?
命令来尝试:如果要使用十进制值,可以使用
^{pr2}$0n
前缀:作为旁注:注意the range limit,并对大于512kb的区域使用
L?
语法。在请参见hex函数。将int转换为十六进制。在
相关问题 更多 >
编程相关推荐