博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【实验吧】逆向rev50
阅读量:6713 次
发布时间:2019-06-25

本文共 752 字,大约阅读时间需要 2 分钟。

a simple reverse view解题链接: http://ctf5.shiyanbar.com/reverse/rev50/rev50

看了别人写的wp得知是挂载参数执行。

补充:gdb挂载参数相关命令

可以在gdb启动时,通过选项指定被调试程序的参数,例如:$ gdb -args ./a.out a b c也可以在gdb中,通过命令来设置,例如:(gdb) set args a b c(gdb) show argsArgument list to give program being debugged when it is started is "a b c".也可以在运行程序时,直接指定:(gdb) r a bStarting program: /home/xmj/tmp/a.out a b(gdb) show argsArgument list to give program being debugged when it is started is "a b".(gdb) rStarting program: /home/xmj/tmp/a.out a b 可以看出,参数已经被保存了,下次运行时直接运行run命令,即可。有意的是,如果我接下来,想让参数为空,该怎么办?是的,直接:(gdb) set args

 

于是设置参数:

然后看一下主函数:

在任意一个strcmp函数处下断点:

然后运行即可,便到了flag处:

在ida中分析:对于箭头所指部分按R转换为字符,于是反转得到'mercedes'即为flag,至于如何反转,我也不太清楚

 关于挂载参数是123456:

 

转载于:https://www.cnblogs.com/liuyimin/p/7468780.html

你可能感兴趣的文章
6425C-Lab12 管理DC(1)
查看>>
RocketMQ调研笔记
查看>>
maven 注册 jar
查看>>
高并发写入mysql的设计
查看>>
成长点滴:我不知道该说些什么?
查看>>
linux之使用man查看命令手册
查看>>
IT管理员如何保证你的内网安全?
查看>>
用U盘安装debian系统
查看>>
Mac 下得Jmeter 测试
查看>>
java基础之本地线程
查看>>
sqlserver2005 递归查询
查看>>
30天提升技术人的写作力-第十一天
查看>>
OSPF环境下帧中继的配置
查看>>
Python 17.4 使用Web框架
查看>>
马哥1-3
查看>>
spring容器
查看>>
Linux系统架构(LB-HA集群)-nginx负载均衡集群配置
查看>>
ios版塔防类游戏源码
查看>>
Backup Exec 2010 V-79-57344-65072
查看>>
我的友情链接
查看>>