攻防世界-RE-windows_reverse

查看程序信息

扔进exeinfope中查看

可以看出,该程序为32位有upx壳的文件,所以我们需要先进行脱壳,直接使用 upx -d xxx.exe即可

用IDA32进行静态分析

1. main函数

可以直接看到main函数,分析其流程,其实就是先输入input_code,接着用 sub_401000 函数对该输入进行处理,用得到的新字符串与 "DDCTF{reverseME}" 进行比对,若相同,则正确

这里有一个疑问就是,在 sub_401000 中对输入进行处理,但并没有改变v4,那么该程序为什么会用 v4 与目标串进行比对呢?

2. sub_401000函数

所以这里知道byte_402FF8的内容尤为重要

3. 寻找 byte_402FF8

解题

byte_402FF8 = '~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(\'&%$#"! '
base_addr = 0x20

target = 'DDCTF{reverseME}'

input_code = []

for c in target:
    input_code.append(byte_402FF8.index(c) + 0x20)

print(''.join(chr(c) for c in input_code))
posted @ 2021-02-20 14:15  bunner  阅读(88)  评论(0编辑  收藏  举报