HNCTF2022Week1 Reverse WP

文章目录

  • [HNCTF 2022 Week1]超级签到
  • [HNCTF 2022 Week1]贝斯是什么乐器啊?
  • [HNCTF 2022 Week1]X0r
  • [HNCTF 2022 Week1]你知道什么是Py嘛?
  • [HNCTF 2022 Week1]CrackMe
  • [HNCTF 2022 Week1]给阿姨倒一杯Jvav
  • [HNCTF 2022 Week1]Little Endian
  • NSSCTF{Littl3_Endiannnn}

[HNCTF 2022 Week1]超级签到

在这里插入图片描述

64bit文件,

在这里插入图片描述

IDA打开就是,{hello_world}


[HNCTF 2022 Week1]贝斯是什么乐器啊?

在这里插入图片描述

64bit文件。

在这里插入图片描述

在这里插入图片描述

base64解码。

在这里插入图片描述

解码之后,再做一个加法。依次加 i

EXP:

enc = 'NRQ@PAu;8j[+(R:2806.i'
flag = []
for i in range(len(enc)):flag.append(chr(ord(enc[i]) + i))
print(''.join(flag))# NSSCTF{B@se64_HAHAHA}

[HNCTF 2022 Week1]X0r

image-20231130084403087

64bit文件

image-20231130084450553

输入flag,检验长度,循环异或(和0x34异或再加900)

image-20231130084603620

可以写个idapython提取数据

image-20231130085321922

逆向一下,-900再异或0x34

EXP:

enc = [1022, 1003, 1003, 1019, 996, 1014, 979, 976, 904, 970, 1007, 905, 971, 1007, 971, 904, 1007, 981, 985, 971, 977, 973]
flag = [chr((enc[i]-900)^0x34) for i in range(len(enc))]
print(''.join(flag))# NSSCTF{x0r_1s_s0_easy}

[HNCTF 2022 Week1]你知道什么是Py嘛?

image-20231130085435781

给出了S[0],再依次异或

EXP:

arr=[29, 0, 16, 23, 18, 61, 43, 41, 13, 28, 88, 94, 49, 110, 66, 44, 43, 28, 91, 108, 61, 7, 22, 7, 43, 51, 44, 46, 9, 18, 20, 6, 2, 24]
flag = ['N']
for i in range(len(arr)):flag.append(chr(ord(flag[i])^arr[i]))
print(''.join(flag))
# NSSCTF{Pyth0n_1s_th3_best_l@nguage}

[HNCTF 2022 Week1]CrackMe

image-20231130090738681

ida也可以做,打开后搜索字符串,(先运行程序观察程序大致运行情况)

image-20231130091124448

发现之前调试得到的错误信息和正确信息。跟进

image-20231130091204393

一个lstrcmp比较,String2应该就是正确的serial了。下断点调试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在比较处,最初的String2是错误的,需要再运行程序直到弹出错误信息后才会出现真正的String2。

这题得到的4e.40程序运行成功,但是提交flag失败,查看了不少wp,有的一样有的不同。有点争议的,


[HNCTF 2022 Week1]给阿姨倒一杯Jvav

直接用jadx打开。

image-20231130091813015

然后根据加密过程逆向

EXP:

enc = [180, 136, 137, 147, 191, 137, 147, 191, 148, 136, 133, 191, 134, 140, 129, 135, 191, 65]
flag = [chr((enc[i] ^ 32) - ord('@')) for i in range(len(enc))]
print(''.join(flag))
# This_is_the_flag_!

[HNCTF 2022 Week1]Little Endian

image-20231130092109775

image-20231130094138203

异或后得到的十六进制,需要逆序一下;

EXP:

enc = [0x51670536, 0x5E4F102C, 0x7E402211, 0x7C71094B, 0x7C553F1C, 0x6F5A3816,]
key = [(enc[i] ^ 0x12345678) for i in range(len(enc))]
print(key)
# key = [1129534286, 1283147348, 1819571305, 1850040115, 1851877732, 2104389230]
flag = []
for i in range(len(key)):key[i] = hex(key[i])[2:][::-1]key[i] = ''.join(key[i][j:j+2][::-1]for j in range(0,8,2))
for x in key:hex_num = [x[i:i+2]for i in range(0,8,2)]flagn = [chr(int(xx,16))for xx in hex_num]flag.append(''.join(flagn))
print(''.join(flag))# NSSCTF{Littl3_Endiannnn}

range(0,8,2)]
flagn = [chr(int(xx,16))for xx in hex_num]
flag.append(‘’.join(flagn))
print(‘’.join(flag))

NSSCTF{Littl3_Endiannnn}


---

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础算法学习

文章目录 快速排序归并排序二分浮点数二分 高精度BigIntegerBigDecimal 前缀和差分双指针位运算离散化区间合并 快速排序 确定分界点x (可以是左边界,右边界,中间随机)将小于等于x的数放到左边,大于等于x的放右边递归…

广州华锐视点:3D毒品预防专题教育平台帮助青少年提升拒毒意识

随着科技的不断发展,人们的生活方式也在不断地改变。在这个信息爆炸的时代,传统的普法教育方式已经无法满足人们的需求。为了适应这一变化,越来越多的教育机构开始尝试利用现代科技手段进行普法教育。其中,3D毒品预防专题教育平台…

跨界融合,科技耕耘:MTX基金公司与ICG共塑全球农业科技新景观

在全球经济快速发展的当下,农业科技创新成为了社会进步的重要推动力。MTX基金公司对ICG的投资是在这一背景下的战略决策,不仅寻求经济效益,更承载着改善全球农业生产、实现食品安全与环境保护的使命。 1、战略投资:文化情怀与全球…

开发知识点-Maven包管理工具

Maven包管理工具 SpringBootSpringSecuritydubbo图书电商后台实战-环境设置(JDK8, STS, Maven, Spring IO, Springboot)点餐小程序Java版本的选择和maven仓库的配置视频管理系统&&使用maven-tomcat7插件运行web工程SpringTool suite——maven项目…

vue2常见的语法糖

Vue.js 2 提供了一些语法糖&#xff08;syntactic sugar&#xff09;来简化常见的操作。以下是一些 Vue.js 2 中常用的语法糖&#xff1a; v-bind 简写&#xff1a; <!-- 完整语法 --> <a v-bind:href"url">Link</a><!-- 简写 --> <a :hr…

【MySQL数据库】SQL查询语句总结

目录 一、查询数据 1.1 基本查询语句 1.2 表单查询 1.3 WHERE子句 1.3.1 IN关键字查询 1.3.2 Between查询范围 1.3.3 Like匹配查询 1.3.4 AND多条件查询&#xff08;等同于&&&#xff09; 1.3.5 OR多条件查询&#xff08;等同于||&#xff09; 1.3.6 LIMIT子句 1.3.7 对…

tsx语法

安装JSX库 安装完之后在vite.config.ts进行插件使用&#xff0c;代码如下&#xff1a; 然后就可以愉快的使用TSX来开发Vue组件了&#xff0c;下面主要说一下SFC和TSX的部分区别。 基本语法对照 defineComponent 和 setup setup中函数的返回值有多种方式&#xff0c;可以直接…

vuepress-----9、PWA

# 9、PWA 使用babel 的插件形式 [vuepress/pwa,{serviceWorker: true,updatePopup: {message: "New content is available.",buttonText: "Refresh"}}]提供 Manifest 和 icons (opens new window) 拷贝到public目录下 发布后出现 service workers [外链图片…

Apache Flink(二):数据架构演变

&#x1f3e1; 个人主页&#xff1a;IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 &#x1f6a9; 私聊博主&#xff1a;加入大数据技术讨论群聊&#xff0c;获取更多大数据资料。 &#x1f514; 博主个人B栈地址&#xff1a;豹哥教你大数据的个人空间-豹…

promis.all的异步使用

基础 参考 https://blog.csdn.net/qq_52855464/article/details/125376557 简单来说 Promise.all是处理接口返回方法异步的&#xff0c;能够使得接口的获取顺序得到控制&#xff0c;不会出现数据为空的情况 使用 先执行jianshigetGroups->groupIds-> const promises2 …

docker搭建rabbit集群

1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像&#xff1a;rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的&#xff0c;我们自行创建一个网络后&#xff0c;创建容器时 给他们放在一起&#xff0c;就可以通信了。 docker netw…

【LabVIEW学习】3.labview制作安装程序

一。生成exe文件 1.创建可执行文件 &#xff08;1&#xff09;创建项目 注意&#xff1a; 1.创建.exe文件&#xff0c;这个文件在labview环境下才可以运行&#xff0c;如果直接传递给其他电脑&#xff08;没有labview环境&#xff09;&#xff0c;他是不可以运行的。 2.如果已…

创建SpringBoot流程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、操作步骤总结 前言 我使用的是jdk1.8版本的&#xff0c;idea社区版的&#xff08;专业版的应该也差不多吧&#xff09; 提示…

华清远见嵌入式学习——C++——作业2

作业要求&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;class Rect { private:int width;int height;public:void init(int w,int h);void set_w(int w);void set_h(int h);void show(); };void Rect::init(int w,int h) {width w;height h;…

记一次:Python的学习笔记一

前言&#xff1a;之前学习的Python笔记&#xff0c;已经过去很多年了&#xff0c;不久前重新翻了出来练习练习。不完善的地方在缝缝补补 一、环境搭建 1.1、Python的win环境安装 0、python-3.12.0软件安装&#xff1a;Win11环境搭建python-3.12.0-amd64 这里小小注意一下&a…

vuepress-----3、导航栏

3、导航栏 # 页面目录结构约定 . ├── docs │ ├── .vuepress (可选的) │ │ ├── components (可选的) │ │ ├── theme (可选的) │ │ │ └── Layout.vue │ │ ├── public (可选的) │ │ ├── styles (可选的) │ │ │…

身份证mod11-2校验规则

这几天碰到一个需求是实现身份证最后一位的校验&#xff0c;需求文档里面写了个公式&#xff0c;没看懂&#xff08;数学早就还给老师了&#xff09;&#xff0c;于是各种查资料&#xff0c;发现网上的资料要么只给了说明&#xff0c;要么给了个固定的代码&#xff0c;但是写的…

怎样将Halcon导出的数据显示在textBox中

其中textBox1是文本框的名字&#xff0c;hv_Row时一个数组&#xff0c;.D.我的理解是DATA,即数据的意思&#xff0c;“0.00”是显示的数值保留两位小数点的意思。

数据库系统概述之数据库优化

为什么需要进行优化&#xff1f; 数据库性能瓶颈 数据库服务器的性能受许多因素影响&#xff0c;包括硬件能力、系统规模、业务模型及架构、代码设计、数据库表设计、系统环境等。 因此&#xff0c;可以从几个方面进行数据库优化 喜欢点赞收藏&#xff0c;如有疑问&#xff…

RabbitMQ快速学习之WorkQueues模型、三种交换机、消息转换器(基于SpringBoot)

文章目录 前言一、WorkQueues模型消息发送消息接收能者多劳 二、交换机类型1.Fanout交换机消息发送消息接收 2.Direct交换机消息接收消息发送 3.Topic交换机消息发送消息接收 三、编程式声明队列和交换机fanout示例direct示例基于注解 四、消息转换器总结 前言 WorkQueues模型…