BUUCTF-[WUSTCTF2020]level1

查壳

用ida打开

题目还给了另外一个文件

里面有数据

根据数据写脚本

脚本如下:

ptr = [198,232,816,200,1536,300,6144,984,51200,570,92160,1200,565248,756,1474560,800,6291456,1782,65536000]

flag=""

for i in range(19):

    if ((i+1) & 1):#初始i0,源程序i1

        flag+=chr(ptr[i] >> (i+1))

    else:

        flag+=chr(ptr[i] // (i+1))

print(flag)

注释:

从flag读数据到数组ptr中

经过一个for循环和if判断后输出

if (i&1) {i 是 奇数,执行这里} else {.i 是 偶数,执行这里…};

i>>1 是 让 整型数 i 的数值 右移 2 进制 1 位 的运算

即奇数位移,整数乘法

数据为奇数前面的才会执行

我也不太清楚脚本是怎么来的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值