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ú

Mensajes - BlacKGilgamesH

#1
Amigo, la verdad es que el tema no es como para que esten peleando, asi que por favor, respeta la opinion de los demás.

Además le doy la razón a  Lord R.N.A., puesto que el codigo de Nircmd, lo pudiste haber puesto incluso sin lo demás, que no tiene nada que ver con el scripting ni con batch en general.

No desestimo el post, es muy bueno, pero hay que saber organizar las cosas en las secciones correspondientes.

Salu2

Peace!  ;D
#2
Scripting / GilgHCode V1
15 Septiembre 2010, 21:12 PM
Hola, en estos dias he estado tratando de hacer un "algoritmo" de encriptacion, y pues, finalmente he logrado algo, que es el GilgHCode, algo simple pero efectivo, que genera tres tipos de Hash (por asi decirlo), uno con partes de la misma cadena, otro numerico, y otro en texto (sin tener que ver con el original).

La verdad me costo un poco lograr que funcionara, pero aqui se los dejo.

@echo off
setlocal enabledelayedexpansion ENABLEEXTENSIONS
::::::::::::::::::::::::::
::GilgHCode Generator V1::
::::::By GilgamesHCo::::::
::::::::::::::::::::::::::
:ini
cls
set/p "cadena=Ingrese cadena> "
if not defined cadena goto:ini
set cadena=%cadena: =%
call:txt2asc %cadena%
call:dec2oct %asc%
call:split %oct%
call:long %cadena%
call:gilghcode
call:txt2num
call::num2txt
cls
echo Hash con el Texto: %string%
echo Hash Numerico: %number%
echo Hash: %hash%
echo Hash con el Texto: %string%>> hash_log.txt
echo Hash Numerico: %number%>> hash_log.txt
echo Hash: %hash%>> hash_log.txt
pause>nul
exit
:txt2asc
set asc=%*
set num=1
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
        call set asc=%%asc:%%i=!num!%%
        set/a num+=1
)
goto:eof

:dec2oct
if not defined nu (
        set nu=%1
)
set/a rest=nu %% 8
set/a nu=nu/8
set oct=%rest%%oct%
if %nu% GTR 0 (
        goto:dec2oct
)
goto:eof


:split
if not defined pa (
        set "pa=%*"
        set pal=%*
)
set "pa=%pa:~1%"
set /a co+=1
if defined pa (goto:split)
for /l %%_ in (0,2,%co%) do (
        call set split=%%split%% %%pal:~%%_,2%%
)
set split=%split:~1%
goto:eof
:gilghcode
set string=%split%
for %%a in (%split%) do (
        set chr=%%a
        set/a x=chr %% long
        set/a y=x/2
        call call set string=%%%%string:!chr!=%%cadena:~!y!,!x!%%%%%%
)
set string=%string: =%
goto:eof
:long
SET "STRING=%~1"
IF NOT DEFINED STRING EXIT/B 1
IF "%TMPVAR%"=="" SET/A CONT=0
CALL SET "VAR=%%STRING:~,%CONT%%%"
IF NOT "%VAR%"=="%STRING%" (
        SET "TMPVAR= "
        SET/A CONT+=1
        CALL %0 "%~1") ELSE (
        CALL SET LEN=%%CONT%%)
SET "long=%LEN%"
goto:eof
:txt2num
set number=%string%
set num=0
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
        call set number=%%number:%%i=!num!%%
        set/a num+=1
)
goto:eof
:num2txt
set hash=%number%
set num=0
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
        call set hash=%%hash:!num!=%%i%%
        set/a num+=1
)
goto:eof


Y para finalizar  ;D como reto les dejo un hash para ver si pueden decirme de que cadena es ^^.

CitarHash con el Texto: natonteriaeresuneacesunaacesunaacesunaacesunaacesuna
Hash Numerico: 13019141319417804174182013402418201300241820130024182013002418201300241820130
Hash: bdabjbebdbjebhiaebhebicabdeacebicabdaacebicabdaacebicabdaacebicabdaacebicabda

Saludos ^^

PD:Las respuestas sobre el reto por MP  ;D
#3
Scripting / Re: [ANSI.SYS]Paint
9 Septiembre 2010, 01:47 AM
Gracias ^^

Saludos.
#4
Hola, bueno, despues de estar trabajando un poco con mi motor físico, he creado algo asi como la base de el juego portal (http://es.wikipedia.org/wiki/Portal_(videojuego)), pero en batch!!, la verdad es que no es muy complejo, y la verdad que es facil entender el codigo.

Se los dejo para que vean uno de los usos de mi motor.

@echo off
mode con cols=80 lines=25
MEM/C | FIND /I "ANSI">NUL || ((
ECHO.DEVICE=%SystemRoot%\System32\ANSI.SYS /X
)>>%SystemRoot%\System32\CONFIG.NT
IF "%~1" NEQ "1" (
START "" %0 1 && EXIT/B 0
) ELSE ( EXIT/B 1
))


set "per=I"
set px=2
set py=2
set "lim=X5Y3,X5Y4,X5Y5,X5Y6,X5Y7,X5Y8,X8Y12,X8Y13,X8Y14,X10Y1,X10Y2,X10Y3,X10Y4,X10Y5,X10Y6,X10Y7,X10Y8,X10Y9,X10Y10,X10Y11,X10Y12,X10Y13,X10Y14,X10Y15,X12Y6,X12Y7,X12Y8,X12Y9,X12Y10,X12Y11,X12Y12,X12Y13,X12Y14,X12Y15,X12Y16,X12Y17,X12Y18,X14Y1,X14Y2,X14Y3,X14Y4,X16Y1,X16Y2,X16Y3,X16Y4,X19Y1,X19Y2,X19Y3,X19Y4,X19Y5,X19Y6,X19Y7,X19Y8,X19Y9,X19Y10,X19Y11,X19Y12,X19Y13,X19Y14,X19Y15,X19Y16,X19Y17,X19Y18"
set llen=19
for %%i in (%lim%) do (
set/a llen1+=1
)
set "porti=X1Y1,X2Y1,X3Y1,X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X9Y1,X10Y1,X11Y1,X12Y1,X13Y1,X14Y1,X15Y1,X16Y1,X17Y1"
set "portd=X1Y18,X2Y18,X3Y18,X4Y18,X5Y18,X6Y18,X7Y18,X8Y18,X9Y18,X10Y18,X11Y18,X12Y18,X13Y18,X14Y18,X15Y18,X16Y18,X17Y18"
set slt=3
set pory=0
set porx=0
set porya=0
set porxa=0
:init
cls
echo.XXXXXXXXXXXXXXXXXX
echo.X                X
echo.X                X
echo.X                X
echo.X XXXXXX         X
echo.X                X
echo.X                X
echo.X          XXX   X
echo.X                X
echo.XXXXXXXXXXXXXXX  X
echo.X                X
echo.X    XXXXXXXXXXXXX
echo.X                X
echo.XXXX             X
echo.X                X
echo.XXXX             X
echo.X                X
echo.X                X
echo.XXXXXXXXXXXXXXXXXX
call:mov %py% %px% 1 34 %per%
call:mov %pory% %porx% 1 34 Û
call:mov %porya% %porxa% 1 33 Û
choice /cwads0 /t0,01 /n
set/a py+=1
if %errorlevel%==1 (
if %slt%==0 (
set /a py-=3
set slt=99
)
)
if %errorlevel%==2 (
set/a px-=1
set "per=I"
)
if %errorlevel%==3 (
set/a px+=1
set "per=D"
)
if %errorlevel%==4 (
if %per%==I (
for %%a in (%porti%) do (
for /L %%b in (%px%,-1,0) do (
if X%py%Y%%b==%%a (
set porx=%%b
set /a pory=py-1
)
)
)
)
if %per%==D (
for %%a in (%portd%) do (
for /L %%b in (%px%,1,%llen%) do (
if X%py%Y%%b==%%a (
set porxa=%%b
set /a porya=py-1
)
)
)
)
)
set /a ppy=pory+1
set /a ppya=porya+1
if %px%==%porx% (
if %py%==%ppy% (
set /a px=porxa-1
set py=%ppya%
)
)
if %px%==%porxa% (
if %py%==%ppya% (
set /a px=porx-1
set py=%ppy%
)
)
if %px% LEQ 1 (
set/a px+=1
)
set/a l=llen-1
if %px% GEQ %l% (
set/a px-=1
)
if %slt% NEQ 0 (
set/a salto-=1
)
for %%i in (%lim%) do (
if X%py%Y%px% == %%i (
set /a py-=1
set slt=0
)
)
goto:init

:mov
COMMAND /C ECHO.[%1;%2H[0;%3;%4m%5
goto:eof


Cabe decir que es como una BETA del juego, ya que seguire con el proyecto hasta tener un juego "desente".

los controles son.
W:Saltar
A:izquierda
D:Derecha
S:Disparar portal


Saludos.
#5
Scripting / Re: [ANSI.SYS]Paint
8 Septiembre 2010, 02:11 AM
XD, por que no jaja??? no abras cambiado de color a negro XD.

Saludos
#6
Scripting / Re: [ANSI.SYS]Paint
8 Septiembre 2010, 02:07 AM
Me podrias especificar bien eso porfavor?  ;D
Saludos
#7
Scripting / [ANSI.SYS]Paint
8 Septiembre 2010, 01:41 AM
Hola, bueno, siguiendo con el ansi.sys, me decidi a hacer un paint (muy sencillo) pero para demostrar los usos del ansy.sis, puesto que nunca se usa el cls, en mi code :D.

@echo off
::::::::::::::::::::::::::::::::
::By GilgamesHCorporation 2010::
::::::::::::::::::::::::::::::::
mode con cols=80 lines=25
MEM/C | FIND /I "ANSI">NUL || ((
ECHO.DEVICE=%SystemRoot%\System32\ANSI.SYS /X
)>>%SystemRoot%\System32\CONFIG.NT
IF "%~1" NEQ "1" (
START "" %0 1 && EXIT/B 0
) ELSE ( EXIT/B 1
))

mode con cols=80 lines=25
(
echo e100 B8 1 0'3'DB CD'3'B0 3'C'CD'3'B DB't'FA 91 D3 EA D3 E8 91 C3
echo g116
echo q
)>tmps.dat
set clr=37
set chr=Û
:ini
Echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. ÌÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
Echo. º º º º º º º º º°º±º²ºÛº                                                    º
Echo. ÈÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
call:mov 23 3 0 30 %chr%
call:mov 23 5 1 31 %chr%
call:mov 23 7 1 32 %chr%
call:mov 23 9 1 33 %chr%
call:mov 23 11 1 34 %chr%
call:mov 23 13 1 35 %chr%
call:mov 23 15 1 36 %chr%
call:mov 23 17 1 37 %chr%
call:mov 1 1 0 0
:i
call:mouse
if %x% GEQ 2 (
if %y% GEQ 3 (
if %x% LEQ 21 (
if %y% LEQ 78 (
if %clr% NEQ 30 (
call:mov %x% %y% 1 %clr% %chr%
) else (
call:mov %x% %y% 0 %clr% %chr%
)
)
)
)
)
if %x%==23 (
if %y%==3 (
set clr=30
)
)
if %x%==23 (
if %y%==5 (
set clr=31
)
)
if %x%==23 (
if %y%==7 (
set clr=32
)
)
if %x%==23 (
if %y%==9 (
set clr=33
)
)
if %x%==23 (
if %y%==11 (
set clr=34
)
)
if %x%==23 (
if %y%==13 (
set clr=35
)
)
if %x%==23 (
if %y%==15 (
set clr=36
)
)
if %x%==23 (
if %y%==17 (
set clr=37
)
)
if %x%==23 (
if %y%==19 (
set chr=°
)
)
if %x%==23 (
if %y%==21 (
set chr=±
)
)
if %x%==23 (
if %y%==23 (
set chr=²
)
)
if %x%==23 (
if %y%==25 (
set chr=Û
)
)
goto:i
:mov
COMMAND /C ECHO.[%1;%2H[0;%3;%4m%5
goto:eof
:mouse
Debug<tmps.dat|Find /I "X">tmp.dat
for /f "tokens=2,3,4" %%a in (tmp.dat) do (
set btn=%%a
set y=%%b
set x=%%c
)
set /a btn=0x%btn:~-4%
set /a x=(0x%x:~-4%)+1
set /a y=(0x%y:~-4%)+1
goto:eof


Salu2
#8
Scripting / [ANSI.SYS]Motor Fisico Batch Beta 1
5 Septiembre 2010, 23:51 PM
Bueno, leyendo un poco sobre el ansi.sys me di cuenta que es algo que tambien esta en Ubuntu, asi que recorde que queria pasar mi motor fisico para bash pero para batch, asi que me puse a codear y aqui esta el resultado, como dice el título es solo la beta, pero es para que vean su funcionamiento y lo apliquen en sus juegos o no se XD, lo que quieran, pero bueno, aqui esta el code:

@echo off
mode con cols=80 lines=25
MEM/C | FIND /I "ANSI">NUL || ((
ECHO.DEVICE=%SystemRoot%\System32\ANSI.SYS /X
)>>%SystemRoot%\System32\CONFIG.NT
IF "%~1" NEQ "1" (
START "" %0 1 && EXIT/B 0
) ELSE ( EXIT/B 1
))


set per=
set px=2
set py=2
set "lim=X5Y2,X5Y3,X5Y4,X5Y5,X5Y6,X5Y7,X8Y11,X8Y12,X8Y13,X10Y0,X10Y1,X10Y2,X10Y3,X10Y4,X10Y5,X10Y6,X10Y7,X10Y8,X10Y9,X10Y10,X10Y11,X10Y12,X10Y13,X10Y14,X12Y5,X12Y6,X12Y7,X12Y8,X12Y9,X12Y10,X12Y11,X12Y12,X12Y13,X12Y14,X12Y15,X12Y16,X12Y17,X14Y0,X14Y1,X14Y2,X14Y3,X16Y0,X16Y1,X16Y2,X16Y3,X19Y0,X19Y1,X19Y2,X19Y3,X19Y4,X19Y5,X19Y6,X19Y7,X19Y8,X19Y9,X19Y10,X19Y11,X19Y12,X19Y13,X19Y14,X19Y15,X19Y17,X19Y18"
set llen=19
for %%i in (%lim%) do (
set/a llen1+=1
)
set slt=3

:init
cls
echo.
echo.
echo.
echo.
echo. XXXXXX
echo.
echo.         
echo.          XXX
echo.
echo.XXXXXXXXXXXXXX
echo.
echo.     XXXXXXXXXXXXX
echo.
echo.XXX
echo.
echo.XXX
echo.
echo.
echo.XXXXXXXXXXXXXXXXXX
call:mov %py% %px% 1 34 %per%
choice /cwad0 /t0,01 /n
set/a py+=1
if %errorlevel%==1 (
if %slt%==0 (
set /a py-=3
set slt=99
)
)
if %errorlevel%==2 (
set/a px-=1
)
if %errorlevel%==3 (
set/a px+=1
)
if %px% LEQ 0 (
set/a px+=1
)
set/a l=llen-1
if %px% GEQ %l% (
set/a px-=1
)
if %slt% NEQ 0 (
set/a salto-=1
)
for %%i in (%lim%) do (
if X%py%Y%px% == %%i (
set /a py-=1
set slt=0
)
)
goto:init

:mov
COMMAND /C ECHO.[%1;%2H[0;%3;%4m%5
goto:eof


Saludos
#9
Cita de: Hekaly en 30 Agosto 2010, 18:42 PM
Hola flony, gracias por responder.

Ya pense en algo parecido al codigo que has puesto, meter en una variable el archivo (ya que es todo una sola linea) y luego extraer el numero correspondiente.

Pero al intentar introducir el texto del archivo en una variable:

<"manga.txt" set /p "a="

Y hacer el corerspondiente echo dice lo siguiente: "No se esperaba < en este momento"

Eso debe ser que hay caracteres de redireccion (< y >) y por eso no me funciona bien. Pero aun asi probare el codigo que has puesto.


Para poner el archivo de texto en la variable se haria asi:

for /f %%a in (archivo.txt) do (
set arch=%%a
)
echo %arch%
pause>nul


Saludos
#10
GNU/Linux / Re: wifi para notebook con debian
23 Agosto 2010, 04:28 AM
Tuve un problema parecido en Ubuntu, asi que no se si te pueda servir.

Instale Ubuntu 10.04, y no me reconocia la tarjeta de red, entonces la conecte a internet por un cable ethernet (los amarillitos) e instale los drivers en sistema > administracion > Hardware (o algo asi, no estoy en ubuntu sino checaria  ;D),

Y luego reinicie y Listo!, notebook con wifi!!.

Saludos.