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

CTF之密码学(BF与Ook)

BrainFuck(通常也被称为Brainfuck或BF)和Ook是两种非常特殊且有趣的编程语言。以下是对这两种语言的详细介绍:

一、BrainFuck

  1. 简介

    • BrainFuck是一种极小化的计算机语言,由Urban Müller在1993年创建。
    • 由于“fuck”在英语中是脏话,这种语言有时被称为brainf*ck、brainf**k或简称为BF。
  2. 特点

    • BrainFuck语言只有八种符号:>、<、+、-、.、,、[、]。
    • 这八种符号分别代表不同的命令,用于操作内存指针、修改内存单元的值、进行输入输出等。
    • BrainFuck语言基于一个简单的机器模型,包括一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节),以及用于输入输出的两个字节流。
    • BrainFuck是一种按照“Turing complete(图灵完备)”思想设计的语言,能够完成任何计算任务。
  3. 例题:[+-<>] - Bugku CTF平台

二、Ook

  1. 简介

    • Ook是一种与BrainFuck类似的极简编程语言,也采用了替换的方式进行编程。
  2. 特点

    • Ook语言只有三个不同的语法元素:Ook.、Ook?和Ook!。
    • 这些元素被组合成两个一组的对,不同的对组合指定不同的命令。
    • Ook程序必须包含偶数个“Ook”字符,且换行符被忽略。
    • Ook语言的命令包括移动内存指针、修改内存单元的值等,与BrainFuck类似,但语法和命令的映射方式有所不同。
  3. 例题:ok - Bugku CTF平台,.!? - Bugku CTF平台(这个是变形题可以试着解解看)

  4. 推荐个解密在线工具:Brainfuck/Text/Ook! obfuscator - deobfuscator. Decode and encode online.


http://www.kler.cn/a/412391.html

相关文章:

  • 新160个crackme - 105-royalaccezzcrackme
  • 网站布局编辑器前端开发:设计要点与关键考量
  • QML学习 —— 32、自定义侧边滑动菜单(附源码)
  • leetcode hot100【LeetCode 215.数组中的第K个最大元素】java实现
  • 摄像头原始数据读取——V4L2(mmap模式,V4L2_MEMORY_MMAP)
  • 【Android+多线程】异步 多线程 知识总结:基础概念 / 多种方式 / 实现方法 / 源码分析
  • SpringBoot集成ESAPI
  • 深入理解 Spring Boot 的 WebApplicationType
  • 设计模式:11、迭代器模式(游标)
  • 修改IDEA配置导致Spring Boot项目读取application.properties中文乱码问题
  • SpringBoot(三十六)SpringBoot使用sentinel自定义注解实现限流
  • CodeIgniter URL结构
  • IntersectionObserver 交叉观察器
  • shell编程4,shell脚本于用户交互+关系运算符
  • C#基础题总结
  • 【大数据学习 | Spark-SQL】SparkSQL读写数据
  • STM32 使用ARM Compiler V6 编译裸机 LWIP协议栈报错的解决方法
  • 【pyspark学习从入门到精通21】机器学习库_4
  • 解决`-bash: ./configure:/bin/sh^M:解释器错误: 没有那个文件或目录`的问题
  • 项目学习:仿b站的视频网站项目03-注册功能
  • 沃丰科技出海客服系统:打造全球化客户服务新标杆
  • 日志打印规范
  • AVL、B树和B+树
  • 学习笔记039——SpringBoot整合Redis
  • width设置100vh但出现横向滚动条的问题
  • 速度革命:esbuild如何改变前端构建游戏 (1)