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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 54
121  Informática / Hardware / Re: Problemas con la Impresora en: 27 Febrero 2019, 23:49 pm
Está claro que el negocio de las impresoras son sus consumibles, que te los venden casi al precio de la impresora :xD

Yo te recomiendo que hagas sabotaje al mercado de cartuchos, te compres una jeringa, bote de tinta china negra, un videotutorial de recarga de cartuchos y di adiós a la compra de cartuchos. Yo ya ni me acuerdo cuando fue la última vez que compré cartuchos para la impresora  :xD
122  Informática / Hardware / Re: ¿QUÉ TAL ES ESTE PORTÁTIL? en: 27 Febrero 2019, 23:22 pm
Es lo que vale. Es un buen portátil respecto a calidad/precio, pero olvídate de usarlo en plan gaming, ya que si lo usas par juegos tendrás que usar confguraciones de baja calidad o reducir la resolución bastante (640x480  ;D)

Mi portátil que compré hará como 3 años tiene una confguración similar, 16 gigas DDR4, 1Tb, una GTX 940m (2015) y un i7 de sexta generación muy similar a rendimiento a ese i7. El precio fue también similar a ese, 700 y poco euros. Es un portátil de media gama, para ocio y trabajo va muy bien, pero si es sólo para juegos úsalo para juegos del 2010 para abajo.

Un portátil está bien si estudias, si eres muy viajero, siemrpe estás de mudanza y cosas así, pero si pretendes usarlo en casa el 80 o 90 por cien mejor gasta ese dinero en un ordenador de escritorio, cómpralo por piezas y tendrás un buen cacharro para gaming.
123  Programación / Programación General / Re: mvc 5 textbox en: 27 Febrero 2019, 23:00 pm
como hago para que me aparezca una pregunta aleatoria en un label o textbox

Pues deduciendo por medio de mi bola mágica, esto es Java, así que lo que tienes que hacer es tomar la referencia del objeto que quieres modificar y luego por medio de alguno de sus métodos o funciones haces lo que quieres hacer.

Esto puede venirte grande porque se ve que quieres hacer la casa por el tejado y en programación como cualquier cosa primero debes empezar por la base. Quizás deberías enfocarte al aprendizaje de Java y su POO.

124  Programación / Programación General / Re: programa java en: 27 Febrero 2019, 18:43 pm
Yo te recomiendo que añadas otro parámetro y que lo denomines clave, de esa forma podrás usar una clave para cifrar las palabras o textos y hacer más seguro, según el algortimo, la cifrado.

Luego te pongo un ejmeplo que ahora me tengo que ir.
125  Programación / ASM / Re: Pasar argumentos a una función externa de C desde NASM en: 26 Febrero 2019, 20:36 pm
Puedes usar cualquier registro en uso, es más todos los registros suelen estar usados en los procesos del sistema que comparte con tú programa pero lo habitual en asm es guardar sus estados, push o mov, y luego recuperarlos, pop o mov. Posiblemente esto te puede ir grande aunque si inviertes tiempo en aprender seguro que luego sacas eso con menos dificultad.

Por ejemplo, en la porción que muestras usas eax y lo inicias a cero mediante un xor.

Si la variable de la cadena es instr es esa la que tienes que usar no entiendo que haces con ese edx y ese ecx, no se ve en el código que contienen.
126  Programación / ASM / Re: Pasar argumentos a una función externa de C desde NASM en: 26 Febrero 2019, 16:29 pm
La convencion de llamada depende principalmente de la plataforma (hardware y software).

https://en.wikipedia.org/wiki/X86_calling_conventions#cdecl

Es cierto.
127  Programación / ASM / Re: Pasar argumentos a una función externa de C desde NASM en: 26 Febrero 2019, 07:29 am
Entiendo que quieres usar una función de C en NASM.

Los parámetros se pasan a las funciones como si fueran un array, en este caso es una pila. En esa pila se van pasando los parámetros por medio, como sabrás, del push. Del último al primero, por lo tanto primero debes meter el entero (n) y luego el puntero (buf). Lógicamente se entiende que sabes que son los punteros y esas cosas. En la pila de los parámetros no pasas la cadena, pasas un puntero, una dirección de memoria.

Ten cuidado porque hay manejas punteros, tienes que reservar la memoria y liberarla, y para más inri lo mismo con los registros, una vez haces un push recuerda que luego debes hacer un pop para recuperar el estado anterior a la llamada de la función.

Ejemplo (Visual Studio (0x86) + NASM Win32):
Código
  1. #include <iostream>
  2.  
  3. extern "C" void funcionEnCpp(char * cadena, int valor) {
  4. std::cout << "cadena=" << cadena << "valor= "<< valor << "\n";
  5. system("PAUSE");
  6. }


Código
  1. extern _funcionEnCpp
  2.  
  3. section .data
  4.    cadena: db "Hola asm",8,0
  5.  
  6. section .text
  7.  
  8. global _main:
  9.  
  10. _main:
  11.        ; *** pasamos los parámetros ***
  12. mov eax, 55
  13. push eax ; metemos el valor
  14. push cadena; metemos el puntero de la cadena
  15.        ; ***************************
  16.  
  17. call _funcionEnCpp ; llamamos la funcion
  18.  
  19.        ; *** vaciamos la pila ***
  20. pop eax
  21. pop eax
  22.        ; ********************
  23.  
  24. mov eax, 0 ; retornamos todo OK
  25. ret
128  Programación / Programación C/C++ / Re: [Consulta] SDL2 arreglar movimiento de ventana con click en: 24 Febrero 2019, 19:25 pm
Bueno, fallo, fallo no se puede considerar que sea. Mi conclusión es que debes hacerlo de otra forma, ya que el problema radica cuando el puntero del ratón queda fuera de la ventana y se pierde el foco. Entonces en ese momento para forzar la recuperación del foco usas SDL_CaptureMouse() y ésto permite que los eventos del ratón se puedan seguir capturando fuera de la ventana. Esa parte es la responsable del comportamiento errático del arrastre. Yo conseguí reducirlo un poco, pero ocasionalmente me daba ese salto por ejemplo al pasar el cursor cuando salía del marco por encima del borde de la ventana de la terminal.



Código
  1. #include <SDL2/SDL.h>
  2. #include <stdio.h>
  3.  
  4. #define SCREEN_WIDTH 640
  5. #define SCREEN_HEIGHT 200
  6.  
  7. static bool salida = false;
  8.  
  9. int main(int argc, char* args[]) {
  10.    SDL_Window* window = NULL;
  11.    SDL_Surface* screenSurface = NULL;
  12.    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
  13.        fprintf(stderr, "could not initialize sdl2: %s\n", SDL_GetError());
  14.        return 1;
  15.    }
  16.    window = SDL_CreateWindow(
  17.    "hello_sdl2",
  18.    SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
  19.    SCREEN_WIDTH, SCREEN_HEIGHT,
  20.    SDL_WINDOW_SHOWN);
  21.  
  22.    if (window == NULL) {
  23.        fprintf(stderr, "could not create window: %s\n", SDL_GetError());
  24.        return 1;
  25.    }
  26.    screenSurface = SDL_GetWindowSurface(window);
  27.    SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF));
  28.    SDL_UpdateWindowSurface(window);
  29.  
  30.    int xPos,yPos,xMPosN,yMPosN;
  31.    static bool bMouseClicked=false, bMouseMoving=false;
  32.    static int xMPos=0,yMPos=0;
  33.    char buffer [50];
  34.    while(!salida){
  35.  
  36.        SDL_Event event;
  37.        while( SDL_PollEvent(&event) ) {
  38.  
  39.            switch(event.type ){
  40.  
  41.                case SDL_MOUSEBUTTONDOWN:
  42.                    if(event.button.button == SDL_BUTTON_LEFT){
  43.                        if (!bMouseClicked) {
  44.                            bMouseClicked=true;
  45.                            SDL_GetMouseState(&xMPos,&yMPos);
  46.                            SDL_GetWindowPosition(window,&xPos,&yPos);
  47.                        }
  48.                    }
  49.  
  50.                break;
  51.                case SDL_MOUSEBUTTONUP:
  52.                    if (bMouseClicked) { // Impedimos que entre varias veces
  53.                        if(event.button.button == SDL_BUTTON_LEFT){
  54.                            bMouseClicked=false;
  55.                            SDL_CaptureMouse(SDL_FALSE);
  56.                        }
  57.                    }
  58.  
  59.                break;
  60.                case SDL_MOUSEMOTION:
  61.  
  62.                    if(bMouseClicked) bMouseMoving = true;
  63.                break;
  64.                case SDL_QUIT:
  65.                    salida = true;
  66.            } // fin switch
  67.  
  68.        } // fin loop de eventos
  69.  
  70.        // renderizamos o dibujamos
  71.        if(bMouseClicked && bMouseMoving){
  72.            SDL_CaptureMouse(SDL_TRUE); // Se desabilita al perder el foco
  73.            SDL_GetMouseState(&xMPosN,&yMPosN);
  74.            xPos-=(xMPos-xMPosN);
  75.            yPos-=(yMPos-yMPosN);
  76.            SDL_SetWindowPosition(window,xPos,yPos);
  77.        }
  78.        sprintf (buffer, "xM=%d yM=%d / xW=%d yW=%d / xCM=%d yCM=%d", xMPosN, yMPosN, xPos, yPos, xMPos, yMPos);
  79.        SDL_SetWindowTitle(window,buffer);
  80.        bMouseMoving = false;
  81.        SDL_Delay(10);
  82.    }
  83.    //SDL_CaptureMouse(SDL_FALSE);
  84.    SDL_DestroyWindow(window);
  85.    SDL_Quit();
  86.    return 0;
  87. }
129  Programación / Programación C/C++ / Re: [Consulta] SDL2 arreglar movimiento de ventana con click en: 24 Febrero 2019, 00:03 am
Vale, pensaba que querías corregir el salto molesto ese que en el último gif ya no se apreciaba.

Bueno, como no tengo nada que hacer es posible que haga una prueba en una máquinita virtual que tengo con un Ubuntu con gnome. Ya te cuento entonces,
130  Programación / Programación C/C++ / Re: [Consulta] SDL2 arreglar movimiento de ventana con click en: 23 Febrero 2019, 23:20 pm
Al final funcionó a la manera de CalgaryCorpus. Claro al no hacer un else seguía detectando el evento de pulsado e interfería al mover con el ratón pulsado.

Entonces queda cerrado el tema.

Gracias CalgaryCorpus por tú colaboración  ;-)
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 54
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines