Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Me podrian explicar una parte de codigo y la funcion Bitconverter?

  • 0 Respuestas
  • 1005 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 121
  • Actividad:
    0%
  • Reputación 0
  • belial grimoire
    • Ver Perfil
« en: Enero 27, 2014, 11:06:04 pm »
necesito la ayuda de un programador de VB.net

estoy analizando un codigo y tratando de pasarlo a C pero hay unas funciones que no logro entender, primero podre el codigo y abajo el problema

Código: vb.net
  1.  ret = ReadFile(Hnd, Buffer, 1024, nRead, NO)
  2.  
  3.  If ret = 0 Then
  4.             ret = WaitForSingleObject(Hnd, INFINITE)
  5.             Select Case ret
  6.                 Case WAIT_OBJECT_0
  7.                 Case WAIT_TIMEOUT
  8.             End Select
  9.         Else
  10.             Return Nothing
  11.         End If
  12.  
  13.  BytesPerSect = LittleEndianHEXToDecimal(Buffer, &HD, 1)
  14.  
  15.  Private Function LittleEndianHEXToDecimal(ByRef Buffer As Byte(), ByVal offset As Long, ByVal Length As Long) As Long
  16.         If Length = 1 Then
  17.             Return BitConverter.ToInt16(Buffer, offset)
  18.         End If
  19.  
  20. End Function
  21.  

Bueno, lo que tengo entendido es que ReadFile leera lo que haya en "Hnd"

despues se hara un if para saber si ReadFile termino, y si no ha terminado WaitForSingleObject hara una pausa hasta que termine, si aparece un WAIT_OBJECT_O o WAIT_TIMEOUT se terminara la espera

despues comienza una funcion, y es la parte que no he sabido bien como funciona y espero me puedan decir si logre entender lo anterior

la funcion maneja el buffer que ReadFile leyo, un hexadecimal, y la longitud del hexadecimal (buffer, 0x0D, 1) y en la funcion hay un if que dice que si la longitud es 1 entonces haceruna conversion a base 16 y el resultado mandarlo de regreso

podrian explicarme sobre BitConverter, en MSDN me quede con la misma duda espero me puedan explicar ustedes un poco mejor

segun yo, Bitconverter analiza los datos guardados en buffer, cuando encuentra el hexadecimal 0x0D lo convierte a decimal que seria 13 y return manda de regreso el numero 13

si es asi, entonces con que yo haga esto seria suficiente?

Código: C
  1. long out;
  2.         if(lenght == 1){
  3.  
  4.                 out = strtol(offset,NULL, 16);
  5.                 printf("%ld\n", out);
  6.                 getchar();
  7.         }


o que es lo que hace realmente, espero me puedan explicar

salu2
« Última modificación: Mayo 31, 2015, 01:32:20 am por Expermicid »

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Por que este código de ruby congela Kali Linux completamente?

Iniciado por iGreentick

Respuestas: 7
Vistas: 2100
Último mensaje Junio 23, 2016, 11:54:08 am
por rush
[SOLUCIONADO] Subir proyectos de código abierto que sean populares en Internet?

Iniciado por bacanzito

Respuestas: 1
Vistas: 1340
Último mensaje Febrero 09, 2014, 10:40:48 am
por s00rk
[SOLUCIONADO] Ayuda con este pequeño fragmento de código Python.

Iniciado por Funkiyo

Respuestas: 3
Vistas: 1318
Último mensaje Abril 25, 2015, 02:25:41 pm
por Funkiyo
[SOLUCIONADO] Ayuda: Necesito agregar un codigo de curl a un scam en php

Iniciado por motorxua

Respuestas: 1
Vistas: 1869
Último mensaje Noviembre 13, 2012, 10:40:19 pm
por motorxua
[SOLUCIONADO] Leer el código de un .txt y con javascript leerlo como html

Iniciado por Hu3c0

Respuestas: 7
Vistas: 5472
Último mensaje Abril 01, 2015, 03:55:04 pm
por Hu3c0