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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1]
1  Programación / ASM / crear interrupción por hardware en: 28 Mayo 2019, 06:23 am
Hola a todos, tengo una super pregunta, ¿Como se crea una interrupción por hardware?

Tengo un programa que hace un conteo del 0 al 59 y cuando llega a 60 pasa denuevo al 0 y reinicia el ciclo, hasta ahi voy bien, pero no se como hacer que al presionar la tecla "1" se active un retraso y que al presionar "2" se active otro retraso diferente.


En código tengo lo siguiente:
Código
  1. org 100h
  2.  
  3. .model small
  4.  
  5. .stack 100
  6.  
  7. .data
  8. u db 0
  9. d db 0
  10. v db 0
  11. tiempo db 0
  12.  
  13. .code
  14.  
  15. start:
  16. mov cx,00h ; inicializo contador en cero
  17.  
  18. inicio:
  19. mov tiempo,cl
  20. ;call retraso1s  ;salto a retraso de 1s
  21. ;call retraso5s  ;salto a retraso de 1s
  22. ;call retraso10s ; salto a retraso de 10s
  23. mov cl,tiempo
  24. cmp cl,10 ; compara si en el contador es mayor a 9
  25. jc aumento ;Destino es menor que origen
  26. ;jne repite ; sino es verdadera la ultima comparacion regresa a repite
  27. jz separar ;Numeros iguales
  28. jnz separar ;Destino mayor a origen
  29. cmp d,06h
  30. jc inicio ;Destino es menor que origen
  31. jz start ;Numeros iguales
  32.  
  33.  
  34. separar:
  35. mov al,cl
  36. AAM
  37. mov u,al
  38. mov al,ah
  39. AAM
  40. mov d,al
  41. ;cmp d,06h
  42. ;jz salir ;Numeros iguales
  43. mov ah,02h
  44. mov dl,d
  45. add dl,30h
  46. int 21h  
  47. mov ah,02h
  48. mov dl,u
  49. add dl,30h
  50. int 21h
  51. inc cl ; incremento el contador en uno
  52. jmp inicio
  53. ret
  54.  
  55. aumento:
  56. mov dl,cl ; muevo el valor del contador a dl para imprimir
  57. inc cl ; incremento el contador en uno
  58. add dl,30h ; sumo 30h a dl para convertirlo al codigo ascii y poder imprimirlo
  59. mov ah,02h ; funcion para imprimir un caracter
  60. int 21h ; imprimo
  61. jmp inicio
  62. ret      
  63.  
  64.  
  65. retraso1s:
  66.    MOV     CX, 0FH
  67.    MOV     DX, 4240H
  68.    MOV     AH, 86H
  69.    INT     15H    
  70. ret
  71.  
  72. retraso4s:
  73.    MOV     CX,3aH
  74.    MOV     DX,9680H
  75.    MOV     AH,86H
  76.    INT     15H    
  77. ret
  78.  
  79. retraso5s:
  80.    MOV     CX,45H
  81.    MOV     DX,9680H
  82.    MOV     AH,86H
  83.    INT     15H    
  84. ret
  85.  
  86.  
  87. retraso10s:
  88.    MOV     CX, 98H
  89.    MOV     DX, 9680H
  90.    MOV     AH, 86H
  91.    INT     15H    
  92. ret
  93.  
  94.  
  95. salir:
  96. .exit
  97. end
  98.  


Espero que me puedan dar una idea de como continuar
2  Programación / ASM / problema con contador que toma segundos del sistema en: 26 Mayo 2019, 08:14 am
Hola a todos, estoy creando un contador que toma los segundos del sistema y sigue con el conteo cada segundo y manda a imprimir el mismo, pero tengo un problema en la conversión de 60 a 00 y validarlo al momento de comparar con el segundo actual.

Código
  1. org 100h
  2.  
  3. .model small
  4.  
  5.  
  6. .stack 100
  7.  
  8.  
  9. .data
  10. s0      db 30h
  11. s1      db 30h
  12. sold    db 0
  13. snew    db 0
  14.  
  15.  
  16.  
  17. .code
  18. .startup
  19.    init:
  20. mov ah,2ch  
  21. int 21h     ;dh =segundos del sistema
  22.        mov sold,dh
  23.        call hora      
  24. add dh, 1  ;dh= segundo se sistema +1
  25. mov snew, dh ;snew es el segundo posterior
  26.        cmp snew,60
  27. jz seis0  ;Numeros iguales
  28.        jmp sincronizados          
  29.  
  30.  
  31. sincronizados:  
  32. mov ah,2ch  
  33. int 21h     ;dh =segundos del sistema
  34. mov bl,dh
  35.    mov bh,snew
  36. cmp bl, bh ;compara (new segundo) contra (old segundo + 1)
  37. jne sincronizados ;salto si no son iguales
  38. jmp init
  39. ret
  40.  
  41.  
  42. seis0:
  43. mov ah,2ch  
  44. int 21h     ;dh =segundos del sistema
  45.        mov sold,dh
  46. cmp sold,00
  47. jnz seis0 ;Destino mayor a origen
  48. mov sold,00 ;reset sold a 0
  49. call separa
  50. mov snew,1
  51. jmp sincronizados
  52. ret
  53.  
  54.  
  55.    hora:
  56.  
  57.        cmp sold,10
  58.        jae separa
  59. jmp sincronizados
  60.  
  61.    ret
  62.  
  63.    separa:
  64.        mov al,sold
  65.        AAM
  66.        mov bx,ax
  67.        mov ah,02h
  68.        mov dl,bh
  69.        add dl,30h
  70.        int 21h
  71.        mov ah,02h
  72.        mov dl,bl
  73.        add dl,30h
  74.        int 21h
  75.    ret
  76.  
  77.  

Esto es lo que tengo hecho.
El contador va bien hasta el momento en que va iniciar un nuevo ciclo de conteo (es decir, va del segundo del sistema hasta el 60 o 00) y de ahi se queda en un ciclo, nunca pasa al 01.

Espero que me puedan ayudar
3  Programación / Programación C/C++ / Implementación de arreglo de 2-D como función en: 28 Noviembre 2018, 04:40 am
Buenas chicos, intento implementar una función que imprima los valores de un arreglo 2-d, pero no se que poner en el parámetro donde va la segunda dimensión, con malloc pido memoria para un int o que me recomiendan.

Aqui tengo el problema:
Código
  1. void muestra(int matriz[][], int renglon, int columna)
  2.  

El valor de las dimensiones de mi array es variable, bien puede ser 2x 3 o 20x20.
Lo que tengo de código es:
Código
  1. void muestra(int matriz[][], int renglon, int columna);
  2.  
  3. int main() {
  4.  int M, N, i, j;
  5.  
  6. scanf("%d %d", &M, &N);
  7.  
  8.  int b_minas [M][N];
  9.  
  10.  for (i= 0; i < M; i++) {
  11.    for (j= 0; j < N; j++) {
  12.    scanf("%d", &b_minas[i][j]);
  13.    }
  14.  }
  15.  muestra( b_minas, M, N);
  16.  
  17.  
  18.  return 0;
  19. }
  20.  
  21. void muestra(int matriz[][], int renglon, int columna) {
  22.  printf("\n");
  23.  int i, j;
  24.  
  25.  for (i= 0; i < renglon; i++) {
  26.    for (j= 0; j < columna; j++) {
  27.    printf("%d ", matriz[i][j]);
  28.    }
  29.    printf("\n");
  30.  }
  31. }
  32.  
4  Programación / Programación C/C++ / Guardar una linea de enteros separados por un espacio en C en: 6 Noviembre 2018, 19:51 pm
Buenas dias/tardes/noches a todos tengo un problema en el que espero que me puedan ayudar.

Necesito guardar un serie de números enteros que están separados por un espacio en un arreglo, es decir, me dan un número N que la longitud de mi arreglo A[N] y la siguiente entrada son N números que debo guardar en A, ejemplo:

5
1 3000 466 588 57778


Mi duda es como guardarlos, si estuvieran juntos los números o los ingresaran un seguido de otro seria fácil, pero de esta forma no se me ocurre que hacer.

Gracias a todo los que puedan darme unas ideas que implementar.
5  Seguridad Informática / Criptografía / Ayuda para descifrar clave del asesor de contenido en: 29 Octubre 2015, 18:19 pm
Por favor alguien que me ayude con lo siguiente:

Estoy creando un archivo del reg para que borre la contra del asesor de contenido y otro para que coloque la clave pero el problema me surg a la hora de querer meter la clave al registro.
Meti una clave al asesor y vi el registro, obtuve el resultado en hexadecimal:

 34 9A C6 E4 28 83 D1 75 5F F7 D0 C8 0B 36 B6 4C

lo pase a Assci y obtuve:

4šÆä(ƒÑu_÷ÐÈ 6¶L

Alguien que me pueda ayudar a ver el metodo de encriptacion que se utiliza en esta clabe para que pueda cifrar mis claves y meterlas al registro desde un archivo.reg


 :huh: :huh: :huh:

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines