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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Rotar Bits ( ROL ROR )
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Rotar Bits ( ROL ROR )  (Leído 3,752 veces)
TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Rotar Bits ( ROL ROR )
« en: 1 Diciembre 2013, 19:21 pm »

Amigos alguien sabe como puedo emplear estas 2 funciones de ASM en .Net

Código
  1.  
  2. Public Shared Function RotateLeftByVal(value As UInteger, ByVal count As UInteger)
  3.        Return (value << count) Or (value >> (32 - count))
  4.    End Function
  5.  
  6.    Public Shared Function RotateRightByVal(ByVal value As UInteger, ByVal count As UInteger)
  7.        Return (value >> count) Or (value << (32 - count))
  8.    End Function
  9.  
  10.  

Tengo estas 2 funciones pero creo que no funcionan correctamente.. alguien que me pueda ayudar...

Thx


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Rotar Bits ( ROL ROR )
« Respuesta #1 en: 1 Diciembre 2013, 19:34 pm »

Para los que no sabemos ASM, ¿puedes mostrar el uso de las funciones originales (en ASM) y/o indicar que resultado esperas conseguir al llamar a cada función para poder darte una solución?

Saludos


« Última modificación: 1 Diciembre 2013, 19:38 pm por EleKtro H@cker » En línea



TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Re: Rotar Bits ( ROL ROR )
« Respuesta #2 en: 1 Diciembre 2013, 19:41 pm »

Seguro bro

Aqui se explica como funcionan las 2 funciones ROR y ROL

http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2008_taller_de_asm-t208188.0.html
En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Rotar Bits ( ROL ROR )
« Respuesta #3 en: 3 Diciembre 2013, 20:55 pm »

Quizá no te esté funcionando porque (según sé) en ASM las instrucciones ROR Y ROL regresan los bits desplazados nuevamente a la posición contraria de la variable y en .NET esos bits se descartan. Ejemplo al desplazar 2 bits:

ASMVB.NET
Bits originales: 11000011Bits originales: 11000011
Bits después del desplazamiento: 00001111Bits después del desplazamiento: 00000000
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.
TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Re: Rotar Bits ( ROL ROR )
« Respuesta #4 en: 4 Diciembre 2013, 01:30 am »

Hola Benjo,

Eso lo tengo claro el operador que hace esto es >> y el << que en ASM es SHL y SHR, los que digo yo hacen la rotacion circular (Shift Circular Rotation) encontre una funcion en un proyecto que despues podre pero con algunos funciona y con otros no...

De madre, estoy a punto de dejarlo y esperar...

Salu2 y GRacias
En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Rotar Bits ( ROL ROR )
« Respuesta #5 en: 5 Diciembre 2013, 21:48 pm »

Para simular las funciones de rotación circulas la tienes realmente fácil y sólo necesitas crear una nueva variable para ello:

Código
  1.   Public Shared Function RotateLeftByVal(value As UInteger, ByVal count As UInteger)
  2.        Dim VT as UInteger
  3.        VT = value
  4.        VT >> (32 - count)
  5.        value << count
  6.        value += VT
  7.        Return value
  8.        'Return (value << count) Or (value >> (32 - count))
  9.    End Function
  10.  

Faltaría que modificaras la otra función.

El código no ha sido probado, pruébalo y nos dices si te ha servido. Saludos.  ;D
« Última modificación: 6 Diciembre 2013, 02:54 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.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines