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

主函数:

攻防世界-debug

 

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

函数二:

攻防世界-debug

 

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

函数三:

攻防世界-debug

 

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

函数四:

攻防世界-debug

 

 都是系统函数,进行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就出来了。太强了。。。

攻防世界-debug

flag只能提交大写,emmmmmm

相关文章:

  • 2021-08-07
  • 2021-10-29
  • 2021-11-27
  • 2021-06-23
  • 2021-05-28
  • 2021-06-04
  • 2022-01-07
  • 2021-08-07
猜你喜欢
  • 2021-09-11
  • 2021-12-18
  • 2021-04-25
  • 2022-01-09
  • 2021-07-25
  • 2021-06-17
  • 2021-08-31
相关资源
相似解决方案