小白学习笔记(19)i春秋-re-crackme

新手一枚,如有错误(不足)请指正,谢谢!!
题目下载:下载地址

先用peid查壳
在这里插入图片描述
nsp1的壳,exe可执行文件,打开od,F8单步一下,发现可以使用esp定律脱壳
在这里插入图片描述
然后下硬件断点
在这里插入图片描述
F9运行程序
在这里插入图片描述
F8单步
在这里对代码进行分析,删除分析
在这里插入图片描述
来到这里,继续单步
在这里插入图片描述
来到OEP
在这里插入图片描述
右键用od自带的脱壳工具脱壳

IDA载入脱壳后的程序
在这里插入图片描述
字符串中找到right,双击
交叉引用
在这里插入图片描述
F5伪代码之后在这里插入图片描述
在这里插入图片描述
写脚本

#include <stdio.h>
int main(void)
{
    int i;
    char str1[] = "this_is_not_flag";
    char str2[] = {0x12,0x4,0x8,0x14,0x24,0x5C,0x4A,0x3D,0x56,0x0A,0x10,0x67,0x0,0x41,0x0,0x1,0x46,0x5A,0x44,0x42,0x6E,0x0C,0x44,0x72,0x0C,0x0D,0x40,0x3E,0x4B,0x5F,0x2,0x1,0x4C,0x5E,0x5B,0x17,0x6E,0x0C,0x16,0x68,0x5B,0x12};
    char flag[43] = {0};
    for(i=0;i<42;i++)
        flag[i] = str2[i] ^ str1[i%16];
    puts(flag);
    return 0;
}

在这里插入图片描述
得到flag
flag{59b8ed8f-af22-11e7-bb4a-3cf862d1ee75}
在这里插入图片描述

posted @ 2019-12-28 15:15  Palmer0801  阅读(329)  评论(0编辑  收藏  举报