zoukankan      html  css  js  c++  java
  • 【实验吧】逆向rev50

     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 args
    Argument list to give program being debugged when it is started is "a b c".
    也可以在运行程序时,直接指定:
    
    (gdb) r a b
    Starting program: /home/xmj/tmp/a.out a b
    (gdb) show args
    Argument list to give program being debugged when it is started is "a b".
    (gdb) r
    Starting program: /home/xmj/tmp/a.out a b 
    可以看出,参数已经被保存了,下次运行时直接运行run命令,即可。
    有意的是,如果我接下来,想让参数为空,该怎么办?是的,直接:
    
    (gdb) set args

    于是设置参数:

    然后看一下主函数:

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

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

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

     关于挂载参数是123456:

  • 相关阅读:
    asp.net mvc学习(Vs技巧与Httpcontext)
    微信小程序代码构成
    MetaEditor中MQL使用方法
    lambda表达式中的排序问题
    Python Bs4 回顾
    Python操作Redis及连接方式
    C# for Python(Nugut Iron包)
    Jquery.ajax dataType参数
    Fleck For Web Socket
    visual studio git for coding
  • 原文地址:https://www.cnblogs.com/liuyimin/p/7468780.html
Copyright © 2011-2022 走看看