[ACTF新生赛2020]easyre

查壳

发现有UPX,使用 upx-4.2.2-win64脱壳(kali里面有)

# 使用命令 upx -d easyre.exe

32位ida打开

1.找到main函数,F5查看伪代码

2.分析代码

双击v4可以看到v4到v15的地址,其实v4到v15是一个有12个字符的chr 型数组

v4[i]!= data_start_[*((char *)v5 + i) - 1]:

意思是在_data_start__字符串里面寻找一个字符然后 -1 与v4进行对比是否相等

其实_data_start的下标就是flag的ascll码-1

exp:

v4 = [42, 70, 39, 34, 78, 44, 34, 40, 73, 63, 43, 64] # 字符串有特殊字符为了避免语法错误就这么写了/(ㄒoㄒ)/~~
flag = ''
key = '~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(\'&%$# !"'
for i in v4:
    flag += chr(key.find(chr(i)) + 1)
    print(flag)
print(flag)

flag{U9X_1S_W6@T?}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值