攻防世界reverse进阶区1分题总结_逆向之旅013

2023-10-28 20:59

本文主要是介绍攻防世界reverse进阶区1分题总结_逆向之旅013,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、Revering-x64Elf-100
  • 二、answer-to-everything
  • 三、tt3441810
  • 四、lgniteMe
  • 五、srm-50
  • 总结


前言

一、Revering-x64Elf-100

1.使用exeinfo查看程序,得知:64位的ELF文件
在这里插入图片描述
2.在ubuntu虚拟机上运行
在这里插入图片描述
发现字符串Incorrect password,以及Enter the password:
3.使用IDA中的String窗口(快捷键是shift+F12)查看字符串,然后根据字符串“Enter the password:”定位主函数,然后F5反编译得到下图
在这里插入图片描述
4.可以得知函数sub_4006FD 藏着我们需要的flag
在这里插入图片描述
然后呢,写个逆过程python脚本:

v = [ [68, 117, 102, 104, 98, 109, 102],[112, 71, 96, 105, 109, 111, 115],[101, 119, 85, 103, 108, 112, 116] ]
print(v[0][2])
print(v[1])
print(v[2])
f = []
for i in range(12):x = v[i%3][2 * int(i/3)] - 1f.append(x)
print(f)
flag = ""
for j in f:flag = flag + chr(j)
print(flag)

运行得到:
在这里插入图片描述

二、answer-to-everything

1.注意题目描述: sha1 得到了一个神秘的二进制文件。寻找文件中的flag,解锁宇宙的秘密。注意:将得到的flag变为flag{XXX}形式提交。
2.使用exeinfo查看然后运行
在这里插入图片描述
64位ElF文件,然后在ubuntu虚拟机上运行一下:
在这里插入图片描述
会输出“YOUSUCK”
3.用IDA打开,使用(Shift+F12)z字符串参考,找到YOUSUCK,然后定位到一个函数,然后F5:
在这里插入图片描述

4.然后再运行一下程序,输入42
在这里插入图片描述
此时注意到提示,然后结合题目描述中提到的SHA1,然后找个网站(https://1024tools.com/hash)把求出“kdudpeh”的sha1哈希值:
在这里插入图片描述
然后就得到了flag,注意将得到的flag变为flag{XXX}形式提交。

三、tt3441810

1.使用exeinfo查看
在这里插入图片描述
得知,这个文件是一个二进制文件,但是不能运行。然后我一开始也比较懵,最后不想做这种题,就找了个博客看了以下解法,我把链接贴上:
https://www.cnblogs.com/DirWang/p/11491914.html

四、lgniteMe

1.exeinfo
在这里插入图片描述
32位 exe文件、然后运行一下:
在这里插入图片描述
2.使用IDA,定位到主函数(名字就是main,比较好找),然后F5


int __cdecl main(int argc, const char **argv, const char **envp)
{int result; // eaxsize_t i; // [esp+4Ch] [ebp-8Ch]char v5[8]; // [esp+50h] [ebp-88h] BYREFchar Str[128]; // [esp+58h] [ebp-80h] BYREFprint_str((int)&unk_446360, "Give me your flag:");((void (__stdcall *)(

这篇关于攻防世界reverse进阶区1分题总结_逆向之旅013的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295904

相关文章

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

javaSE类和对象进阶用法举例详解

《javaSE类和对象进阶用法举例详解》JavaSE的面向对象编程是软件开发中的基石,它通过类和对象的概念,实现了代码的模块化、可复用性和灵活性,:本文主要介绍javaSE类和对象进阶用法的相关资... 目录前言一、封装1.访问限定符2.包2.1包的概念2.2导入包2.3自定义包2.4常见的包二、stati