/阅读这样的代码就像在强奸你的大脑

#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
 #include<string.h>
char br[10000];
 
int main()
{
    char *eip = br;
    printf("请输入想解密的brainfuck代码\n");
    scanf("%s",br);
    printf("\n解密得到的flag\n\n");
    char *mem = (char*)malloc(100);
    char *ptr = mem;
    bool isright = true;
    while(*eip != 0)
    {
        if(*eip == '[')
        {
            while(*eip!=0 && *eip!=']')
                ++eip;
            if(*eip == 0)
                isright = false;
        }
        else if(*eip == ']')
            isright = false;
 
        if(!isright)
        {
            printf("The brainfuck code has some wrong!\n");
            return 0;
        }
        ++eip;
    }
 
    memset(ptr,0,100);
 
    eip = br;
 
    do
    {
        switch(*eip)
        {
        case '>':
            ++ptr;
            break;
        case '<':
            --ptr;
            break;
        case '+':
            ++*ptr;
            break;
        case '-':
            --*ptr;
            break;
        case '.':
            putchar(*ptr);
            break;
        case ',':
            *ptr = getchar();
            break;
        case '[':
            if(*ptr == 0)
            {
                do
                {
                    ++eip;
                }while(*eip!=']');
            }
            break;
        case ']':
            if(*ptr != 0)
            {
                do
                {
                    --eip;
                }while(*eip!='[');
            }
            break;
        }
        if( (ptr-mem)>100)
        {
            printf("Stack overflow!\n");
            break;
        }
        ++eip;
    }while(*eip!=0);
    free(mem);
    return 0;
}

brainfuck的更多相关文章

  1. Brainfuck与Ook!编程语言解析与解密

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  2. pwnable.kr brainfuck之write up

    I made a simple brain-fuck language emulation program written in C. The [ ] commands are not impleme ...

  3. BrainFuck 指令

    BrainFuck只有八条指令: 指令 含义 等价的C代码 > 指针加一 ++ptr; < 指针减一 --ptr; + 指针指向的字节的值加一 ++*ptr; - 指针指向的字节的值减一 ...

  4. 用C++实现一个Brainfuck解释器

    Brainfuck是一种极小化的计算机语言,只含有8种运算符,由于fuck在英语中是脏话,这种语言有时被称为brainfck或brainf**,甚至被简称为BF.正如它的名字所暗示,brainfuck ...

  5. 最小的图灵完备语言——BrainFuck

    最小的图灵完备语言--BrainFuck 图灵完备性(Turing completness) 在可计算性理论(computability theory)中,图灵等价指的是:对于两个计算机A和B,如果A ...

  6. [CTF]Brainfuck/Ook!编码

    [CTF]Brainfuck/Ook!编码 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_408 ...

  7. [杂记]BrainFuck语言及编译器(c++实现)

    BrainFuck语言 极简的一种图灵完备的语言,由Urban Müller在1993年创造,由八个指令组成(如下表).工作机制与图灵机非常相似,有一条足够长的纸带,初始时纸带上的每一格都是0,有一个 ...

  8. 一门能让你五分钟学会的语言-Brainfuck

    看到标题,不出意外的话,你肯定开始骂我了:**标题党,什么编程语言五分钟就能学会? 其实我本来也是不相信的,但是学过了才知道这是真的. 1.Brainfuck 看到这个小标题,不要误会,我没有骂人. ...

  9. BrainFuck语言生成器

    还要求生成的代码比较快和短. 当然stackexchange上面给出了实现,java的 http://codegolf.stackexchange.com/questions/5418/brainfu ...

随机推荐

  1. SharePoint DateTimeControl 使用

    首先,需要引用: <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebCo ...

  2. Underscore学习笔记1

    项目用了很久underscore.每次都是临时查手册,没有系统的研究过,最近有空正好看看 github地址:https://github.com/lily1010/underscore_learn 一 ...

  3. 淡扯javascript编程思想

    一.面向对象-OOD   虽然js面向对象的编程思想已经老话常谈了,但了为了文章的完整性,我还是把它加了进来,尽量以不太一样的方式讲述(虽然也没什么卵不一样的). 1.面向对象,首先得有类的概念,没有 ...

  4. 实验12:Problem E: 还会用继承吗?

    Home Web Board ProblemSet Standing Status Statistics   Problem E: 还会用继承吗? Problem E: 还会用继承吗? Time Li ...

  5. Silverlight项目笔记2:.svc处理程序映射缺失导致的WCF RIA Services异常

    在确定代码.编译结果和数据库都正常的情况下,无法从数据库取到数据.错误提示:Sysyem.Net.WebException:远程服务器返回了错误:NotFound,监听发现请求数据库的服务异常,访问相 ...

  6. C语言-03-流程控制

    一.选择结构 1> if语句 使用注意 ① if语句中的条件语句,不要把==和=弄混,可以把常量作为左值, 这样的话,在无用=的情况下,编译时会报错 ② if语句后若要定义新的变量或者有多条语句 ...

  7. NSTimer定时器的使用

    前言:这是关于NSTimer的学习笔记. 正文内容大纲: 1.关于计时器NSTimer的一个被添加进NSRunLoop的使用细节 2.关于NSTimer常用方法的使用 3.关于NSTimer的类别工具 ...

  8. js动态加载css文件和js文件的方法

    今天研究了下js动态加载js文件和css文件的方法. 网上发现一个动态加载的方法.摘抄下来,方便自己以后使用 [code lang="html"] <html xmlns=& ...

  9. android 小记

    1.INSTALL_FAILED_INSUFFICIENT_STORAGE 手机内存不够,删除部分后即可安装.

  10. JavaScript Patterns 2.9 Coding Conventions

    It’s important to establish and follow coding conventions—they make your code consistent, predictabl ...