NSSCTF练习笔记

1.[NSSCTF 2022 Spring Recruit]easy C

打开文件,可以看到是一道异或运算:

对a先加1再异或2,然后和b进行比较

对b进行逆运算得到flag

#include<stdio.h>
int main(){
    unsigned char input[] =
{
0x64,0x60,0x76,0x78,0x62,0x51,0x64
};
unsigned char flag[7];
for (int i = 0;i < 7;i++){
flag[i] =input[i] ^2,
flag[i] = flag[i]-1;
}
for (int i =0;i < 7;i++){
    printf("%c",flag[i]);
}

}

2.[SWPUCTF 2021 新生赛]re1

1.查壳,结果如图

2.用IDA64打开文件,结果如图

3.按Tab,然后根据伪代码找到flag

easy_reverse

3.[LitCTF 2023]世界上最棒的程序员

1.查壳,结果如图

2.IDA32打开文件,结果如图

3.按Tab,结果如图

没什么特别的

4.按shift+F12,可以找到flag,结果如图

5.双击flag,结果如图

6.按ctrl+x,点击OK,结果如图

得到flag:LitCTF{I_am_the_best_programmer_e

4.[SWPUCTF 2021 新生赛]re2

1.查壳,如果如图

2.IDA64打开文件,结果如图

3.按Tab,结果如图

4.写个脚本

#include<stdio.h>
int main(){
    char str[] ="ylqq]aycqyp{";
 char flag[12];
int i;
for ( i = 0; i < 12; ++i ){
if(( str[i] <= 94 || str[i] > 96) && ( str[i] <= 62 || str[i] > 64))
 flag[i] = str[i] +2;
   else 
     flag[i] =str[i] -24;
    printf("%c",flag[i]);

}
}

得出flag为:{nss_c{es{r} //{用a代替

包上NSSCTF{}

5.[SWPUCTF 2021 新生赛]简简单单的逻辑

1.记事本打开

2.分析

6.[SWPUCTF 2021 新生赛]简简单单的解密

同第五题

import urllib.parse
key = "HereIsFlagggg"
enc = "%C2%A6n%C2%87Y%1Ag%3F%C2%A01.%C2%9C%C3%B7%C3%8A%02%C3%80%C2%92W%C3%8C%C3%BA"
crypt =urllib.parse.unquote(enc)
flag=''
s_box = list(range(256))
j = 0
for i in range(256):
    j = (j + s_box[i] + ord(key[i % len(key)])) % 256
    s_box[i], s_box[j] = s_box[j], s_box[i]
res = []
i = j = 0
for s in crypt:
    i = (i + 1) % 256
    j = (j + s_box[i]) % 256
    s_box[i], s_box[j] = s_box[j], s_box[i]
    t = (s_box[i] + s_box[j]) % 256
    k = s_box[t]
    flag+=chr(ord(s) ^ k)

print(flag)

7.[WUSTCTF 2020]level2

1.查壳

很明显,有个upx壳

2.脱壳

3.用IDA32打开文件,直接得到flag

8.[SWPUCTF 2022 新生赛]base64

1.查壳

2.用IDA64打开文件

3.按Tab

没有什么明显的东西

4.按shift+F12,找到‘this is flag’,双击

5.按ctrl+x,回车,再按Tab

观察代码,要比较s1和s2,相等则正确

6.双击s2,得到一串明显是base64加密后的字符串,搜索在线网站解码,得到flag

9.[HUBUCTF 2022 新生赛]simple_RE

1.查壳

2.IDA64打开文件

3.按Tab,

4.双击

可以确定为base64加密

复制到在线网站解码,发现解不了,推测为魔改的base加密

5.按shift+F12

第一行是加密后的字符串,第二行应该就是加密所用的字符

6.写个脚本,用第二行字符解码

得到flag:NSSCTF{a8d4347722800e72e34e1aba3fe914ae}

10.[HDCTF 2023]easy_re

1.查壳

有一个upx壳

2.脱壳

3.IDA64打开文件

4.按Tab

5.双击a,对加密后的字符串base64解密

用的字符

6.写个脚本,用第二行字符解码

得到flag:NSSCTF{a8d4347722800e72e34e1aba3fe914ae}

10.[HDCTF 2023]easy_re

1.查壳

有一个upx壳

2.脱壳

3.IDA64打开文件

4.按Tab

5.双击a,对加密后的字符串base64解密

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值