美文网首页
关于C语言中的异或之后的逆向

关于C语言中的异或之后的逆向

作者: 三毛中队长 | 来源:发表于2020-06-10 00:34 被阅读0次

需求:扫描二维码之后得到一串base64的字符串,由这串二维码进行逆向得到原始数据。在逆向的过程中其中有一个是异或操作,总结如下

a ^ b = c;

现在已知 b 跟 c 需要得到原始数据a

笨方法是,拿c出来进行逐个bit进行判断,为1->则对b的该bit进行取反得到a的该bit,为0->则对b的该bit直接赋值给a的该bit。

后面求助大神得到简单的答案为: a = (~c & b) | (c & ~b)

相关文章

  • 关于C语言中的异或之后的逆向

    需求:扫描二维码之后得到一串base64的字符串,由这串二维码进行逆向得到原始数据。在逆向的过程中其中有一个是异或...

  • 如何不用临时变量实现两变量的值交换

    异或版本 实验: 加减法版本 或者这么写也可以, 乘除法版本 参考资料 如何理解「异或」的含义?C语言中位运算符异...

  • 用了这个运算符,算法的时间复杂度竟然降了一个数量级

    其实这个运算符很容易被人忽略,他就是C语言中的位异或运算符^位运算符家族中,最常用的,莫过于异或运算符。我们先看异...

  • 2022-01-06 异或运算

    一些公式: N^0=N (a异或b)异或c = a异或(b异或c) 0^0=0

  • 位运算

    Ps:位运算符是指进行二进制的运算。C语言中提供的位运算包括,与(&)、或(|)、异或(^)、取反(~)、移动(“...

  • 2018-06-11c语言位运算

    位运算 Ps:位运算符是指进行二进制的运算。C语言中提供的位运算包括,与(&)、或(|)、异或(^)、取反(~)、...

  • 2018-06-06位运算

    位运算 Ps:位运算符是指进行二进制的运算。C语言中提供的位运算包括,与(&)、或(|)、异或(^)、取反(~)、...

  • C 异或

    #include #define key 0x86int main(int argc, char *argv[]...

  • 位运算

    位运算小结(按位与、按位或、按位异或、取反、左移、右移) 位运算不管是在Java语言,还是在C语言中,或者其他语言...

  • python关于&&和||的问题

    &&和||是多数高级语言中通用的逻辑运算符,表示并和或,诸如C语言、C++、JAVA等主流语言但是在python语...

网友评论

      本文标题:关于C语言中的异或之后的逆向

      本文链接:https://www.haomeiwen.com/subject/iziytktx.html