elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Interpretar una mask byte
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Interpretar una mask byte  (Leído 2,266 veces)
xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Interpretar una mask byte
« en: 11 Febrero 2014, 18:15 pm »

Hola

Siento el titulo del post, no sabia muy bien que poner.

Bien tengo el siguiente problema, tengo un quadword y lo que tengo que hacer es comprobar el ultimo bit de cada byte y almacenarlo en un registro.

Código
  1. 0x8000000000000080

Esto dejaria un octeo 0x81, bien lo que tengo que hacer despues de comprobar el bit, es a los bytes del quadword que su primer bit dieron 1 es hacer un xor, sin afectar a los demas bytes claro.

Comprobar el bit se hacerlo, lo que no se es como interpretar luego el 0x81, porque depende del quadword el valor puede ser distinto, que pasos puedo seguir o que metodo?

Pero no me dijan comparando ya que tengo un monton de posibilidades, y tendria que hacer una tabla giigante para los xor.

Un saludo.


« Última modificación: 11 Febrero 2014, 18:23 pm por cpu2 » En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Interpretar una mask byte
« Respuesta #1 en: 11 Febrero 2014, 18:26 pm »

Eso lo haces mediante una operación AND con el valor 0x81 Y comparas si el resultado es 0x81

¿Qué lenguaje estás utilizando?


En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: Interpretar una mask byte
« Respuesta #2 en: 11 Febrero 2014, 18:45 pm »

Gracias por el interes, pero como dije esa opcion no es valida, el quadword puede variar, eso es un ejemplo, el octeo 0x81 es en binario 10000001, entonces sabria que tengo que hacer un xor al ultimo byte y al primero, pero como dije anteriormente comparando no puedo ya que tengo muchas posiblilidades. Que pasaria si fuera:

Código
  1. 0x800000000008080

Entonces el octeo seria 0x83 y ese metodoo que tu dices no vale.

No se si se me entiende.

Un saludo.

P.D: Lenguaje ASM.
En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Interpretar una mask byte
« Respuesta #3 en: 12 Febrero 2014, 00:34 am »

No me has entendido, como yo te dije es realizar primero una función AND con el valor que deseas. Es decir que si tu variable fuera 10111001:

Tu valorVariable
10000001AND10111001

El resultado sería 10000001 y si el valor de la variable fuera 10111000 tu valor al final sería 10000000.

De esta forma ya puedes compararlo. Estoy muy falto de práctica en asembler, pero puedes subir la parte del código que hace la comparación y quizá te pueda hacer ejemplo si es que todavía no lo entiendes.

¿Qué sintaxis assembler utilizas? ¿MASM o AT&T?
« Última modificación: 12 Febrero 2014, 00:37 am por El Benjo » En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: Interpretar una mask byte
« Respuesta #4 en: 12 Febrero 2014, 01:23 am »

Bueno voy a empezar desde 0, y dejo el codigo.

Lo que pretendo es hacer una funcion de AES una multiplicacion, bien a  los bytes que pasen de 8 bits "word" tengo que hacerles una reduccion modular 0x1b.

Código
  1. .section .data
  2.  
  3. mx_: .quad 0x7f7f7f7f7f7f7f7f,0xffffffffffffffff
  4.  
  5. .section .text
  6. .globl _start
  7.  
  8. _start:
  9.  
  10. pmovmskb %xmm0, %esi
  11. pand mx_, %xmm0
  12. pslld $1, %xmm0

Bien con pmovmskb copio el bit 7 de todos los octeos del quadword, luego con el and elimino el bit 7 para que cuando los multiplique por 2 no sea un word, y el pslld pues multiplica cada byte del quadword en 2.

Pmovmskb guardo en forma de 1 bit los octeos que tenian el bit 7 en 1, en esi, bien lo que tengo que hacer es una reduccion modular a esos bytes guiandome con el valor de esi, pero como comprenderas no puedo hacer lo que tu dices, ya que no quiero comprobar un valor fijo, ese valor puede variar.

Como podria hacer eso? pero sin mil comparaciones.

Un saludo.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
onOne Mask Pro v4.1.1 for Adobe Photoshop
Diseño Gráfico
malpaso 0 2,999 Último mensaje 15 Noviembre 2008, 13:57 pm
por malpaso
Camara de Neverwinter 2 Mask of the Betrayer
Juegos y Consolas
Makoto 0 1,500 Último mensaje 13 Diciembre 2008, 00:17 am
por Makoto
cliping mask [tutorial]
Diseño Gráfico
mcd 0 2,731 Último mensaje 28 Diciembre 2008, 03:48 am
por mcd
Clipping Mask
Diseño Gráfico
Yasmesita 4 4,323 Último mensaje 28 Abril 2009, 19:21 pm
por Azielito
[Sources Code] RotBits [Byte TO Byte ]
Programación Visual Basic
x64core 8 5,644 Último mensaje 22 Octubre 2011, 00:46 am
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines