Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BlackZeroX

#1571
.
Me suena Tonto-Religion.

P.D.: Pare de Sufrir... pero traigame dinero.

Dulces Lunas!¡.
#1572

Gracias.

P.D.: Mejor tarde que nunca.

Dulces Lunas!¡.
#1573
.
Quisas haciendo un hook al mensaje WH_CBT.

P.D.: No esperes codigo, la MSDN es suficiente.

Dulces Lunas!¡.
#1575
.
@Karcrack.

Se podria usar parte del codigo de [Zero] ( End Analisis de Malware lo publico ). Eso lo podria hacer quien supiera ASM para que ese pequeño "Stub" no pesara tanto.

Dulces Lunas!¡.
#1576
.
Viendo el codigo de The Swash re-arme el codigo de una forma mas limpia y evitando errores a toda costa, inclusive ante los archivos incompletos mas que nada, o que los imiten de alguna manera, pero no al 100%.




unsigned long long GetPeSize(const char *fPath)
/** Retorna el Byte donde termina TODOS los bytes de un Ejecutable en formato PE **/
{ /* By BlackZerox ( http://Infrangelux.sytes.net/ ) */
    IMAGE_DOS_HEADER        v_idh;
    IMAGE_NT_HEADERS        v_inh;
    IMAGE_SECTION_HEADER    v_ish;
    FILE                    *v_pFile;
    unsigned long long      v_ullTemp = 0;

    if ( (v_pFile = fopen(fPath,"r")) != NULL)
    {
        fseek(v_pFile, 0, SEEK_SET);
        if ( fread(&v_idh, 1, sizeof(IMAGE_DOS_HEADER) , v_pFile) == sizeof(IMAGE_DOS_HEADER ))/* ¿leimos lo desedo? [se evitan errores estupidos]*/
            if (v_idh.e_magic == IMAGE_DOS_SIGNATURE)/* ¿Es PEFormat? */
                if ( fseek(v_pFile, v_idh.e_lfanew, SEEK_SET) == 0 )/*  [se evitan errores estupidos] */
                    if ( fread(&v_inh, 1 , sizeof(IMAGE_NT_HEADERS), v_pFile) == sizeof(IMAGE_NT_HEADERS) )/* ¿leimos lo desedo?  [se evitan errores estupidos] */
                        if (v_inh.Signature == IMAGE_NT_SIGNATURE)/* ¿Es PEFormat? */
                            if ( v_inh.FileHeader.NumberOfSections > 0 )/*  [se evitan errores estupidos] */
                                v_ullTemp = v_idh.e_lfanew + sizeof(IMAGE_NT_HEADERS) + ((v_inh.FileHeader.NumberOfSections-1)*sizeof(IMAGE_SECTION_HEADER));
                                if ( fseek(v_pFile, v_ullTemp , SEEK_SET) == 0 )/*  [se evitan errores estupidos] */
                                    if ( sizeof(IMAGE_SECTION_HEADER) == fread(&v_ish, 1 , sizeof(IMAGE_SECTION_HEADER) , v_pFile))/* ¿leimos lo desedo?  [se evitan errores estupidos] */
                                        v_ullTemp = v_ish.SizeOfRawData + v_ish.PointerToRawData;
        fclose(v_pFile);
    }
    return v_ullTemp;
}



O para quien no entienda aqui esta otro ( Es como a mi me gusta mas, aun que el de arriba esta mas limpio )



unsigned long long GetPeSize(const char *fPath)
/** Retorna el Byte donde termina TODOS los bytes de un Ejecutable en formato PE **/
{ /* By BlackZerox ( http://Infrangelux.sytes.net/ ) */
    IMAGE_DOS_HEADER        v_idh;
    IMAGE_NT_HEADERS        v_inh;
    IMAGE_SECTION_HEADER    v_ish;
    FILE                    *v_pFile;
    unsigned long long      v_ullTemp = 0;

    if ( (v_pFile = fopen(fPath,"r")) != NULL)
    {
        fseek(v_pFile, 0, SEEK_SET);
        if ( fread(&v_idh, 1, sizeof(IMAGE_DOS_HEADER) , v_pFile) == sizeof(IMAGE_DOS_HEADER ))
        {/* ¿leimos lo desedo? [se evitan errores estupidos]*/
            if (v_idh.e_magic == IMAGE_DOS_SIGNATURE)
            {/* ¿Es PEFormat? */
                if ( fseek(v_pFile, v_idh.e_lfanew, SEEK_SET) == 0 )
                {/*  [se evitan errores estupidos] */
                    if ( fread(&v_inh, 1 , sizeof(IMAGE_NT_HEADERS), v_pFile) == sizeof(IMAGE_NT_HEADERS) )
                    {/* ¿leimos lo desedo?  [se evitan errores estupidos] */
                        if (v_inh.Signature == IMAGE_NT_SIGNATURE)
                        {/* ¿Es PEFormat? */
                            if ( v_inh.FileHeader.NumberOfSections > 0 )
                            {/*  [se evitan errores estupidos] */
                                v_ullTemp = v_idh.e_lfanew + sizeof(IMAGE_NT_HEADERS) + ((v_inh.FileHeader.NumberOfSections-1)*sizeof(IMAGE_SECTION_HEADER));
                                if ( fseek(v_pFile, v_ullTemp , SEEK_SET) == 0 )
                                {/*  [se evitan errores estupidos] */
                                    if ( sizeof(IMAGE_SECTION_HEADER) == fread(&v_ish, 1 , sizeof(IMAGE_SECTION_HEADER) , v_pFile))
                                    {/* ¿leimos lo desedo?  [se evitan errores estupidos] */
                                        v_ullTemp = v_ish.SizeOfRawData + v_ish.PointerToRawData;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        fclose(v_pFile);
    }
    return v_ullTemp;
}



P.D.: The Swash estas usando mal fread() no?...

Temibles lunas!¡.
.
#1577
Programación C/C++ / Re: Duda C++ JPEG
26 Enero 2011, 03:27 AM
.
Una alternativa es con las APIS GDIPLUS para obtener el HBITMAP y asi establecerla.

Dulces Lunas!¡.
.
#1578
Cita de: ignorantev1.1 en 23 Enero 2011, 02:24 AM

:laugh: ;-) ...  :¬¬

me creen o no me creen?

Bueno como sea ahi esta el codigo, Txuy es mi nickname de la vida real!, no creo que su familia o amigos pregunten: "oye, no has visto a BlackZerox" o "hey que ondas 76137913, como te va?"...

vale vale, no hay por que esponjarse tampoco. con haberlo aclararlo es suficiente, total eso es lo de menos.

P.D.: Mi apodo es Black.

Dulces Lunas!¡.
#1579
Cita de: ind3t3ctabl3 en 25 Enero 2011, 05:39 AM
soy del foro de indetectables

hay se acostumbra a dar codigos hechos ( algunos copiados ) cuando alguien tiene "dudas" aqui no tanto.

Dulces Lunas!¡.
#1580

Código (vb) [Seleccionar]


Option Explicit

Private Sub Form_Load()
Const cstr_Dir As String = "c:\windows\"
    If Not Dir$(cstr_Dir, vbDirectory) <> "" Then ' // Existe "cstr_Dir"?.
        MkDir cstr_Dir ' // Creamos "cstr_Dir".
    End If
    '   // Aquí ya deberia existir de forma normal el directorio "cstr_Dir".
End Sub



Dulces Lunas!¡.