用C语言进行逆向工程;炸弹实验室

问题描述

我正在为CS课做一个实验室,并且我们正在反向工程“二进制炸弹”。我对一些汇编​​程序指令感到困惑。如果有人能解释这些功能以及工作方式,我将不胜感激。

lea   0x10(%rbx),%rbp. 

我很确定rbx应该保存rbp的地址,但是我对0x10参数感到困惑。

mov   0x4(%rbx),%eax. 

与上述相同,不知道0x4参数是什么。

解决方法

这些是相对于rbp和eax中的指针的偏移量(0x10 = 16个字节,0x4 = 4个字节)。 很有可能遍历数组/向量中的元素。