pwngdb 中 b *$rebase(0x相对基址偏移) 是什么意思
pwngdb 是一个针对二进制漏洞利用的调试工具库,用于在 GDB 调试器中辅助进行漏洞开发和漏洞利用的调试。b *$rebase(0x相对基址偏移) 是 pwngdb 中的一个调试命令,用于在基地址重定位后设置断点。
在二进制漏洞利用中,经常需要绕过地址空间布局随机化(ASLR)的保护机制,这是通过将程序映射到随机基地址来实现的。为了在调试过程中在正确的位置设置断点,我们需要获取相对于基地址的偏移量。这个相对基址偏移可以通过 pwngdb 的 $rebase() 函数来计算。
$rebase(0x相对基址偏移) 的作用是将相对基址偏移(通常是一个固定的偏移量)加到程序加载基地址上,得到当前代码所在的绝对地址,然后将断点设置在该地址处。
以一个简单的示例说明,假设程序的加载基地址是 0x55555000,而相对基址偏移是 0x1234,那么 $rebase(0x1234) 将计算出断点应设置的绝对地址 0x55556234,然后可以使用 b *0x55556234 命令在该地址处设置断点。
使用 pwngdb 中的 $rebase() 函数可以更方便地在基地址重定位后进行调试,而无需手动计算绝对地址。