Ver Mensaje Individual
  #1  
Antiguo 23-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 14
aguml Va por buen camino
No entiendo esta función

Hola amigos, tengo un código que estoy intentando entender pero en visual studio c# no compila. La parte que quiero entender por ahora y donde da los errores es esta:
Código PHP:
public unsafe byte[] Decrypt(byte[] eData)
{
    
byte[] buffer2;
    
byte[] buffer = Class41.smethod_0((int) Class37.smethod_0(eData));
    if (((
buffer2 = eData) != null) && (((int) Class37.smethod_0(buffer2)) != 0))
    {
        
numRef2 = &(buffer2[Class4.smethod_0(0x114)]);
    }
    
fixed (byte* numRef2 = ((byte*) Class4.smethod_0(0x110)))
    {
        if (((
buffer2 = buffer) != null) && (((int) Class37.smethod_0(buffer2)) != 0))
        {
            
numRef = &(buffer2[Class4.smethod_0(0x11c)]);
        }
        
fixed (byte* numRef = ((byte*) Class4.smethod_0(280)))
        {
            
int* numPtr = (int*) numRef2;
            
int* numPtr2 = (int*) numRef;
            
int num = Class4.smethod_0(0x120);
            do
            {
                
numPtr += Class4.smethod_0(0x124);
                
int num2 = numPtr[0].smethod_2();
                
numPtr += Class4.smethod_0(0x128);
                
int num3 = numPtr[0].smethod_2();
                
this.ccfae92404b1d8caf890158f763ac579b(ref num2, ref num3);
                
numPtr2 += Class4.smethod_0(300);
                
numPtr2[0] = num2 = num2.smethod_2();
                
numPtr2 += Class4.smethod_0(0x130);
                
numPtr2[0] = num3 = num3.smethod_2();
                
num += Class4.smethod_0(0x134);
            }
            while (
num < (((int) Class37.smethod_0(eData)) >> Class4.smethod_0(0x138)));
        }
    }
    return 
buffer;
} 
Los errores los da en las líneas con fixed.
¿Alguien puede corregir el código y comentarlo para entender que hace en cada línea?
Responder Con Cita