21035218_Linux 实验三 程序破解

20135218  姬梦馨

1:掌握NOP、JNE、JE、JMP、CMP的汇编指令的机器码。

    NOPNOP指令即空指令。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)

    JNE条件转移指令,如果不相等则跳转。(机器码:75

    JE条件转移指令,如果相等则跳转。(机器码:74

    JMP无条件转移指令。段内直接短转Jmp short(机器码:EB)段内直接近转移Jmp near(机器码:E9)段内间接转移Jmp word(机器码:FF

                                   段间直接()转移Jmp far(机器码:EA

    CMP比较指令,功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。

             其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。 

2:掌握反汇编与十六进制编码器。

   1)通过反汇编求出用户名、密码,打开终端。输入objdump d 01找到main函数:

    

    

  2)修改可执行文件,玩转密码登陆,不管输入正确与否都可以正常登陆。

        

     (3)vi打开login,输入“:%!xxd”

            输入:/750e查找到到位置,将其修改为7500。修改时75 和0e 中间要有空格,不然就会出现错误,无法修改。

            输入“:%!xxd -r”保存      输入“:wq”保存

                    

  (4)修改后保存,运行结果。

     

     

   (5)输入其他答案,此时也可以正常的进入。

       

 

      (6)再次用0bjdump -d login 查看main函数,发现有已经修改过了。

              

3:掌握可执行文件的基本格式。

    Linux可执行文件格式为ELFExecutable and Linkable Format

    ELF格式:ELF header     program header table      .txt .rodata .data    Section header table。

     

 

    

转载于:https://www.cnblogs.com/ShadowStealer/p/5550258.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值