我正在学习"黑客攻击艺术".我试图遵循代码示例,但由于某种原因,汇编代码与我实际的linux上的汇编代码不匹配(在虚拟盒上作为Guest运行).我已经确定我已经安装了32位Linux操作系统.有没有我可以传递给gcc的args,它允许我将代码编译成一个与书中给出的内容紧密匹配的程序集?
我会很好地协调书中的代码差异和我看到的如果它们是次要的,但我看到的差别是鲜明的.我不知道如何从"预配置的孵化器环境"运行代码,因为这会抑制我的技能发展.
小智 8
我实际上是在同一条船上 - 在过去的一两周里,我尝试了很多方法在我的正常开发环境(LMDE)中生成类似的汇编代码,包括chroot,使用-m32标志进行编译,安装一个x86 ubuntu等,并没有真正起作用.今天我找到了http://www.nostarch.com/hackingCD.htm,我按照说明操作,并能够在vmware工作站10中启动livecd.这就是我所做的:
我知道这不像你在主OS /系统中的示例那样方便,并且你试图避免使用LiveCD,但经过大量的研究后我发现这是一个非常常见的问题,希望这个答案有助于某人.使用LiveCD可能并不理想,但它仍然比双启动要好得多.
出于某种原因,汇编代码与我实际的 linux 上的代码不匹配
最可能的原因是这本书出版于 2008 年,并且使用了当时稳定的 GCC(您可以在此处查看 GCC 发布历史)。
您现在使用的 GCC 可能要更新得多,因此会生成显着不同(并且希望更好)的代码。
是否有任何参数可以传递给 gcc,让我将代码编译成与书中给出的程序集紧密匹配的程序集?
不可以。您可以尝试编译和安装 2008 年的版本,可能是 4.2.3 或 4.3.0,然后检查是否可以提供更接近的输出。
PS 看起来这本书的第一版是 2003 年的,作者不太可能在 2008 年为第二版重建所有示例,所以也许试试 GCC 3.3?
归档时间: |
|
查看次数: |
4012 次 |
最近记录: |