汇编语言与逆向工程实验报告 3
汇编指令 | 解释 |
---|---|
push rbp | 将 rbp 寄存器的值压入栈中 |
mov rbp, rsp | 将 rsp 寄存器的值复制到 rbp 寄存器中 |
mov DWORD PTR [rbp-0x14], edi | 将 edi 寄存器的值移动到相对于 rbp 的地址偏移 -0x14 的内存位置 |
mov DWORD PTR [rbp-0x18], esi | 将 esi 寄存器的值移动到相对于 rbp 的地址偏移 -0x18 的内存位置 |
mov eax, DWORD PTR [rbp-0x14] | 将相对于 rbp 的地址偏移 -0x14 的内存位置的值复制到 eax 寄存器中 |
mov DWORD PTR [rbp-0x8], eax | 将 eax 寄存器的值移动到相对于 rbp 的地址偏移 -0x8 的内存位置 |
mov DWORD PTR [rbp-0x4], 0x0 | 将值 0x0 移动到相对于 rbp 的地址偏移 -0x4 的内存位置 |
jmp 0x555555555150 <fun+39> | 无条件跳转到地址 0x555555555150 |
mov eax, DWORD PTR [rbp-0x4] | 将相对于 rbp 的地址偏移 -0x4 的内存位置的值复制到 eax 寄存器中 |
add DWORD PTR [rbp-0x8], eax | 将 eax 寄存器的值与相对于 rbp 的地址偏移 -0x8 的内存位置的值相加,结果存储到 -0x8 的内存位置 |
add DWORD PTR [rbp-0x4], 0x1 | 将值 0x1 加到相对于 rbp 的地址偏移 -0x4 的内存位置的值上 |
mov eax, DWORD PTR [rbp-0x4] | 将相对于 rbp 的地址偏移 -0x4 的内存位置的值复制到 eax 寄存器中 |
cmp eax, DWORD PTR [rbp-0x18] | 比较 eax 寄存器的值与相对于 rbp 的地址偏移 -0x18 的内存位置的值 |
jl 0x555555555146 <fun+29> | 如果前面的比较结果是小于,则跳转到地址 0x555555555146 |
mov eax, DWORD PTR [rbp-0x8] | 将相对于 rbp 的地址偏移 -0x8 的内存位置的值复制到 eax 寄存器中 |
pop rbp | 将栈中压入的 rbp 寄存器的值弹出 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 W1ndysの小屋!
评论