Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - JaimeAsm

#1
ASM / Carga de un kernel
10 Octubre 2010, 20:11 PM
Hola como estan?¿

veran hasta hace poco realize una practia que consistia en crear un BootLoader que cargase un kernel,todo fue de maravilla gracias a bosotros :),lo que ahora me surge un serio problema,veran el kernel que cargue fue este:
Código (asm) [Seleccionar]

MOV AH,9
MOV AL,'='
MOV BX,7
MOV CX,10
INT 0x10
HANG:
JMP HANG


Eso si me lo carga y me muestra 10 veces ese caracter,pero si hago este por ejemplo:
Código (asm) [Seleccionar]

XOR AX,AX
MOV DS,AX
MOV ES,AX
MOV SI,MENSAJE
JMP ESCRIBE

ESCRIBE:
LODSB
OR AL,AL
JZ FINAL
MOV AH,0xE
INT 0x10

...


Ese no lo carga ni de broma,se queda como colgado,por que sucede esto?¿ i este kernel que he hecho no lo cargo,es decir si es ejecutado directamente como Boot si fucniona pero cuando lo cargo desde un BootLoader no se carga,y programas en C tampoco se me cargan,que sucede?¿


saludos y muchas gracias


#2
ASM / Leer Sectores
17 Septiembre 2010, 21:23 PM
Hola gente como andan?¿

Veran debo realizar un ejercicio con un BootLoader,tengo que hacer que me carge un Kernel,el kernel tambien lo he echo en Assembly,concreatemente el NASM,solo dice Hi Word,el caso es que nose como saltar al programa,pero les dire una cosa,debo hacerlo con un DVD,es decir el BootLoader lo grabo en un DVD (y fucniona perfectamente como si de un diskete se tratara) lo e probado i funciona pero no me carga el prgrama siguiente,alomejor no pongo bien los sectores a leer,o la unidad que va en el registro DL,asta lo que se el valor añadido a DL es la unidad a leer no?¿ osea 0 = A 1 = B y asin sucesivamente no?¿

pues yo puse el 3 que representaria la D (El DVD) seria correcto?¿

ayuda porfavor :(

les pongo el codigo aqui:

Código (asm) [Seleccionar]

[BITS 16]
[ORG 0X7C00]

resetdisk:
  mov ah, 0x00 ; Preparamos unidad
  mov dl, 0x03  ; Unidad DVD?¿
  int 0x13   ; Ejecuta
  jc resetdisk

readdisk:

  mov ah, 0x02  ; Leer Funcion
  mov al, 0x03  ; Sectores
  mov ch, 0x00  ; cilindro
  mov cl, 0x02  ; Sector
  mov dh, 0x00  ; Cabecera
  mov dl, 0x03  ; Unidad DVD?¿
  int 0x13   ; Ejecutar
  jc readdisk
  jmp 0X8000:0000



El programa a cargar este:
Código (asm) [Seleccionar]

[bits 16]
[org 0x8000]


main:
  mov ah, 0x0E
  mov al, '.'   
  int 0x10   

  jmp $


pero nada señores no hace nada!! llevo ya 2 dias rompiendome la cabeza por esta maldita practica :(

alguna ayuda?¿
por que no salta?¿


Grachies!!!


#3
Programación C/C++ / Crear proyectos binarios en C++
12 Septiembre 2010, 19:54 PM
Bunas tardes a todos/as

desde hace una semana me puse a usar el IDE de Borland Builder C++,por el momento me va muy bien,pero me a surjido una duda,es posible realizar un proyecto pequeño y que me genere un archivo BIN en vez de un EXE?¿




y otra cosa que me surgio,por que con MAS32 no pueod hacer esto:

JMP 1000H:0000

?¿
saludos
#4
Programación C/C++ / Crear brush Tibia
16 Agosto 2010, 18:07 PM
Hola como estan expertos


veran necesito crear un pequeño programa que pruebe contraseñas i nombres de usuarios asta que de con la cierta,ese codigo ya lo tengo echo y no hay problema alguno,lo que no se hacer es como puedo acceder al control EDIT donde se pone el nombre de usuario y como acceder al de la contraseña,imagino que tendran un nombre de clase para acceder a ellos mediante la api FindWindowEx

esa es la imagen del juego i de los controles a los que quiero acceder:


parece que esos dos controles estan dentro de un formulario secundario  "Enter Game"  :S

abri el archivo con editor hexadecimal i bueno por el momento solo puedo acceder a las letras de texto i no al control para escribir en ello.



saludos
#5
Hola que tal miren tengo esto:

Código (cpp) [Seleccionar]

class Message{
      private:
              char *TextMessage;
              public:
              char GetText() {return *TextMessage;}
              void SetText(char *Texto)
              {
                   TextMessage = Texto;
                   }
                   bool ShowMessage(bool show)
                   {
                        if(show == true)
                        {
                                MessageBox(0,TextMessage,0,0);
                                }
                                }
                                };
                               
                       
extern "C++" __declspec(dllexport) Message *MsgBox();


Esta es la classe que tengodeclarada en la DLL es para hacer pruebas no mas,imagino que esta bein declarada para despues ser llamadadede un exe,pero como la llamo desde un exe? lo e probado todo no me sale nada :(


salu2
#6
Como puedo crear accesos directos (.lnk) con C++?¿ no encuentro la forma :S


salu2
#7
ASM / Es posible esto?
13 Febrero 2010, 22:35 PM
Hola foreros como estais?

soy nuevo en ese foro,tengo una duda que espero pueda con buestra auda resolver!

es posible poner una nstruccion (ejmp:  un MessageBox) a un executable desde otro executable?

osea desde un exe mapear en memoria el ejecutable a modificar,i una vez en la memoria intrducirle la instruccion a un offset que este libre,


podrian darme algun code de eso??

uso Masm32,trabajo en 32 bits ^^

un cordial saludo