标签: lsb

如何在Ubuntu Linux中执行CMU二进制炸弹?

我正在尝试将CMU的二元炸弹作为一个独立项目来学习一些x86组装和逆向工程.(这不是与班级相关的自动评分版本.)

我从http://csapp.cs.cmu.edu/public/labs.html下载了bomb.tar .

来自CMU的实验室描述:

"二元炸弹"是作为目标代码文件提供给学生的程序.运行时,它会提示用户键入6个不同的字符串.如果其中任何一个不正确,炸弹"爆炸",打印错误消息并在评分服务器上记录事件.学生必须通过拆卸和反向设计程序来"消除"他们自己独特的炸弹,以确定6个弦应该是什么.该实验室教学生理解汇编语言,并强迫他们学习如何使用调试器.这也很有趣.CMU本科生中的传奇实验室.

这是一个Linux/IA32二进制炸弹,你可以自己试试.通知评分服务器的功能已被禁用,因此请随意爆炸此炸弹而不受惩罚.

将其保存到适当的文件夹后,我在终端中运行了此命令:

tar xvf bomb.tar
Run Code Online (Sandbox Code Playgroud)
  1. 它确实提取了一个名为bomb(没有文件扩展名)的文件,但我认为它也会给我bomb.c,这也有助于参考.

  2. 我不能让"炸弹"跑.这是我尝试过的:

    bomb
    bomb: command not found
    
    ./bomb
    bash: ./bomb: No such file or directory
    
    Run Code Online (Sandbox Code Playgroud)
  3. 虽然我意识到解决它需要在gdb中单步执行它,但我甚至无法在BASH中运行它并将自己弄错了答案!一点点帮助太棒了.

linux assembly lsb

6
推荐指数
1
解决办法
3079
查看次数

Shebang(#!)标准化了吗?

Shebang #!,例如

#!/bin/sh
Run Code Online (Sandbox Code Playgroud)

在Linux标准库或任何Open Group标准或其他地方正式标准化的脚本可执行文件前面?如果是,请提供参考和详细信息.

注意:我最感兴趣的是shell脚本以及任何可执行文件的含义.换句话说,任何标准都要求#!在可执行文件的开头解释一下吗?但是,标准中对它的任何其他引用也是受欢迎的.

standards posix shebang language-lawyer lsb

5
推荐指数
1
解决办法
433
查看次数

从python中的字节中提取LSB位

我在变量'DATA'中有一个字节.我想从中提取LSB位并打印出来.我是python的新手,我发现很多文章都有复杂的按位加法逻辑,所有这些都很难理解.我正在寻找一个像字符串一样的简单逻辑,例如DATA [7:1]请帮帮我...

byte extraction python-3.x lsb

2
推荐指数
2
解决办法
1万
查看次数