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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19]
181  Programación / Programación General / Re: Mini Sistema Operativo!!! en: 17 Diciembre 2011, 02:51 am
Al mismo tiempo que una idea estúpida...
Sin embargo, en este tema nadie ha dicho algo de hacer un SO sin kernel. Quien comenzo el tema dijo que si debia hacer un kernel, ya que lo que el esta haciendo es un bootloader. Aun que si se le puede cuestionar el hecho de haber nombrado a LILO y GRUB, porque no los necesita, ¿no esta haciendo un boot?
Aunque no es tan estupido ni alocado hacer un SO sin kernel, ya que se puede hacer un interprete de comandos lo suficientemente pequeño como para que se encuentre junto al boot dentro de 512 bytes, pero el que lo haga sera un maestro. ;D
182  Programación / Programación General / Re: Mini Sistema Operativo!!! en: 16 Diciembre 2011, 22:12 pm
¿Podría cargar un archivo hecho en C++, por ejemplo llamado main.cpp, que seria el sistema operativo?
En realidad no se si funcionaria porque como va a interpretar el ordenador el código en C++ si no tiene compilador o interpretador?
Osea:
¿Cómo hago para que en donde dice text_string db 'Hola Amigos de el hacker.net!', 0 se cargue un archivo de C++, que va a ser la línea de comandos (hecha por mí),?
Tengo que añadir algo al código?
¿O debería hacer un kernel?

Gracias chicos.
Salu2!
Por supuesto que si se puede, de hecho yo estoy en lo mismo pero ya no me interesa abrir un archivo cpp o c. Pero creo que tienes una idea equivocada sobre eso, porque tienes que compilar ambos programas, el bootloader y el kernel por separado, el bootloader deberia tener alguna función para cargar sectores la cual llamaras desde el main de tu bootloader, luego grabas el boot en un floppy (en el MBR) y el kernel lo grabas en el segundo sector del floppy.
Aca hay una excelente página que te muestra las interrupciones y sus usos, y hay una, la Int 13h que es para manejar el floppy y los discos duros.
http://www.ctyme.com/intr/rb-0607.htm
Yo tambien estoy en lo de crear un SO, y estoy desarrollando un blog en el que muestro mis avances, si te interesa vemos como te mando el link, ya que no quiero meterme en lios con el moderador -.-
Ahhh y se me olvidaba, la wikipedia tambien nos da información sobre como usar las interrupciones.
http://es.wikipedia.org/wiki/Llamadas_de_interrupci%C3%B3n_del_BIOS#Tabla_de_interrupciones
Somos pocos los que quedamos con ganas de crear nuestro propio sistema operativo :D
183  Programación / ASM / Re: Duda sobre bootloader en paso a modo protegido en: 11 Diciembre 2011, 21:22 pm
Eso no es codigo, lee el enlace completo de nuevo, sobre el final tenes un ejemplo:
Código
  1. mov [0xb8000], 0x07690748

Igual sin saber assembly mucho mas que copiar y pegar no vas a estar haciendo la verdad ...

Siento defraudarte por dos razones: primero no soy ningun genio ni erudito del asm, estoy aprendiendo lo basico como para poder pasar ya a C o C++ o cualquier lenguaje para crear un kernel, y segundo, esto es una de las pocas cosas que he estado haciendo con copiar y pegar... Creo que me faltab algo: aun con el ejemplo no compila 'error: operation size not specified'
Realmente creo que hay veces en que nos gustaria que nos explicaran algo, especialmente a los que estamos comenzando. Gracias de todos modos
184  Programación / ASM / Re: Duda sobre bootloader en paso a modo protegido en: 11 Diciembre 2011, 20:26 pm
¿Leiste el enlace que deje? ¿Tenes alguna duda concreta?

Bueno, se supone que el orden es
Código:
0x000b8000: 'H', colourforH
cambio 'colourforH' por 0x07 que es lightgrey-on-black
pero a la hora de compilar me aparece 'error: label or instruction expected at start of line'
185  Programación / ASM / Re: Duda sobre bootloader en paso a modo protegido en: 11 Diciembre 2011, 19:59 pm
Perdon por tantas preguntas tal vez estupidas, pero como se hace eso?
186  Programación / ASM / Re: Duda sobre bootloader en paso a modo protegido en: 11 Diciembre 2011, 18:02 pm
Escribe solo en modo real y escribe los 32 caracteres que le mandas escribir ...

CX = number of characters in string.


Ohhh jeje, siertamente fue un error estupido, debi haber revisado bien esa página anoche, o tal vez estaria medio dormido ;D
Pero, ahora me surge una nueva duda, realmente escribe solo en modo real y ya que pase a modo protegido simplemente no escribe lo segundo... ¿como se escribe en pantalla en modo protegido? Graciaas
187  Programación / ASM / Duda sobre bootloader en paso a modo protegido en: 11 Diciembre 2011, 16:08 pm
Bueno la verdad, la duda no es sobre el paso a modo protegido, sino que no estoy seguro si esta funcionando como deberia. He buscado muchisima información pero nada ayuda a salir de mi duda.
Ahora explicando, pues el bootloader es bastante simple, arranca el sistema, muestra un mensaje, luego pasa a modo protegido y muestra otro mensaje, el problema es que el segundo mensaje no se imprime en la pantalla al 100 %. Cree un blog en el que voy publicando cualquier avance, y ahi esta mi duda.
Por cierto, el código está publicado y recién estoy empezando, la publicación del blog es INNECESARIA. Esto lo estoy haciendo para aprender y para que otras personas se animen a aprender.

Código
  1.    ;----------------boot.asm------------------;
  2.    [BITS 16]
  3.    [ORG 0x7c00]
  4.  
  5.    jmp main
  6.  
  7.    bootmesg db "Loading... please wait... "
  8.    pm_mesg  db "Switching to protected mode. "
  9.  
  10.    init:
  11.       mov ax, cs
  12.       mov ds, ax
  13.       mov es, ax
  14.       ret
  15.  
  16.    print_mesg :
  17.       mov ah,0x13
  18.       mov al,0x00
  19.       mov bx,0x0007
  20.       mov cx,0x20
  21.       mov dx,0x0000
  22.       int 0x10
  23.       ret
  24.  
  25.    clrscr :
  26.       mov ax,0x0600
  27.       mov cx,0x0000
  28.       mov dx,0x174f
  29.       mov bh,0
  30.       int 0x10
  31.       ret
  32.  
  33.    switch_protected:
  34.       cli
  35.       mov eax, cr0
  36.       or eax, 1
  37.       mov cr0, eax
  38.       jmp 0x08:protected_main
  39.  
  40.    main:
  41.       call init
  42.       call clrscr
  43.       mov bp,bootmesg
  44.       call print_mesg
  45.       call switch_protected
  46.       jmp main
  47.  
  48.    [BITS 32]
  49.    protected_main:
  50.       mov bp,pm_mesg
  51.       call print_mesg
  52.       jmp protected_main
  53.  
  54.    times 510-($-$$) db 0
  55.    db 0x55
  56.    db 0xAA
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines