• 逆向-攻防世界-no-strings-attached


    看题目就知道查找不到关键字符串,为防止踩坑,strings命令查看,没有找到有用的字符串。IDA载入程序查找入口函数,

     main函数中有4个函数,经过分析判断authenticate()为关键函数,跟进其中,

    很明显,decrypt是关键处,接下来我们使用gdb调试,当然直接分析decrypt也很容易得出flag,但在此我们学习gdb-peda的使用,我也是第一次使用。。。。

    找到这个函数的地址0x08048658,然后下断点运行,运行的的命令是r。下断点:b *0x08048658。然后使用n运行,n是单步步过,s是单步步进。来到此处:

    我们发现ebx的值是9,正好是flag的开头,然后再看eax,0x39存在0x804cfd0。然后我们直接断点到这个函数后,跳过此函数,再查看0x804cfd0地址处:

    写python脚本,拿到flag。

    strings = [57, 52, 52, 55, 123, 121, 111, 117, 95, 97, 114, 101, 95, 97,
    110, 95, 105, 110, 116, 101, 114, 110, 97, 116, 105, 111, 110,
    97, 108, 95, 109, 121, 115, 116, 101, 114, 121, 125]
    tmp = ''
    for i in range(len(strings)):
    s = chr(strings[i])
    tmp += s
    print(tmp)
  • 相关阅读:
    JS 给li标签下所有a标签添加点击事件并添加和删除样式
    Linux简介及常用命令
    简易计算器
    登陆窗口小项目
    时间工具类
    String类的常用方法(附带练习)
    java-自定义异常
    Java小练习
    Java-接口练习1
    动态加载js
  • 原文地址:https://www.cnblogs.com/whitehawk/p/10753486.html
Copyright © 2020-2023  润新知