zoukankan      html  css  js  c++  java
  • BUUCTF Re部分wp(一)

    easyre

    拖进ida,得到flag

    helloworld

    将文件拖入apk改之理,
    在这里插入图片描述
    得到flag

    xor

    拖进ida,
    在这里插入图片描述
    在这里插入图片描述
    就是简单异或,写脚本

     
    glo=[0x66,0x0a,0x6b,0x0c,0x77,0x26,0x4f,0x2e,0x40,0x11,0x78,0x0d,0x5a,0x3b,0x55,0x11,0x70,0x19,0x46,0x1f,0x76,0x22,0x4d,0x23,0x44,0x0e,0x67,0x06,0x68,0x0f,0x47,0x32,0x4f]
    x='f'
    for i in range(1,len(glo)):
        x+=chr(glo[i]^glo[i-1])
    print(x)

    得到flag

    新春快乐

    exe拖入ida,发现有壳,查壳
    在这里插入图片描述
    upx,用upx -d脱壳,再拖入ida
    在这里插入图片描述
    得到flag

    reserve1

    exe,拖入ida,有大量的函数,于是先看字符串
    在这里插入图片描述
    看到可疑字符串,点进去
    在这里插入图片描述
    找到了调用的函数,再点进去
    在这里插入图片描述
    找到关键函数,分析,将字符串str2中所有的o替换为0即为flag

    Mysterious

    这题出在MISC里了,先找字符串
    在这里插入图片描述
    跟随
    在这里插入图片描述
    找到关键函数
    在这里插入图片描述
    这里有个atoi()将字符串换为整形之后减一了,所以输入122xyz
    在这里插入图片描述
    得到flag

    (这flag不是直接给了吗,感觉自己以前好傻。。。)

    不一样的flag

    许久未见的迷宫题,进main
    在这里插入图片描述
    十分贴心的已经将上下左右分好了,然后看_data_start___这就是迷宫
    在这里插入图片描述
    由*开始,由#结束,每五个一换行

    *1111
    01000
    01010
    00010
    1111#
    走一遍的flag

    SimpleRev

    拖进ida,可以找到关键函数decry,
    在这里插入图片描述
    在这里插入图片描述
    看key1,3,
    在这里插入图片描述
    在这里插入图片描述
    可以得到 text=killshadow,key=ADSFKNDCLS
    然后程序对key进行了一番花里胡哨但其实就是把key变成小写的操作,于是得key=adsfkndcls,而我们要求的是v1,写脚本

    #include<stdio.h>
    int main(void)
    {
            char text[10]="killshadow";
            char key[10]="adsfkndcls";
            int v3=0;
            int v5=10;
            char flag[10];
            for(int i=0;i<10;i++)
            {
                    for(char j='A';j<='Z';j++){
                            char temp;
                            temp=(j-39-key[i]+97)%26+97;
                            if(temp==text[i])
                                    flag[i]=j;
                    }
            }
            printf("%s",flag);
            return 0;
    }

    得到flag

    内涵的软件

    签到题,拖进ida,得到flag

    reverse2

    先看string

    找到关键函数

    把flag中i,r替换为1,得到 flag

    reverse3

    拖入ida,找到主函数

    看str2

    将输入转换后与str2比较,看sub_4110BE

    是base64加密,知道这一点就很容易了

    import base64
    str2='e3nifIH9b_C@n@dH'
    flag=''
    for i in range(0,len(str2)):
        flag+=chr(ord(str2[i])-i)
    
    print(base64.b64decode(flag))

    得到flag

    8086

    拖进ida

     

    f="]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b"
    flag=""
    for i in range(len(f)):
        flag+=chr(ord(f[i])^0x1f)
    print(flag)

    得到flag

    pyre

    code = [31, 18, 29, 40, 48, 52, 1, 6, 20, 52, 44, 27, 85, 63, 111, 54, 42, 58, 1, 68, 59, 37, 19]
    code.reverse()
    for i in range(len(code)-1):
        code[i+1]=code[i]^code[i+1]
    code.reverse()
    for i in range(len(code)):
        code[i]=(code[i]-i+128)%128
    for i in range(len(code)):
        print(chr(code[i]),end="")

    [WUSTCTF2020]level2

    32elf,脱upx得flag

  • 相关阅读:
    CoCreateInstace 返回未知注册类别错误
    WINCE USB驱动组入
    CreateEvent ResetEvent SetEvent
    AppWidget的范例
    ubuntu下解决无声音的方法
    计算几何与图形学有关的几种常用算法
    Android实现GPS的打开与关闭
    深入剖析Android动画(Animation) (闪烁、左右摇摆、上下晃动等效果)
    中兴手机Linux下开发的方法
    移动网络环境下ReadBuffer的使用
  • 原文地址:https://www.cnblogs.com/harmonica11/p/11365728.html
Copyright © 2011-2022 走看看