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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [87] 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ... 123
861  Programación / Programación C/C++ / Re: Es posible hacer esto sin arreglos? en: 13 Marzo 2013, 20:01 pm
Haber, poder se puede pero es como si intentases crear un array en ASM.

Suponiendo que cada numero ocupa un tamaño de 4bytes solo tienes que crear un buffer de longitud 40 (10 numeros por 4 bytes) donde en la posicion 1 pones el primer numero en la posicion 4 el segundo numero en la posicion 8 el tercer numero y así consecutivamente.... En realidad así es como trabajan los arrays a nivel ensamblador solo que no lo vemos debido a que se programa en niveles superiores.

un saludo!



Mira edito el tema para dejarte como seria que avisara si se repite un numero, solo tienes que añadir que se cuenten las veces que se repita:

Código
  1. // mDrinky
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. int main()
  7. {
  8.    char * Buffer = malloc(10);
  9.    int numero;
  10.    int i = 0;
  11.    int a;
  12.  
  13.    numero = 0;
  14.    memset(Buffer,0,10);
  15.  
  16.    printf("Ingrese 10 numeros: ");
  17.  
  18.    while (i<10)
  19.    {
  20.        a = 0;
  21.        scanf("%i",&numero);
  22.  
  23.        numero += 0x30;
  24.        Buffer[i] = numero;
  25.  
  26.        while(a<i)
  27.        {
  28.            if (Buffer[a] == Buffer[i])
  29.            {
  30.                printf("Numero repetido!");
  31.                return 1;
  32.            }
  33.            a++;
  34.        }
  35.        i++;
  36.    }
  37.  
  38.    return 0;
  39. }
  40.  

862  Programación / ASM / Re: Llamadas a ASM desde C en: 13 Marzo 2013, 12:05 pm
Ya solucione el problema, era porque rompia registros que no podia tocar con la convencion de llamada stdcall. Gracias EI jaja  ;)




863  Informática / Hardware / Re: ¿Cuál es la pieza de tu ordenador que más aprecias? en: 12 Marzo 2013, 12:25 pm
El procesador obviamente  :rolleyes:
864  Programación / ASM / Re: Llamadas a ASM desde C en: 10 Marzo 2013, 20:27 pm
mGetProc retorna la dirección de una API pasandole la librería y un hash de la cadena de la funcion.

Solo explota cuando lo lamo desde C si genero un exe con el mismo código ASM y llamo a las funciones no explota, creo que es por las convenciones de llamada o algo pero no acabo de atinar  :-X

865  Programación / ASM / Re: Llamadas a ASM desde C en: 10 Marzo 2013, 19:28 pm
Hola EI, gracias por responder.

La aplicación sigue dando el mismo error...

Código
  1. DLLCargada:    ; parametro sock
  2.             ; informamos que la DLL esta cargada correctamente.
  3.             push ebp
  4.             mov ebp,esp
  5.  
  6.  
  7.             invoke LoadLibraryA,mKernel32       ; cargamos las librerias
  8.             mov [Kernel32],eax
  9.  
  10.             invoke LoadLibraryA,mWinsock
  11.             mov [Winsock],eax
  12.  
  13.  
  14.             stdcall mGetProc,[Winsock],hsend
  15.             ; EAX = send@winsock
  16.  
  17.             mov edx,dword[esp+8]
  18.             stdcall eax,edx,CargadaOk,20,0  ;invoke send,edx,CargadaOk,20,0
  19.  
  20.             leave
  21.             ret 4  

En la función mGetProc hago ret 8 tambien y nada... estoy ya un poco desesperado  :xD
866  Programación / ASM / Llamadas a ASM desde C en: 10 Marzo 2013, 17:22 pm
Hola a todos,

Tengo una DLL creada en FASM y llamo a las funciones desde C pero me devuelve un error 0xC0000005 mi aplicacion y se cierra.

Para llamarla desde C lo ago así:

Código
  1. typedef (WINAPI * DLLCargada) (DWORD sock);
  2. DLLCargada ShellDLLCargada;
  3. ShellDLLCargada = (DLLCargada)GetProcAddress(Shell,"DLLCargada");
  4. ShellDLLCargada(sock);

y las funciones en la DLL están hechas así:

Código
  1. DLLCargada:    ; parametro sock
  2.             ; informamos que la DLL esta cargada correctamente.
  3.             push ebp
  4.             mov ebp,esp
  5.             mov eax,dword[esp+8]
  6.  
  7.             invoke send,eax,CargadaOk,20,0
  8.  
  9.             leave
  10.             ret    

La aplicación me peta y nose porque creo que es por la pila que no la arreglo bien o algo  desde el ASM :-\ ayuda  :P

un saludo!
867  Foros Generales / Foro Libre / Re: Muere Hugo Chávez en: 6 Marzo 2013, 19:21 pm
Hasta siempre comandante!
868  Programación / ASM / Re: manejo de cadenas _scanf en: 26 Febrero 2013, 14:45 pm
No has encontrado nada porque no as buscado  >:D

simplemente poniendo en google "scanf espacios" salen muchisimos post, como por ejemplo este:

http://www.elrincondelc.com/nuevorincon/foros/viewtopic.php?p=57231&sid=ff5abcaeb21a3fab4e3f7ebd442fc139

 :silbar:
869  Programación / Programación C/C++ / Re: Ayuda para descargarme el CodeBlocks en: 12 Febrero 2013, 14:00 pm
Te tienes que desacrgar este:

http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/Windows/codeblocks-12.11mingw-setup.exe/download

que es el que trae Mingw, osea el compilador :rolleyes:

un saludo!
870  Programación / ASM / Re: [Duda] Estructuras en: 12 Febrero 2013, 10:18 am
Entonces estas equivocado, no se hace con la pila  :xD se hace ocn al tecnica del delta offset:

http://www.wikilearning.com/curso_gratis/curso_de_programacion_de_virus-infeccion_bajo_windows_i/4312-13

un saludo!
Páginas: 1 ... 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [87] 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ... 123
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines