逆向攻防世界CTF系列39-debug

查了资料说.NET要用其它调试器,下载了ILSPY和dnSPY

ILSPY比较适合静态分析代码最好了,函数名虽然可能乱码不显示,但是单击函数名还是能跟踪的,而dnSPY在动态调试上效果好,它的函数名不仅乱码不显示,点击后还无法跟踪。(最好两个都下载,一个动态分析,一个静态分析)

dnspy找半天,在这

image-20241117214154347

这里下一个断点直接读到了flag

image-20241117215058627

因为这里flag直接被返回了,多试几次就找到了

image-20241117215136212

当然也可以静态分析

可以猜到这段是在做处理

image-20241117215543974

ILSPY打开

image-20241117215950401

import hashlib
key1 = [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
key2 = "CreateByTenshine"
flag = ""
for a in key2:
    for i in key1:
        a = chr(i^ord(a))   
    flag += a
print("flag{"+hashlib.md5(flag.encode()).hexdigest()+"}")