谈谈softice中d的用法(2)

时间:2005-12-20 来源: 作者: 点击:
016F:004B05DE WAIT 016F:004B05DF FLD TWORD [EBP-12] 016F:004B05E2 FLD TWORD [004B0674] 016F:004B05E8 FMULP ST1 016F:004B05EA FLD TWORD [004B0680] 016F:004B05F0 FSUBP ST1 016F:004B05F2 FSTP TWORD [EBP-12] 016F:004B05F5 WAIT 016F:004B05F6 JMP SHORT 004
  016F:004B05DE WAIT
016F:004B05DF FLD TWORD [EBP-12]
016F:004B05E2 FLD TWORD [004B0674]
016F:004B05E8 FMULP ST1
016F:004B05EA FLD TWORD [004B0680]
016F:004B05F0 FSUBP ST1
016F:004B05F2 FSTP TWORD [EBP-12]
016F:004B05F5 WAIT
016F:004B05F6 JMP SHORT 004B0612
016F:004B05F8 MOV EAX,[EBP-04]
016F:004B05FB CALL `VCL30!SysUtils.StrToInt@0F6FDFF6`
016F:004B0600 MOV [EBP-1C],EAX

我们在4B05DB处打开了浮点窗口(用wf命令),这条命令会将浮点栈ST0的数字保存到了EBP-12处,先记下浮点栈里显示的数字,然后F8单步到4B05DE,我们先用d ebp-12看看,看见一堆的byte,相信我们中很多人记不住浮点格式吧,就算记住了你会去计算它一下吗?显然不会!那怎么办?盲人摸象?不!我们来试试dt ebp-12。看到什么了?就是刚才从浮点栈里保存去的数字!

这是怎么一回事?看看这一段解释(摘自Softice4命令中文解说,太平洋软件资讯站):

命令: D
作用: 显示某内存区域的内容
语法: D[size] [address [l length]]
用法:
size: B 字节; W 字; D 双字; S 短实型; L 长实型;
T 10b长实型
D 命令在所指定的内存区域开始显示指定长度的内存
单元内容. 格式将根据size来变.对于双字类型, 将分
两种情况:

1.如果指定地址为32位的段, 格式为32bytes的16进制值(即8位16进制值)


2.如果指定地址为16位的段, 则格式为16:16指针的形式(即4:4位16进制值)


如果没有指定地址,D 命令将继上次命令后的地址开始显示.如果数据窗口可见,则结果在数据窗口中显示,否则显示在命令窗口中.但若用了参数L 和长度, 则结果不论数据窗口可见还是不可见,都显示在命令窗口中.

点评: 无

有些意思吧?

------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容