Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-01-2018
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Esta función ¿sería válida así?
Código PHP:
public unsafe byte[] DecryptAll(byte[] eData)
{
    
byte[] array = new byte[(int)eData.Length];
    
intptrInt1;
    
intptrInt2;
    
    if (
eData != null && (int)eData.Length !=0)
    {
        
fixed (byteptrByte1 = &eData[0])
        {
            
ptrInt1=(int*)ptrByte1;
        }
    }
    else
    {
        
fixed (byteptrByte1 = (byte[]) null)
        {
            
ptrInt1=(int*)null;
        }
    }
    
byte[] array2;
 
    if ((
array2 = array) != null &&(int)array2.Length != 0)
    {
        
fixed (byteptrByte2 = &array2[0])
        {
             
ptrInt2=(int*)ptrByte2;
        }
    }
    else
    {
        
fixed (byteptrByte2 = (byte[])null)
        {
            
ptrInt2=(int*)null;
        }
    }
    for (
int i 0< (int)eData.Length >> 3;+= 1)
    {
        
int num1 ReverseDWORD(*ptrInt1);
        
ptrInt1++;
        
int num2 ReverseDWORD(*ptrInt1);
        
ptrInt1++;
        
this.Desencriptar(ref num1ref num2);
        
num1 = (*ptrInt2 ReverseDWORD(num1));
        
ptrInt2++;
        
num2 = (*ptrInt2 ReverseDWORD(num2));
        
ptrInt2++;
    }
    return array;

La idea es ir cogiendo del array byte[] eData 2 enteros y encriptarlos, voy incrementando los punteros para ir accediendo al siguiente lugar de la memoria donde estará el siguiente entero.

Última edición por aguml fecha: 01-01-2018 a las 01:39:44.
Responder Con Cita
  #2  
Antiguo 03-01-2018
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Solucionado
Responder Con Cita
  #3  
Antiguo 03-01-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Cómo?
Responder Con Cita
  #4  
Antiguo 04-01-2018
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Pues como indiqué arriba. En C++ puedes hacer esto:
Código PHP:
byte array[125];
int *ptr=(int*)array;
*
ptr=0x12345678;
ptr++
*
ptr=0x88888888
En C# tienes que indicar que es código no seguro con unsafe cuando intentas hacer un cast de ese tipo y además hacerlo en una zona fixed y usar un puntero auxiliar para el casting:
Código PHP:
byte[125] array;
intptrInt;
    
fixed (byteptrByte = array)
{
    
ptrInt=(int*)ptrByte;
}
*
ptrInt=0x12345678;
ptrInt++;
*
ptrInt=0x88888888

Última edición por aguml fecha: 04-01-2018 a las 12:57:06.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Columna fixed LuisAlf:: Varios 4 07-09-2011 21:31:56


La franja horaria es GMT +2. Ahora son las 04:04:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi