文章目录
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解密