本次实验的主要思想有两个,第一个是修改跳转指令,把它变成无条件跳转使得无论输入什么用户名都跳转到失败的那个选项中去,第二个思想是修改比对的内容,即不判断条件,从而成功

实验步骤

1、首先从老师那获取了login可执行文件之后,用objdump -d login指令显示login中各个段以及符号表相关信息

LINUX实践--程序破解

2、首先找到main函数

3、找到main函数中第一个jne指令,jne指令是有条件跳转的意思,上一条语句cmp用来比对用户名和已知的用户名是否一致,我们修改750e到7500使得无论输入什么都跳转到失败的那个选项中去

使得8048458+00=8048458继续执行下一条指令,即成功的那一条指令
LINUX实践--程序破解

4、vi login.login后,使用:%!xxd

然后查找/750e 如果没有查找到可以用/75 0e来查找

5、修改后输入:%!xxd -r并保存

LINUX实践--程序破解

6、修改之后执行看结果

LINUX实践--程序破解

第二种方式,修改750e为eb0e

LINUX实践--程序破解

相关文章:

  • 2022-01-13
  • 2021-11-17
  • 2021-09-29
  • 2021-08-31
  • 2022-02-05
  • 2022-01-05
  • 2021-07-03
  • 2021-06-06
猜你喜欢
  • 2021-11-08
  • 2022-02-09
  • 2022-02-12
  • 2022-01-05
  • 2021-07-18
  • 2021-09-16
相关资源
相似解决方案