二进制逻辑的属性?

时间:2013-12-28 05:20:00

标签: assembly binary-logic

我应该知道二进制逻辑的任何属性吗?

例如,

  • if x AND 3 == 0,表示x可以被4整除。
  • (0 - x) AND 3,是一个值远离4n的距离。即(0 - 5) AND 3 = 35 + 3 = 8,可被4整除

我是否还需要熟悉其他属性才能在逆向代码工程中取得优异成绩?

我在哪里可以找到它们?有什么建议可以让我增加知识吗?

1 个答案:

答案 0 :(得分:2)

嗯,有一个few ;)

人们经常使用二进制逻辑快捷方式,因为它们映射到高效的计算机指令 - 毕竟处理器基于二进制逻辑。

De Morgan's laws之类的东西在更高级语言编程时可能更有用,但也适用于汇编。在逆向工程方面,对处理器的整体熟悉是最重要的,因为编译器可以添加许多棘手的代码,您可能需要逐步通过/ etc来理解。

我建议先学习个人微处理器。像PIC或AVR(Arduino)之类的东西。

第一个例子也是由于二进制如何工作 - 确保你熟悉它(以及十六进制表示)。

第二个通过整数环mod 2 ^ 2得到最好的解释。所有未编程的算术对应于整数mod 2 ^ n环中的运算,例如对应于Z mod 2 ^ 32的32位无符号整数。