强网杯[GameMaster]
强网杯[GameMaster]
分析
首先查壳,C#,NET的,直接放入ILSpy去分析
然后去goldfunc函数中找到加密信息,这里是第一个加密
第二个加密看见了key为16位,然后ECB,就想到了AES-ECB
然后去破解
这里的Brainstorming!!!就是key的ASCII码,解出来之后将它保存成EXE文件,转成之后要去掉前面多余部分一直到MZ(是exe文件的标志)
改成这样保存即可,然后再一次放入ILSpy
这里有两个加密函数,一个是Check1另一个是ParseKey,看到最后一个for循环,可以知道要得到flag就是要用array4^array5,array5已知,求array4用到ParseKey函数,但是不知道array的值,就要用到Chek1函数,看到if (first.SequenceEqual(array2))就能知道first的值就是array2的值,然后进去Check1函数
很容易知道是用z3求解,求出array之后去看一下ParseKey函数
逻辑很清楚了,直接写脚本
脚本
from z3 import * |
flag{Y0u_@re_G3meM3s7er!}
总结
了解到了AES-ECB和CBC等这一系列高级加密和一些工具的使用,tql
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逆向上分之路!
评论