LINUX实践--程序破解
2016-05-31 16:48
417 查看
实验思想
本次实验的主要思想有两个,第一个是修改跳转指令,把它变成无条件跳转使得无论输入什么用户名都跳转到失败的那个选项中去,第二个思想是修改比对的内容,即不判断条件,从而成功
实验步骤
1、首先从老师那获取了login可执行文件之后,用objdump -d login指令显示login中各个段以及符号表相关信息
2、首先找到main函数
3、找到main函数中第一个jne指令,jne指令是有条件跳转的意思,上一条语句cmp用来比对用户名和已知的用户名是否一致,我们修改750e到7500使得无论输入什么都跳转到失败的那个选项中去
使得8048458+00=8048458继续执行下一条指令,即成功的那一条指令4、vi login.login后,使用:%!xxd
然后查找/750e 如果没有查找到可以用/75 0e来查找5、修改后输入:%!xxd -r并保存
6、修改之后执行看结果
第二种方式,修改750e为eb0e
相关文章推荐
- Linux系统中采用Atlas+Keepalived实现MySQL读写分离、负载均衡
- Linux驱动学习(4-字符设备-自动创建字符设备并读写)
- Linux7 下重新安装YUM
- vim与windows/linux之间的复制粘贴小结
- linux内核分析字符集实践报告
- linux高级原4
- Linux下网卡eth1如何修改为eth0
- C程序问题归纳(static,auto,register,extern,程序内存分布图,linux下程序的执行过程......)(一)
- 【Linux】sed命令
- Linux安装的分区问题
- linux基础命令
- centos解决The path "" is not a valid path to the 3.2.0-4-amd64 kernel headers.问题
- linux动态库加载RPATH, RUNPATH
- Linux及Arm-Linux程序开发笔记(零基础入门篇)
- Centos6.7+vsftpd+db4+db4-utils---被动模式
- Linux用户和用户组管理简析
- Linux驱动学习(3-设备节点-手动创建)
- 产生随机字母组成字符串
- linux动态库加载时搜索路径
- LinuxC/C++编程(8)—共享内存通信