检测点10.5(2题详解)
很多人不知道为什么ax等于1,其实这个1,是nop占领的1个字节,因此偏移地址里要分一层给他。由题目可知ss:指的是栈底的数据,栈底是由call dword prt ss:这段代码写进去的,先写cs,再写ip(这个ip是call dword prt ss:的下一段代码的ip,也就是nop)。因此ss:=ip ss:=cs 注意: ip 和cs 要占4个字节
由movax,offset s 可以知道ax=s段的偏移地址,
由sub ax,ss:换算出来就是, s段的偏移地址-ip,
他们的段地址都是cs,因此nop占多少字节,就多几层偏移地址,nop这个指令只占了1个字节,所以ax等于1,如果将nop换成其他代码,
例如 mov ax,offset sax就会等于3,因为这段代码要3个字节,
bx 就很简单了,换算出来 等于 cs-cs,等于0 好详细,困扰我一天的问题终于解决了
页:
[1]