攻防世界-debug

PEID查  .NET  直接ilspy反编译,很直观的代码。理清逻辑。

主函数:

 

 经过一个函数(函数名乱码)对字符串变量a_进行变换,并将结果存入b中,最后将输入与b比较。

函数二:

 

 依次取字符串的每个字符,并通过某函数(函数三)进行转换,每个字符循环变换14次。最后对变换后的字符串进行md5加密(函数四)

函数三:

 

刚开始没看清A_1有中括号,以为是从1到14直接异或。其实是与数组下标1到15的数值进行异或。

函数四:

 

 都是系统函数,进行md5加密。

给出python解密代码:

import hashlib

s = "CreateByTenshine"
s1 = [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
result = ""
for i in s:
x = i
for j in range(14):
x = chr(int(ord(x)) ^ s1[j])
result += x
a = hashlib.md5()
a.update(result.encode(encoding='utf-8'))
print("flag{"+a.hexdigest()+"}")

 本题只要知道使用什么工具就会非常简单。最后发现一个更简单的,秒解。

dnspy打开,下断点,直接运行,flag就出来了。太强了。。。

flag只能提交大写,emmmmmm

posted @ 2019-10-09 19:05  s1lenc3  阅读(907)  评论(0编辑  收藏  举报