BUU----re

BUUCTF-reverse :刮开有奖

刮开有奖:

进入WinMain函数,发现就只有一行。点进DialogFunc函数,发现可以分为三部分,第一部分是有关sub_4010F0函数的,第二部分是有关sub_401000函数的,第三部分就是比较了。

先看sub_4010F0函数,点进去一看,发现是从小到大排序的算法,也就是说对v7[0],v7[1],v8,v9,v10,v11,v12,v13,v14,v15,v16这11个数进行从小到大排序(从下标0和10以及定义部分可以看出是这11个数)

然后第二部分,sub_401000函数,点进去一看(由于人菜,暂时还看不出base64的算法),发现有个byte_407830,点进去一看发现是base64的特征,于是可以大概知道sub_401000函数就是进行一次base64加密。

最后看第三部分,前4句可以看出可以由排序好后的v7[0],v10,v8,v13得出string[0、1、2、3],然后再对v4(ak1w),v5(V1Ax)分别进行一次base64解密,可以得到string[5、6、7]和string[2、3、4],顺便可以和前面得到的string[2、3]验证一下,发现完全符合。

然后再由前面的if(strlen(string)==8)可以得出string有8位。

最终得到结果(string部分的也就是{}里面的内容)是UJWP1jMp。

最后再加上flag{},得到结果        flag{UJWP1jMp}        。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值