打开看是一整个程序,刚开始感觉和那个坦克大战有点像(小憨包笑死)
怀疑是根据选择不同的材料来达到某种条件然后输出flag
先找到c#的资源文件![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CWVsKeAd-1596099913405)(D:\markdown\文件\图片\7.1.1.png)]](https://i-blog.csdnimg.cn/blog_migrate/4ac7edc2e282b10cf19e8726833bdc42.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b0XjcDNA-1596099913407)(D:\markdown\文件\图片\7.1.2.png)]](https://i-blog.csdnimg.cn/blog_migrate/ceb06ecebc5973bad3a69dee750305e7.png)
dnspy打开
点开以后
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0KB06xF-1596099913409)(D:\markdown\文件\图片\7.1.3.png)]](https://i-blog.csdnimg.cn/blog_migrate/30230354cf1b0012b91341c7f56b9447.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SzYVRFK6-1596099913411)(D:\markdown\文件\图片\7.1.4.png)]](https://i-blog.csdnimg.cn/blog_migrate/47ecac429610d1592884ee564c083624.png)
果然是根据根据点击材料来控制是否输出flag,但是直接看最后几段代码,发现flag先sha1加密进行判断,再输出时md5加密
根据他的数据可以反推出str,进而求解flag
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZDk9UFIg-1596099913413)(D:\markdown\文件\图片\7.1.5.png)]](https://i-blog.csdnimg.cn/blog_migrate/fb5368c11de6d68dc03bc2c8f46e204e.png)
str为1001,md5加密
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9vnnChoj-1596099913414)(D:\markdown\文件\图片\7.1.6.png)]](https://i-blog.csdnimg.cn/blog_migrate/2468a0ed1cd8853a94d689dfcdef65ea.png)
都试了一遍以后发现都不对,再看看代码
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vjA0JbpX-1596099913415)(D:\markdown\文件\图片\7.1.7.png)]](https://i-blog.csdnimg.cn/blog_migrate/c11887255b1130a9cc9da44c1cb16f0f.png)
他这个md5加密是取得前20个字母,Substring是截取字符串,Tostring(“X2”)是变成大写,对应的Tostring(“x2”)是变小写
所以肯定是32位,flag为 flag{B8C37E33DEFDE51CF91E}
通过逆向工程和加密算法解析,从一个类似坦克大战的游戏程序中提取隐藏的Flag。利用dnspy工具,分析C#资源文件,解读SHA1和MD5加密过程,最终成功解密并获取到Flag{B8C37E33DEFDE51CF91E}
526

被折叠的 条评论
为什么被折叠?



