1.拿到文件,先查一下壳:
.net语言,直接dnSpy打开:
之后发现里面有混淆,用de4dot去混淆。
2.找到关键函数,然后重新打开没有去过混淆的文件(因为去混淆之后就得不到flag):
通过与去混淆之后的函数对应,可以得到,\u0004下的\u0002即为主函数。
下断点:
动态调试,单步运行:
一直单步运行,会得到text2(这个字符串就是判断与我们的输入是否相等的字符串,如果相等,就输出flag):
metaprogrammingisherd_DD9BE1704C690FB422F1509A46ABC988
把这一串字符当成传参传入应用程序,运行:
得到flag:
flag{Justr3adth3sourc3@flare-on.com}