记一次新生赛遇到的取反构造数字

在rce中,数字被ban了就很烦,本期我们利用$()~来异或构造数字吧
在这里插入图片描述

echo ~$((_))     //取反
$((_))                //执行
echo $(($(())))
0
echo $((~$(())))
-1
//输出-1和0
echo $((~$(()))) $(($(())))
-1 0

构造9

echo $(($((~$(())))$(($(())))))
-10
//取反执行
echo $((~$(($((~$(())))$(($(())))))))  //因为这里是从0开始的所以为n-1
9

构造99

echo $((~$(()))) $(($(()))) $(($(())))
//-1 0 0
echo $(($((~$(())))$(($(())))$(($(())))))
//-100
echo $((~$(($(($((~$(())))$(($(())))$(($(())))))))))
//99

这里发现0会往1后面贴,而1互相是分隔加的

echo $((~$(())))$((~$(())))$(($(())))$((~$(())))
-1-10-1

构造12:

方法1
//拼接出10+3
$((~$(())))$(($(())))//10
$((~$(())))$((~$(())))$((~$(())))//3
//取反
echo ~$(($((~$(())))$(($(())))$((~$(())))$((~$(())))$((~$(())))))
~-13
//执行
echo $((~$(($((~$(())))$(($(())))$((~$(())))$((~$(())))$((~$(())))))))
12
方法2
//13个-1相加
echo $((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
//取反
echo ~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))
~-13
//执行
echo $((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))))
12
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值