如何知道main中的呼叫地址,这些值是什么意思? GDB

时间:2014-06-06 17:21:41

标签: assembly gdb

所以我正在做一些基本的装配练习,因为我对它不是很有经验,我无法找到这个问题的答案。

首先要求调用函数" calc"的调用指令的地址。主要的。它告诉我" calc"有5个字节。我只有函数calc本身的汇编代码。 " calc"的地址是0x08048424,最后一个是

8048470: c3    ret 
Ret没有任何东西在它面前。我怎么知道基于此的电话地址还是我错过了什么?

第二个,我在" calc"中间有这行代码:

804845f: 7e **??**        jle 8048454

它要求我更换??使用正确的字节值,并证明为什么。这些价值意味着什么?我无法在任何地方找到它。那会是什么答案?

谢谢你们

1 个答案:

答案 0 :(得分:0)

?? (第二个字节)表示JMP指令的相对偏移量。

我在这里找到了更多信息:

http://thestarman.pcministry.com/asm/2bytejumps.htm

希望它有助于某人