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


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  EJERCICIO MSDOS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: EJERCICIO MSDOS  (Leído 77,408 veces)
Ineluki

Desconectado Desconectado

Mensajes: 131


Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #10 en: 23 Agosto 2007, 00:45 »

Utlizando DEBUG cree la Orden S_O_NO.COM para que el usuario teclee S o N bueno manos a la obra:

C:\>Debbug S_O_NO.COM <intro>

-A 100 <Intro>
2707:0100 MOV  AH,  0  <Intro>
2707:0102 INT   16        <Intro>
2707:0104 MOV  AL ,  0  <Intro>
2707:0106 CMP  AH , 15 <Intro>
2707:0109 JE     112       <Intro>
2707:010B CMP  AH, 15  <Intro>
2707:010E JE     114       <Intro>
2707:0110 JMP   100       <Intro>
2707 :0112 MOV  AL, 1     <Intro>
2707:0114 MOV  AH, 4C  <Intro>
2707:0116 INT    21         <Intro>
2707:0118 <Intro>
-R CX <Intro>
CX 0000
:18  <Intro>
-W   <Intro>
Escribiendo 00018 bytes
-Q <Intro>
Este código esta mal, después de llamar al servicio de teclado pones al a 0 y ya no puedes comparar el código ASCII, además pones el mismo número tanto para s como para n, el código ASCII se guarda en al no en ah, en ah se guarda el código de búsqueda.
Paa vitaepe que pregunta que significa el código:
Esto es un código en ensamblador que llama a un servicio del teclado de la BIOS, y comprueba si la tecla s o n estan pulsadas, cuando lo estan devuelve una salida para cada una de las teclas, para s 1 y para n 0 ( al menos eso creo que quería hacer él )
ahí va el código arreglado:
Código:
debug
a
mov ah,0
int 16
cmp al,73
je 10e
cmp al,6e
je 112
jmp 100
mov al,1
jmp 114
mov al,0
mov ah,4c
int 21

r cx
18
n siono.com
w
q

Simplemente se pega eso al símbolo del sistema ( ventana negra ) o se hace un bat con el código y se ejecuta, y ya tendras el comando siono, para poder usarlo mueve el archivo siono.com a C:\windows o a C:\windows\system32.
Un posible uso:
Código:
@echo off
echo Quieres hacer tal cosa s/n?
siono
if %errorlevel%==1 goto siquiero
if %errorlevel%==0 goto noquiero


« Última modificación: 23 Agosto 2007, 00:55 por Ineluki » En línea

.Undertaker.

Desconectado Desconectado

Mensajes: 49



Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #11 en: 29 Agosto 2007, 03:19 »

No seria mejor usar set /p¿¿??


En línea





                 

"MI WEB"
.Undertaker.

Desconectado Desconectado

Mensajes: 49



Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #12 en: 29 Agosto 2007, 03:22 »

Vi el choice de sakura-san...Como creaste el .exe??? cn un ensamblador???...Como se ace?? quiero aprender a acer *exe `s 

...I de paso necesito ayuda...Miren el code

Código:
@echo off
msg * bienvenido a las opciones del menu:
cls
title Menu
:menu
cls
echo -_-_-..··***Menu principal***··..-_-_-
echo,
echo 1.Abrir calculadora
echo 2.Abrir un documento
echo 3.Salir del menu

set /p opciones=
if %opciones%==1 goto calculadora
if %opciones%==2 goto documento
if %opciones%==3 goto exit
pause>nul

:calculadora
@echo off
title CALCULADORA--------Creado por Undertaker
cls
echo --------------------------MENU----------------------------------
echo, 
echo 1.SUMA
echo 2.RESTA
echo 3.MULTIPLICACION
echo 4.DIVISION
echo,   
echo 5.SALIR

set /p opt=
if %opt%==1 goto suma
if %opt%==2 goto resta
if %opt%==3 goto multi
if %opt%==4 goto division
if %opt%==5 goto exit-calculadora

:suma
cls
set /p suma1=Primer caracter:.....................
echo                                        +
set /p suma2=Segundo caracter:....................
echo                                  ___________
set /a suma3=%suma1%+%suma2%
echo resultado:                            %suma3%
set /a suma3=%suma1%+%suma2%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora
:resta
cls
set /p resta1=Primer caracter::.....................
echo                                        -
set /p resta2=Segundo caracter::....................
echo                                  ___________
set /a resta=%resta1% - %resta2%
echo resultado:                            %resta%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora

:multi
cls
set /p multi1=Primer caracter::.....................
echo                                        x
set /p multi2=Segundo caracter::....................
echo                                  ___________
set /a multi=%multi1% * %multi2%
echo resultado:                            %multi%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora

:division
cls
set /p divi1=Primer caracter::.....................
echo                                      ___
set /p divi2=Segundo caracter::....................
echo                                  ___________
set /a divi=%divi1% / %divi2%
echo resultado:                            %divi%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora

:c
cls
echo Ok, presione una tecla para volver al menu de la calculadora
pause>nul
goto calculadora

:sal
cls
echo Ok, presione una tecla para salir
pause>nul
exit
pause>nul

:documento
cls
echo ola, soy un chico k kiere aprender batch...Me enseñas??
echo,
echo,
echo presione una tecla para ver opciones
pause>nul
echo Seguir leyendo [Presione (y)]
echo Salir al menu principal [Presione(N)]
echo Salir [Presione (x)]
set /p O=
if %O%==y goto documento
if %O%==n goto menu
if %O%==x goto sal

:exit
cls
echo esta seguro de salir?
echo si [s]
echo no [n]
set /P op=
if %op%==s goto sal
if %op%==n goto menu

:exit-calculadora
cls
echo No,seguir calculando [presione s]
echo Si,Volver al menu principal [presione n]
echo Si,Salir completamente [presione x]
set /p i=
if %i%==s goto calculadora
if %i%==n goto menu principal
if %i%==x goto sal



Me pueden explicar i arreglar xk si voi al menu "documento" i pulso 1 se dirige al menu "sal"??

Nota:el menu "Calculadora y submenus(sumar,restar,multiplicar y dividir)" fue creado por Zynhar_X o algo asi..jeje
« Última modificación: 29 Agosto 2007, 04:15 por .Undertaker. » En línea





                 

"MI WEB"
Ineluki

Desconectado Desconectado

Mensajes: 131


Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #13 en: 29 Agosto 2007, 20:36 »

Citar
Vi el choice de sakura-san...Como creaste el .exe??? cn un ensamblador???...Como se ace?? quiero aprender a acer *exe `s

Un exe se puede crear tanto en ensamblador como en qualquier lenguaje de programacion solo necesitas un enlazador capaz de generar exes
No se en que lenguaje lo habrá programado sakura-san

Citar
No seria mejor usar set /p¿¿??
Pues si, pero tanto el programa de sakura-chan como el que he correjido yo no necesitan que teclees enter.

Citar
Me pueden explicar i arreglar xk si voi al menu "documento" i pulso 1 se dirige al menu "sal"??
De hecho eso pasa si no pones ninguna de las opciones que has especificado. Puedes poner que vuelva al menu donde estabas si el usuario no teclea ninguna de las opciones con un else después de los ifs
En línea

Shadowofvilla

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #14 en: 4 Agosto 2009, 05:28 »

muchas gracias a todos por la ayuda que dan
saludos
En línea

jordi111

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #15 en: 2 Enero 2010, 09:05 »

HOla amigos, feliz año.

Solamente una consulta a traves de MSDos se puede editar un fichero de texto y por ejemplo reemplazar todas las letras X por letras Y y guardar el fichero de nuevo de una manera automatica con un BAT.

Si me ayudais me hareis un gran favor , gracias hackeros.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: EJERCICIO MSDOS
« Respuesta #16 en: 2 Enero 2010, 09:44 »

Sí, consulta esto:
Código:
http://foro.portalhacker.net/index.php/topic,36611.0.html

El tema, sustitución o extracción de caracteres.

Consulta el comando SET.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
jordi111

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #17 en: 2 Enero 2010, 21:13 »

Gracias, leo.
Pero el problema lo tengo en que los caracteres que quiero cambiar estan creados en un fichero .TXT y mi idea es cambiarlo y crear un nuevo TXT, mi problemilla esta en editarlo y cambiar los caracteres x por Z (me serviria el comando SET) y guardarlo en un nuevo .TXT.

Gracias de todos modos
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: EJERCICIO MSDOS
« Respuesta #18 en: 7 Enero 2010, 21:51 »

Es fácil, suponte que tenemos el archivo "file.txt" con el siguiente contenido:

Código:
C:\>type file.txt
x-men
Lox gallox cantabanx muy felixex
Char : X
Algo : X
X-_-X
C:\>

Queremos cambiar las X por Z:

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%_ in (file.txt) do (
  4. set "texto=%%_"
  5. echo !texto:x=Z!
  6. )
  7. set /p "="

Si quieres volcar la salida a un archivo de texto:
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%_ in (file.txt) do (
  4. set "texto=%%_"
  5. echo !texto:x=Z! >> "nuevo.txt"
  6. )
  7. set /p "="

Saludos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
jordi111

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: EJERCICIO MSDOS
« Respuesta #19 en: 9 Enero 2010, 10:59 »

Buenas, Leo:

Te tengo que dar las gracias me has hecho un gran favor, era justo lo que necesitaba.


Gracias.
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines