当前位置: 首页 > news >正文

BUUCTF [羊城杯 2020]easyre 题解

一.查壳

64位无壳

二.主函数逻辑

可以得知flag长度为38,然后进行三次加密

第一次加密是base64加密,得到code1

第二次加密是将code1拆成四段赋给code2

第三次加密是将code2内的数字和字母移3位,其他字符不变

str2保存的是最终的加密字符

三.encode_one_base64

看到主函数的str2大概就可以猜到是base64,ctrl+f12也可以看到存在base64表

进入该函数后大概看一下不难发现是base64加密并且这题没有换表操作

四.encode_two

拆分赋值

 

五.encode_three

对数字和字母移三位,其他特殊字符不变,要求出加密前的字符串,只需要对数字+7再mod10,对字母+23再mod26,有点补码的感觉在

六.解题脚本

#include <stdio.h>
int main()
{char str[53] = "EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=cT6QckkPckoRG";char code2[53] = { 0 };char code1[53] = { 0 };int len = 52;for (int i = 0; i < len; i++)//求解code2{if (str[i] < 'A' || str[i]>'Z'){if (str[i] < 'a' || str[i]>'z'){if (str[i] < '0' || str[i]>'9')code2[i] = str[i];elsecode2[i] = (str[i] - 48 + 7) % 10 + 48;}else{code2[i] = (str[i] - 97 + 23) % 26 + 97;}}else{code2[i] = (str[i] - 65 + 23) % 26 + 65;}}strncpy(code1 + 26, code2, 13u);          //求解code1,调换一下顺序即可strncpy(code1, code2 + 13, 13u);strncpy(code1 + 39, code2 + 26, 13u);strncpy(code1 + 13, code2 + 39, 13u );puts(code1);//打印code1//R1dIVHs2NzJjYzQ3NzhhMzhlODBjYjM2Mjk4NzM0MTEzM2VhMn0=return 0;
}

得到R1dIVHs2NzJjYzQ3NzhhMzhlODBjYjM2Mjk4NzM0MTEzM2VhMn0=

base64解密后得到:GWHT{672cc4778a38e80cb362987341133ea2}

http://www.lryc.cn/news/34116.html

相关文章:

  • 网络协议(十二):HTTPS(SSL/TLS、TLS1.2的连接)
  • 九九乘法表--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
  • 在超算上安装文件树命令tree
  • 论文投稿指南——中文核心期刊推荐(经济管理)
  • 在vue中如果computed属性是一个异步操作怎么办?
  • SRP合批问题
  • 蓝牙5.1低功耗SOC 私有协议2.4GHz芯片HS6621
  • 数据库连接池
  • Arrays-sort-的用法
  • 华为OD机试真题Java实现【寻找相同子串】真题+解题思路+代码(20222023)
  • 性能指标 确定性能目标 性能场景设计
  • ENVI_Classic:快速入门_菜单栏常见功能的基本介绍
  • 【深度探讨】公共部门在选择区块链平台时要考虑的6个方面
  • 基于阿里云物联网平台设计的实时图传系统_采用MQTT协议传输图像
  • 42-Golang中的单元测试
  • python实现k_means聚类
  • 【批处理脚本】-3.3-exit命令详解
  • 如果读了我2011年求职前端开发的酸爽经历,希望你可以鼓起勇气继续向前
  • PTA:L1-016 查验身份证、L1-017 到底有多二、L1-018 大笨钟(C++)
  • springboot工厂模式解决if_else流程和问题点解决
  • 如何避免缓存击穿?使用GO语言实现sliglefight
  • 【浅学Java】MySQL索引七连炮
  • 扬帆优配|昔日白马股濒临退市,却6天5涨停!ST股突然集体爆发
  • Git 基础(一)—— Git 的安装及其配置
  • 什么是信息安全风险评估?企业如何做?
  • HBase---idea操作Hbase数据库并且映射到Hive
  • 剑指 Offer 61 扑克牌中的顺子
  • Spring 响应式编程-读书笔记
  • CI流水线的理解
  • OpenStack手动分布式部署Nova【Queens版】