BUUCTF [BJDCTF2020]BJD hamburger competition(unity3D和.net程序)

打开文件夹 发现有很多文件

这里扩展一个小知识

_MACOSX文件夹是什么

Mac在压缩文件的同时,还会往里面写入了一些 ”MetaData” ,这样做的目的是为了方便其它的Mac用户使用,就像Windows会在图片目录下加入的 “Thumbs.db” 以方便显示预览图一样。

而这些 ”MetaData” 产生的文件就是 “__MACOSX”,本身这些文件在Mac上是隐藏属性的,也的确方便了用户的操作。

如何处理dll文件

看到了Unity和dll文件 这里我们要知道使用dnspy处理这类文件

dnspy是.NET程序集调试器和编辑器。它可以用它来编辑和调试程序集,即使在没有源码的情况下。

dnSpy中文版下载-dnSpy反编译工具 v6.1.8最新版下载-Win7系统之家

进入BJD hamburger competition_Data/Managed/Assembly-CSharp.dll

将dll文件拖入dnSpy

查找关键函数 发现这里有md5加密和Sha1加密

继续跟进 找到密文

加密过程是先进行MD5解密再进行Sha1加密

而逆向的思路就是先进行Sha1解密再进行MD5加密

Sha1解密 解密工具
sha1在线解密 在线加密

MD5加密

MD5 在线加密工具 | 菜鸟工具

最后得到的字符串b8c37e33defde51cf91e1e03e51657da并不是真正的flag 这里有个小细节

ToString("X2") 是 C# 中的一个字符串格式化方法,用于将数字(尤其是整数或某些枚举类型)转换为其十六进制表示的字符串形式,并确保结果字符串至少包含两位数字。X 表示要将数字转换为十六进制(大写字母)。

Substring(0, 20)从字符串的开头(索引0开始)提取长度为20的子字符串

flag取字符串前20位字符 并且还需要转为大写

flag{B8C37E33DEFDE51CF91E}

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值