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

re题(27)BUUFCTF-[MRCTF2020]Transform

BUUCTF在线评测 (buuoj.cn)

先到ida,先看一下字符串

找到主函数 

int __cdecl main(int argc, const char **argv, const char **envp)
{char Str[104]; // [rsp+20h] [rbp-70h] BYREFint j; // [rsp+88h] [rbp-8h]int i; // [rsp+8Ch] [rbp-4h]sub_402230(argc, argv, envp);sub_40E640("Give me your code:\n");sub_40E5F0("%s", Str);if ( strlen(Str) != 33 ){sub_40E640("Wrong!\n");system("pause");exit(0);}for ( i = 0; i <= 32; ++i ){byte_414040[i] = Str[dword_40F040[i]];  #把dword_40F040的数据变成字符型形式给byte_414040byte_414040[i] ^= LOBYTE(dword_40F040[i]);  # LOBYTE是取16bit数据的低8bit,这里是一个打乱顺序的操作,这是通过观察dword_40F040的数据发现正好是0~32的乱序猜测的(别的文章说的)}for ( j = 0; j <= 32; ++j ){if ( byte_40F0E0[j] != byte_414040[j] )#一个对比操作,对byte_40F0E0进行逆向即可{sub_40E640("Wrong!\n");system("pause");exit(0);}}sub_40E640("Right!Good Job!\n");sub_40E640("Here is your flag: %s\n", Str);system("pause");return 0;
}

对LOWORD, HIWORD, LOBYTE, HIBYTE的理解_mfc中lobyte-CSDN博客

这里8dup(0)是存8个0 

汇编: dup伪指令_year db 4 dup('0')-CSDN博客

 写个脚本

dword_40F040 = [0x9, 0x0A, 0x0F, 0x17, 0x7, 0x18, 0x0C, 0x6, 0x1, 0x10, 0x3, 0x11, 0x20, 0x1D, 0x0B, 0x1E, 0x1B, 0x16, 0x4, 0x0D, 0x13, 0x14, 0x15, 0x2, 0x19, 0x5, 0x1F, 0x8, 0x12, 0x1A, 0x1C, 0x0E, 0]byte_40F0E0 = [0x67, 0x79, 0x7B, 0x7F, 0x75, 0x2B, 0x3C, 0x52, 0x53, 0x79, 0x57, 0x5E, 0x5D, 0x42, 0x7B, 0x2D, 0x2A, 0x66, 0x42, 0x7E, 0x4C, 0x57, 0x79, 0x41, 0x6B, 0x7E, 0x65, 0x3C, 0x5C, 0x45, 0x6F, 0x62, 0x4D]str1 = [0] * 33flag = ''for i in range(33):byte_40F0E0[i] ^= dword_40F040[i]str1[dword_40F040[i]] = byte_40F0E0[i]for i in range(33):flag += chr(str1[i])
print(flag)
#flag{Tr4nsp0sltiON_Clph3r_1s_3z}

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++速通LeetCode简单第18题-杨辉三角(全网唯一递归法)
  • 如何快速解决程序中的BUG
  • 商淘云九周年 分账系统助力企业合规发展
  • 深度学习数据集交通类常见图像分类、目标检测、分割图像数据集(深度学习数据集 - 交通类解决方案)
  • PHP环境搭建详细教程
  • 中秋献礼!2024年中科院一区极光优化算法+分解对比!VMD-PLO-Transformer-LSTM多变量时间序列光伏功率预测
  • 2021 年 6 月青少年软编等考 C 语言二级真题解析
  • QT Mode/View之View
  • 【webpack4系列】编写可维护的webpack构建配置(四)
  • Ubuntu 安装包下载(以20版本 阿里镜像站为例子)
  • Spring Boot-静态资源管理问题
  • Windows环境本地部署Oracle 19c及卸载实操手册
  • Vue3项目打包报错-内存溢出解决方法
  • vmvare如何给centos7 设置静态IP地址
  • 前端——JS基础
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【comparator, comparable】小总结
  • Android框架之Volley
  • eclipse的离线汉化
  • ES6简单总结(搭配简单的讲解和小案例)
  • Java程序员幽默爆笑锦集
  • Kibana配置logstash,报表一体化
  • k个最大的数及变种小结
  • linux学习笔记
  • Octave 入门
  • vue-cli3搭建项目
  • 事件委托的小应用
  • 用jquery写贪吃蛇
  • 用mpvue开发微信小程序
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ###STL(标准模板库)
  • #传输# #传输数据判断#
  • $forceUpdate()函数
  • (007)XHTML文档之标题——h1~h6
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Matlab)使用竞争神经网络实现数据聚类
  • (补充)IDEA项目结构
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (强烈推荐)移动端音视频从零到上手(上)
  • (十一)图像的罗伯特梯度锐化
  • (四)Android布局类型(线性布局LinearLayout)
  • (一)Java算法:二分查找
  • (原创)可支持最大高度的NestedScrollView
  • ******IT公司面试题汇总+优秀技术博客汇总
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .DFS.
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET的微型Web框架 Nancy
  • .NET建议使用的大小写命名原则
  • [30期] 我的学习方法
  • [ajaxupload] - 上传文件同时附件参数值
  • [bug总结]: Feign调用GET请求找不到请求体实体类