1. 分析文件类型,是否加壳
将文件扔进exeinfope中查看,发现是无壳的32位可执行程序
2. 使用IDA对文件进行分析
- 此处的main函数代码较为简单,其逻辑为接收输入,用
sub_401080
函数对其进行处理,处理后的结果若与byte_40E0E4
处字符串相同,则该输出即为flag。所以我们的重点应该放在sub_401080
函数上。
- 分析
sub_401080
函数的逻辑
从上面两幅图的分析中可以得到,函数sub_401080
的作用就是进行base64编码,**只是它还将原本的编码表做了一个简单的处理。**所以根据以上分析,我们可以写出解码代码。
解题
# 大小写转化
def convert_little_big(s):
ans = ''
for c in s:
if c >= 'a' and c <= 'z':
ans += chr(ord(c) - ord