alarmtest

指针解读

*(uint *)(tf->esp) = tf->eip;

这个语句比较的复杂,其中tf->esp本来是uint类型的数值,(uint )(tf->esp)其实还是存着原来的数值,即(uint )(tf->esp) == tf->esp,但是再加上一个*表示取这个值对应的地址的内容。最后的结果就是tf->esp所指向的地址里面的内容填充tf->eip。

results matching ""

    No results matching ""