Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Darklight3 en 20 Marzo 2010, 13:43 pm



Título: Invirtiendo un AND
Publicado por: Darklight3 en 20 Marzo 2010, 13:43 pm
Bueno quería preguntar una cosa, se puede invertir el operador lógico and? O sea,

X and  48462C40 = E7A4AEC8
haciendo esto E7A4AEC8 and 48462C40 = 40042C40 pero si luego substituimos esto por la X de arriba
40042C40 and 48462C40 es diferente de E7A4AEC8
Por eso me interesaria como invertir para conocer ese valor. (Con Xor por ejemplo si que se puede)

A ver si saben como sacarlo  :-\


Título: Re: Invirtiendo un AND
Publicado por: skapunky en 20 Marzo 2010, 14:08 pm
Depende en que lenguaje programes, yo todos los que programo se puede hacer poniendo después del AND un NOT, por ejemplo en visual basic:
Código
  1. If x = 1 And Not y = 2 Then
  2. 'lo que sea
  3. End If

Con la AND negada
Código
  1. If x = 1 And Not y = 2 Then
  2. 'lo que sea
  3. End If

De todas formas no acabo de entender a que te refieres con invertir, i deseas por ejemplo invertir una cadena de 0 y 1 puedes hacer lo que se conoce como una mascara. Una mascara se puede hacer con OR o con AND, en google hay mucha info.

Por otra parte, si te refieres a recoger el valor de una variable a la que tienes un resultado de haberle hecho una AND con un numero, solo se me ocurre como dices con XOR.


Título: Re: Invirtiendo un AND
Publicado por: Darklight3 en 20 Marzo 2010, 14:11 pm
Me explique mal porque yo me refiero cuando es la operación matemática de And.
por ejemplo 1 and 2 = 0


Título: Re: Invirtiendo un AND
Publicado por: skapunky en 20 Marzo 2010, 14:13 pm
Sisi, ya lo he entendido, sorry, que yo sepa solo con XOR, si fuera en asm y los números binarios si que podrías montarte una historia con "mascaras" para sacar el valor pero solo se me ocurre con números binarios.


Título: Re: Invirtiendo un AND
Publicado por: Darklight3 en 20 Marzo 2010, 14:20 pm
Se puede pasar a binario los números, los que puse estan en hexadecimal. Si puedes explicarme ese metodo o pasarme el enlace de algun tuto o algo thx ;D El problema es que estoy trabajando en un crackme y claro los xors si los puedo invertir pero el and no puedo :S