逆向题(13)

XOR和异或

1100 0101

相同数字为0不相同为1 所以异或结果是 1001

我们知道flag长度为33

可以看到与global的值比较,所以global这个值是flag经过

这个步骤之后的值 global:

unsigned char aFKWOXZUPFVMDGH[] =

{

0x66, 0x0A, 0x6B, 0x0C, 0x77, 0x26, 0x4F, 0x2E, 0x40, 0x11,

0x78, 0x0D, 0x5A, 0x3B, 0x55, 0x11, 0x70, 0x19, 0x46, 0x1F,

0x76, 0x22, 0x4D, 0x23, 0x44, 0x0E, 0x67, 0x06, 0x68, 0x0F,

0x47, 0x32, 0x4F, 0x00

};

所以接下来我们开始写

关于这个,我们详细理解一下,b[1]=b[1]^b[0]

b[2]=b[2]^b[1]

那如果现在我们需要反过来求了

现在如果我们要已经异或完成了,然后需要求

过程:(其中带 ’ 的是变化后的)

在开始的时候 b1'=b1^b0 b2‘=b2^b1'

当我们倒过来的时候,如果我们直接

b1=b1'(因为已经变过了,现在是倒过来)^b0 b1确实是对的,但我们看向b2 b2=b2'^b1 我们可以发现跟上面的b2‘=b2^b1' 逆运算不过来,那我们需要改进一下

当我们改成这样,我们会吞到一个数值

例子: b1=b1'^b2' 实际上这个b1等于b2,但是这样不会改变后面的数值 b2=b2'^b3 实际上这个b2等于b3,但是这样不会改变后面的数值

所以依次类推,我们最后会吞掉一个第一位数,

那我们补充上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值