逆向题(28)nss:2041

nss:2041

关于这个题说实话,如果我不去上网去查,如果纯靠自己找的话有可能还找不到这个flag,其实他很简单。

但是我看不懂他的伪代码,因为他是c++语言使用了std::我有点蒙就是这个<iostream>这个东西

我看不懂代码,但是上网查了其实跟代码也没啥关系,他就是把flag藏起来了

方法一

image-20250205173253782

我们可以直接在这里面搜,然后f5,取得flag:,我们将他转换位string格式

image-20250205173734636

这个flag存在异或,我们来写个c脚本

#include <stdio.h>
#include <string.h>
​
int main () {
    unsigned char flag[] = {
        0x44, 0x59, 0x59, 0x49, 0x5E, 0x4C, 0x71, 0x7E, 0x62, 0x63,
        0x79, 0x55, 0x63, 0x79, 0x55, 0x44, 0x43, 0x59, 0x4B, 0x55,
        0x78, 0x6F, 0x55, 0x79, 0x63, 0x6D, 0x64, 0x77
    };
​
    int length;
    length = sizeof(flag) / sizeof(flag[0]);
​
    for (int i = 0 ; i < length; i++) {
        printf("%c", flag[i] ^ 0xAu);
​
​
    }
​
    return 0;
}

NSSCTF{this_is_NISA_re_sign}我们可以得到flag

方法二:

这个直接在主函数里面

image-20250205174543972

当然,我们需要看懂c++,很显然我们看不懂嗯哼

image-20250205174608435

image-20250205174616830

然后后面你们就应该都知道了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值