BUUCTF [ACTF新生赛2020]easyre

文章描述了一位安全研究员在处理一个BUUCTF在线评测的挑战时,发现程序被UPX壳保护。他们使用upxshell进行脱壳,然后在IDA中分析代码,发现了一个涉及字符查找和加一操作的逻辑。通过编写Python脚本对这个逻辑进行逆向工程,最终解密出flag。
摘要由CSDN通过智能技术生成

题目链接:BUUCTF在线评测 (buuoj.cn)

例行查壳发现有壳而且是upx壳

 用脱壳工具upxshell进行脱壳脱壳后如下图

 

然后用ida32位打开

 

v4是一个数组,byte_402000字符串里面寻找一个字符然后 -1 与v4进行对比是否相等,逆过来就是+1,然后点击_data_start_会发现一个字符串}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(',27h,'&%',然后在网络上找了个脚本在pycharm运行即可得到flag代码如下:

byte_402000 = '~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(\'&%$# !"'

v4 = [42,70,39,34,78,44,34,40,73,63,43,64]

flag = ''

for i in v4:
    flag += chr(byte_402000.find(chr(i)) + 1)

print(flag)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值