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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1] 2 3
1  Programación / Programación C/C++ / Duda GetProcAddress en: 5 Marzo 2013, 02:41 am
Buenas a todos, he visto varios códigos donde hacen algo como esto:

Código
  1. GetProcAddress(GetModuleHandle("user32.dll"), "MessageBoxA");
  2.  

Entiendo que obtiene la dirección de memoria de la función MessageBoxA, pero lo que no logro entender es cómo es que es la misma dirección para todos los procesos? No se si me explico bien, pero no entiendo como funciona esto.
2  Programación / Programación C/C++ / Problema capturando excepciones en: 5 Marzo 2012, 03:52 am
Tengo una clase donde uno de sus métodos lanza una excepción y estuve debugueando y efectivamente se ejecuta la parte del throw, pero donde tengo el try... catch no está capturando la excepción y crashea la app. A qué se puede deber esto?
3  Programación / Programación C/C++ / Función que retorna el valor de retorno de otra función en: 7 Diciembre 2011, 01:03 am
Tengo dos funciones que retornan entero, una llamada prueba y la otra prueba2 dentro de prueba llamo a prueba2 y sin poner return en prueba me devuelve el valor de retorno de prueba2. No se si me explique bien pero aquí les dejo el código:

Código
  1. #include <stdio.h>
  2.  
  3. int prueba2(){
  4. return 11321;
  5. }
  6.  
  7. int prueba(){
  8. prueba2();
  9. }
  10.  
  11. int main(void){
  12. printf("%d\n", prueba()); // Imprime 11321
  13. return 0;
  14. }

Mi pregunta es, por que pasa esto?
4  Programación / Programación C/C++ / Arreglos y apuntadores están íntimamente relacionados en: 14 Octubre 2011, 16:59 pm
Buenas a todos en la universidad en la clase de arreglos y apuntadores el profesor nos dijo que están ÍNTIMAMENTE relacionados nos dio este código y nos preguntó que cómo era posible que compilara y funcionara, es decir que dijéramos el por que...

Código
  1. #include <stdio.h>
  2.  
  3. int arreglo[] = { 1, 2,3, 4, 5};
  4.  
  5. int main()
  6. {
  7.    printf("%d\n", arreglo[3]);
  8.    printf("%d\n", 3[arreglo]);
  9.  
  10.    return 0;
  11. }
  12.  

Bueno lo que sé es que el operador [] se resuelve así:

Código
  1. elem1[elem2]

Código
  1. *(elem1 + elem2)

El no va a sumar 3 a la dirección de memoria del arreglo sino que va a sumar (3*sizeof(tipo_arreglo)), pero la pregunta es Por qué esto es posible?
5  Programación / Programación C/C++ / Inyección DLL (No inyecta) en: 26 Julio 2011, 18:31 pm
Buenas a todos ayer estuve viendo en el foro temas sobre inyección DLL, pero me puse a probar un código que encontré en el foro y no me funcionó. Aquí se los dejo si ven el problema háganme saber:

Código
  1.  
  2. void inyectar(const char * dll, const char * proceso){
  3.    DWORD  pId = pID(proceso);
  4.    HANDLE hProceso = OpenProcess(PROCESS_ALL_ACCESS, false, pId);
  5.  
  6.    printf("DLL a inyectar: %s\nProceso: %d-%s\n", dll, pId,proceso);
  7.  
  8.    if(hProceso != NULL){
  9.        LPVOID nLoadLibrary = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
  10.  
  11.        if(nLoadLibrary == NULL)
  12.            printf("LoadLibrary error\n.");
  13.  
  14.        LPVOID remoto = VirtualAllocEx(hProceso, NULL, strlen(dll), MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE);
  15.  
  16.        if(remoto == NULL)
  17.            printf("Error reservando la memoria.\n");
  18.  
  19.        WriteProcessMemory(hProceso, (LPVOID)remoto, dll, strlen(dll), NULL);
  20.  
  21.        CreateRemoteThread(hProceso, NULL, NULL, (LPTHREAD_START_ROUTINE)nLoadLibrary, (LPVOID)remoto, NULL, NULL);
  22.        CloseHandle(hProceso);
  23.    }
  24. }
  25.  
6  Programación / Programación C/C++ / Keep Alive Sockets en: 21 Julio 2011, 04:26 am
Buenas a todos, tengo un problema con sockets en windows. Me pasa lo siguiente tengo una única conexión de sockets y tengo un hilo que comprueba que la conexión este activa enviando un mensaje cada 2.5 segundos, el problema resulta que al usar send() en Windows 7 cuando la conexión no esta activa en vez de devolverme SOCKET_ERROR el programa crashea.

Código
  1. DWORD WINAPI keepalive(LPVOID){
  2.    char KEEP_ALIVE = '\0';
  3.  
  4.    while(1){
  5.       if(send(cnn, &KEEP_ALIVE, sizeof(char), 0) == SOCKET_ERROR){
  6.            TerminateThread(hiloRecibir, 0);
  7.            hiloCnn = CreateThread(NULL, 0, esperarCnn, 0, 0, 0);
  8.  
  9.            printf("WINSOCK: Desconectado.\n");
  10.  
  11.            ExitThread(0);
  12.        }
  13.  
  14.        Sleep(2500);
  15.    }
  16. }
  17.  

EDIT:

En Windows XP funciona perfectamente.
7  Programación / Programación C/C++ / Crear la misma variable en diferentes posiciones de memoria en: 20 Mayo 2011, 00:34 am
No se si es el titulo correcto pero mi duda es la siguiente tengo este código

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int i;
  7.  
  8.    for(i=1;i<=2;i++){
  9.        char * buffer = (char*)malloc(20);
  10.        printf("%d\n", &buffer);
  11.    }
  12.  
  13.    return 0;
  14. }
  15.  

Quiero hacer que cada vez que se recorra el for buffer se cree en una diferente posición en la memoria.

8  Programación / Programación C/C++ / MySQL, C y CodeBlocks en: 17 Mayo 2011, 16:07 pm
Bueno tengo unas dudas acerca de esto, descargue el conector de la página de MySQL pero tengo un problema tratando de generar el archivo libmysql.a necesito generar este archivo para no tener que incluir la dll libmysql.dll en la carpeta de mi ejecutable. ¿Alguna idea?

Cuento con estos archivos:
-libmysql.dll
-libmysql.lib

Edit:
Probé usando herramientas como reimp y dlltool logre generar un libmysql.a pero vacío (0 KB), no se si hice algo mal pero he buscado y no he encontrado nada que me haya podido resolver mi problema.
9  Programación / Desarrollo Web / Evento onsubmit javascript IE 8 en: 8 Febrero 2010, 19:48 pm
Buenas tenía problemas con el evento onsubmit de los formularios con IE 8 lo que pasa es lo siguiente tengo un buscador que quiero que trabaje con ajax osea que no recargue la página, lo hace perfectamente en Chrome y FF pero en IE 8 no funciona recarga la página como si se enviara normalmente. Aquí esta el código:

Buscador
Código
  1. <form name="buscar_form" id="buscar_form" onsubmit="buscar(); return false;">


Function buscar()
Código
  1. function buscar(){
  2.   var c = $("#cadena").val();
  3.   var cd = $("#ciudad").val();
  4.   var r = $("#categorias");
  5.  
  6.   if(($.trim(c) == "") || ($.trim(cd) == "") || ($.trim(c) == "Nombre de la empresa o servicio")){
  7.      alert('Debes colocar una empresa o servicio a buscar.');
  8.   } else {
  9.      r.html("<br /><p align=\"center\"><img src=\"images/cargando.gif\" /></p>");
  10.      $.ajax({ type: "GET", url: "nav/buscar.php?cadena=" + c + "&ciudad=" + cd, cache: false, data: "", success: function(response){ r.html(response); $("#cadena").val("Nombre de la empresa o servicio"); $("#ciudad").val("Selecciona una ciudad"); } });
  11.   }
  12. }

No se sí me expliqué bien pero estoy apunto de poner un botón con un onnlick="buscar();" y dejarlo así
10  Programación / Programación Visual Basic / VB 6 en Windows 7 64-bits? en: 22 Julio 2009, 05:26 am
Bueno les comento que me instale windows 7 64-bits y no he podido instalar el visual basic fijense el error que me tira:

http://img195.imageshack.us/img195/1824/wtfavs.png

Yo habia leido que si funcionaba en windows 7 pero supongo que como este es 64-bits es diferente o tengo que hcer algo xD
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines