NewStarCTF2023 Reverse方向Week3 ez_chal WP

news/2024/5/19 20:53:10 标签: 学习, CTF, Reverse, 密码学

分析

题目:ez_chal
在这里插入图片描述
在这里插入图片描述

一个XTEA加密,

V6是key,v5是输入,然后v7就是密文。

在这里插入图片描述

看了v6,要用动调。

ELF文件用ida的远程调试。

在这里插入图片描述

然后在kali上输入长度为32的flag

在这里插入图片描述
在这里插入图片描述
全部转换成dd

在这里插入图片描述

再提取密文。

EXP

#include <stdio.h>
void decrypt(unsigned int *v, unsigned int * key){
    unsigned int v0 = v[0],v1 = v[1], sum = 0, delta = 0x61C88747;
    sum = -(delta * 64);
    for (size_t i = 0; i < 64; i++){
        v1 -= v0 ^ (sum + (key[(sum >> 11) & 3])) ^ (v0 + ((v0 >> 5) ^(v0 * 16)));
        sum += delta;
        v0 -= v1 ^ (sum + (key[sum & 3])) ^ (v1 + ((v1 >> 5) ^(v1 * 16)));
    }
    v[0] = v0;
    v[1] = v1;
}
unsigned char a[41] = { 0x9C, 0xA2, 0x9E, 0xC1, 0x87, 0x1F, 0x09, 0xDC, 0x3B, 0xE3, 
  0xF6, 0x91, 0x7A, 0x5C, 0x9A, 0xF6, 0x20, 0x9F, 0x52, 0x93, 
  0xE1, 0x94, 0x5B, 0x8A, 0x9B, 0x06, 0x1D, 0xF9, 0x40, 0xE3, 
  0xB0,0x23};
unsigned int key[] = {0x5377654E,0x21726174,0x5377654E,0x21726174};

signed main(){
    unsigned int *t = (unsigned int *)a;
    for (int i = 0; i < 7; i += 2){
        decrypt(t+i,key);
    }
    for (int i = 0; i < 8; i++){
        printf("%c%c%c%c", *((char *)&t[i] + 0), *((char *)&t[i] + 1), *((char *)&t[i] + 2), *((char *)&t[i] + 3));
    }
}

在这里插入图片描述


http://www.niftyadmin.cn/n/5187845.html

相关文章

颜色标记txt和多根走线【Cadance进阶】

文章目录 前言颜色标记txt多根走线 前言 今天来介绍个基础操作中不常见的&#xff0c;但是非常实用的技巧。第一个是颜色标记&#xff0c;它是与text文件结合&#xff0c;根据text文件中的网络来染色标记的&#xff0c;致力于找出那些特定的走线&#xff0c;或者是查询出现问题…

【git】一些容易混淆的操作

git clone vs git init: git clone&#xff1a;用于从现有的 Git 仓库复制一个副本到本地。这通常是参与一个已存在项目的起始步骤。git init&#xff1a;用于在本地创建一个新的 Git 仓库。这是开始一个全新项目的第一步。 git add vs git commit: git add&#xff1a;将更改…

『购物好评(通用100字)』

1、宝贝包装看起来很好&#xff0c;挺高大上的&#xff0c;看起来很用心。宝贝昨天收到的&#xff0c;物流很给力&#xff0c;宝贝很快就到了。非常满意的一次网购。宝贝收到了&#xff0c;用了这个感觉还好&#xff0c;看着挺不错的。朋友朋看到了都让我给他们分享链接呢。 2…

Python 爬虫 AES DES加密反爬

当你遇到需要处理 AES 或 DES 加密的反爬虫机制时&#xff0c;Python 可以通过使用相应的库来解决这类问题。首先&#xff0c;我们需要理解 AES 和 DES 加密是什么&#xff1a; AES (Advanced Encryption Standard)&#xff1a;一种广泛使用的对称加密算法&#xff0c;它使用相…

Swift的Copy on Write 简称CoW

了解Copy on Write在Swift开发时非常重要&#xff0c;因为这是Swift Standard Library的一个基础特性。 值类型&#xff1a;struct&#xff0c;enum&#xff0c;和tuple&#xff0c;比如在调用函数时传递参数&#xff0c;就会发送副本拷贝 引用类型&#xff1a;class&#xff…

【0234】PgBackendStatus 记录当前postgres进程的活动状态

1. 关于PgBackendStatus 每个存活的后端进场在共享内存中维护一个PgBackendStatus结构体,显示其当前活动状态。(结构体是根据BackendId分配的,但这并不重要。) 请注意: 进场状态收集器进程不参与、甚至不访问这些结构。 每个辅助进程还在共享内存中维护一个PgBackendStatu…

MySQL数据库干货_29——SQL注入

SQL注入 什么是SQL注入 所谓 SQL 注入&#xff0c;就是通过把含有 SQL 语句片段的参数插入到需要执行的 SQL 语句中&#xff0c;最终达到欺骗数据库服务器执行恶意操作的 SQL 命令。 SQL注入案例 /*** SQL注入测试类*/ public class SqlInjectTest {/*** 体现sql注入*/publ…

【你哥电力电子】从耦合电感到变压器

从耦合电感到变压器 2023年7月12日 dk 文章目录 从耦合电感到变压器1. 耦合电感1.1 一个等效1.2 自感、互感与漏感1.3 耦合系数2. 变压器3. 其他模型的推导方法3.1 T型等效电路3.2 其他等效电路4. 小结下链1. 耦合电感 1.1 一个等效 通电导线的周围会产生磁场,磁场可以通过…