[BJDCTF2020]BJD hamburger competition
步骤:
-
例行检查,64位程序,无壳儿
-
由于unity是用C++开发的,这里就不用IDA了,直接用dnspy看源码
在BJD hamburger competition_DataManaged文件夹中找到Assembly-CSharp.dll(进去文件后第一个就是)
这个dll文件是程序的源码,用来存放C++工程。 -
试运行了一下程序,发现进去后我们可以点击一些“食材”,在dnspy里找到有用的ButtonSpawnFruit类,看见了md5和sha1加密的字样,估计后面要用到
-
在里面找到关键代码
首先字符串进行了sha1加密变成了DD01903921EA24941C26A48F2CEC24E0BB0E8CC7,我们可以sha1解密得到原始字符串,之后将原始字符串进行md5加密就可以得到flag了
这是32位程序,所以结果是b8c37e33defde51cf91e1e03e51657da或者B8C37E33DEFDE51CF91E1E03E51657DA
这边还有一个注意点,就是md5加密的时候,它只返回了前20位,X2是表示大写,x2是小写
所以结果是:B8C37E33DEFDE51CF91E
flag{B8C37E33DEFDE51CF91E}