BUUCTF reverse3

下载文件后打开只有一个名为reverse3的程序然后先查壳

BUUCTF reverse3_第1张图片

 发现无壳且是32位程序,直接拖入ida32位程序打开,当然也可以先运行一下程序随便输入直接退出直接ida打开就行了

BUUCTF reverse3_第2张图片

 打开后先shift+f12查看字符串如下图看见right flag直接点击查看,然后找到main函数按f5查看伪函数BUUCTF reverse3_第3张图片

 BUUCTF reverse3_第4张图片

 

上图的for循环进行了移位变换而sub_4110BE则是base64的加密算法,str2双击可看到它的值为e3nifIH9b_C@n@dH,而经过base64加密以及移位运算得到了str2的值,而base64加密可从下图看出

BUUCTF reverse3_第5张图片

将此字符逆运算一下即可得到flag脚本如下 

import base64

str="e3nifIH9b_C@n@dH"
flag=""

for i in range(len(str)):
    flag+=chr(ord(str[i])-i)

print(base64.b64decode(flag))

得到flagBUUCTF reverse3_第6张图片

再按照题目要求提交flag形式即可。 

你可能感兴趣的:(汇编)