BUUCTF刮开有奖wp

文件拖入IDA查看WinMain发现DialogFunc函数,跟进,F5查看伪C代码

在这里插入图片描述
可以看到当输入的String是8位时会对String进行修改。继续向下会发现执行sub_4010F0函数,跟进。
在这里插入图片描述
可以发现是一个修改String的函数,直接复制到C代码中并简单修改。
在这里插入图片描述
由于转换后也要输出字符串,所以应使用char型数组来进行计算。运行得到转换后的结果。
在这里插入图片描述
继续向下分析伪C代码。
在这里插入图片描述
可以看到v4和v5在进行了sub_401000函数后,v4=’ak1w‘,v5=’V1Ax‘。跟进sub_401000函数查看对v4和v5的处理,发现了一个可疑函数byte_407830。
在这里插入图片描述
跟进查看后发现是对v4和v5进行base64加密
在这里插入图片描述
解密后得到v4=‘jMp’,v5=‘WP1’。然后继续向下分析。
if循环中:
在这里插入图片描述
String的第一位变成了转换后字符串的第一位加上34也就是U,第二位变成了转换后字符串的第五位也就是J,第三位经过运算后是W,第四位经过运算后是P,联想到之前的v4和v5可以猜测flag就是flag{UJWP1jMp}。
提交得到正确结果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值