buuctf刷题reverse3(dbg动态调试)

博客介绍了加密破解过程。先检查发现是32位无壳,用32位IDA打开,发现strings大概率有base64加密。输入flag经未知功能函数处理和简单加法计算得到一串字符,通过动态调试,在调用未知功能函数后设置断点,猜出是base64加密,最后写代码得到flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先检查,可以看到是32位没有壳

再用32位IDA打开,看strings百分之九十九有base64加密 

发现是输入flag再通过一个函数(未知功能函数)处理,再经过简单加法计算得到一串字符e3nifIH9b_C@n@dH

 动态调试,设置断点在调用未知功能函数后

可以看到输入的东西变成aW1hYmFkYm95

基本可以猜出是base64

直接写代码

import base64

str="e3nifIH9b_C@n@dH"
dest=''
for i in range(len(str)):
    dest+=chr(ord(str[i])-i)
print(dest)
print(base64.b64decode(dest).decode('utf-8'))

 得到flag{i_l0ve_you}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值