BUUCTF JustRE

将exe文件拖入IDA 按shift+F12查看可疑字符串

这里发现了一个疑似flag的字符串

双击点进去 F5查看伪c代码

这里看到了源代码

这段伪C代码是一个典型的Windows对话框回调函数(Dialog Procedure),用于处理对话框中的消息。在Windows编程中,对话框回调函数是处理对话框内控件(如按钮、文本框等)事件的函数。这个函数通过接收四个参数来工作:对话框的句柄(HWND hWnd)、消息类型(UINT a2)、消息相关的附加信息(WPARAM a3)、以及另一个附加信息(LPARAM a4,通常用于指向数据的指针)。

重点应该是sprintf函数 那么sprintf函数有什么作用呢?

sprintf()函数最常见的应用是把整数打印到字符串当中,sprintf()为变参函数。它的功能是将各种类型的数据格式化为字符串,并存储到一个字符数组中。

这行代码的作用是将两个整数(199990)以及一个固定的字符串("2069a45792d233ac")按照指定的格式插入到String数组中。格式字符串" BJD{%d%d2069a45792d233ac}"中的%d是格式说明符,用于表示整数。sprintf函数会依次替换格式字符串中的%d为后面参数列表中的整数。

BJD{1999902069a45792d233ac}

将BJD去掉并用flag包裹得到flag

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值