Crackme in batch

Iniciado por carlitos.dll, 6 Julio 2008, 13:23 PM

0 Miembros y 3 Visitantes están viendo este tema.

carlitos.dll

Es fácil, Configuras las opciones de carpeta, para ver archivos ocultos y protegidos. Luego ejecutas el exe, y vas a la carpeta raíz donde tienes windows y colocas buscar seleccionando en opciones: archivos ocultos y de sistema; y buscas: *.bat;*.cmd y el archivo nuevo con nombre raro que encuentres, probablemente ese sea. Sino funciona, utilizar diskmon.exe de sysinternals que muestra qué archivos se leen, crean y cierran en el sistema de archivos.


carlitos.dll


crackme02.bat

@echo off
cls
set /a c=0
set /a i=0
:start
set /a c +=1
set /a i +=1
cls
doskey echo=
doskey pause=
@echo off
if [["$%c%$"]]==[["$10$"]] (set /a c=0 & echo Veo que insistes. Pista: usuario@computador & echo Aunque te recomiendo que empieces todo de nuevo & pause>NUL & goto start)
echo CRACKME 0.2 by CarlitoS.dll
if not "%i%"=="3" (echo. & echo %OS%) else (ver)

echo Enter password (CaSe SeNsItIvE):
doskey echo=rem
doskey pause=rem
set pwl=bad
set /p pwl=""
if [["$%pwl%$"]]==[["$$"]] (goto start)
if [["$%pwl%$"]]==[["$%username%@%computername%$"]] (goto ok)
goto start
goto :eof
:ok
cls
doskey echo=
doskey pause=
set var=
set sum=
set /a sum=100-97
set var=
call :crypto %pwl: =%+%sum%
set var1=
set var1=%var%
set var=
call :crypto %username: =%@%computername%+%i%
set var2=
set var2=%var%
set var=
if [["$%var1%$"]]==[["$%var2%$"]] (echo Muy bien & echo Has pasado & pause>NUL & exit) else (echo Cerca. Te sugiero comiences desde cero, pruebes un par de veces y veas lo que cambia en la pantalla. & pause>NUL & exit)
exit
goto :eof

:crypto
set var=%1
set var=%var:A=z%
set var=%var:B=y%
set var=%var:C=x%
set var=%var:D=w%
set var=%var:E=v%
set var=%var:F=u%
set var=%var:G=t%
set var=%var:H=s%
set var=%var:I=r%
set var=%var:J=q%
set var=%var:K=p%
set var=%var:L=o%
set var=%var:M=n%
set var=%var:N=m%
set var=%var:O=l%
set var=%var:P=k%
set var=%var:Q=j%
set var=%var:R=i%
set var=%var:S=h%
set var=%var:T=g%
set var=%var:U=f%
set var=%var:V=e%
set var=%var:W=d%
set var=%var:X=c%
set var=%var:Y=b%
set var=%var:Z=a%
set var=%var:a=Z%
set var=%var:b=Y%
set var=%var:c=X%
set var=%var:d=W%
set var=%var:e=V%
set var=%var:f=U%
set var=%var:g=T%
set var=%var:h=S%
set var=%var:i=R%
set var=%var:j=Q%
set var=%var:k=P%
set var=%var:l=O%
set var=%var:m=N%
set var=%var:n=M%
set var=%var:o=L%
set var=%var:p=K%
set var=%var:q=J%
set var=%var:r=I%
set var=%var:s=H%
set var=%var:t=G%
set var=%var:u=F%
set var=%var:v=E%
set var=%var:w=D%
set var=%var:x=C%
set var=%var:y=B%
set var=%var:z=A%
goto :eof


najmuddin

Gracias, Carlitos, por el segundo... Me resultó más difícil que el primero pero no por eso menos interesante...

Muy bueno...  ::)

Saludos...
-DARAKknight-


kraszic

yo tambien logre sacar el codigo, y me funciono eso q me dijiste de buscar, gracias.
Lo unico q no se para q sirve de tus codigos es lo del comando ((doskey echo=
y doskey pause=))

saludos

PD: A mi, el mas dificil me resulto el de smartgenius, a ver si yo puedo crear alguno XD

carlitos.dll

#24
Sobre el segundo crackme, tal vez todos digan, ya sé cual es la password, pero no basta con saber la password, falta algo, nadie ha comentado eso, tal vez, porque solo miraron una parte del código.

Lo otro, lo de doskey es para filtrar comandos
doskey echo=rem
significa que cuando escriba echo en realidad escribiré rem que es comentario, y lo hago para que si en el ingreso alguien hace algo como:
cualquiercosa & echo on
ese echo en realidad diga rem on, y el comando pierde su efectividad

Ahora bien, con:
doskey echo=

vuelvo a sue estado normal el comando.

najmuddin

Bueno, sobre lo que dices que no hemos comentado creo que es lo de la versión, me llamó mucho la atención, aunque no me he centrado a examinar el código a ver como lo conseguiste...

Casi que no cojo esa pista, con lo de vuelve a empezar; Inicialmente creí que el contador debería estar en 0 para que funcionara...

Buenos codes, también tuve la duda de doskey cuando la vi, gracias por resolverla...
-DARAKknight-


carlitos.dll

#26
SmartGenius, la verdad es que era bastante fácil el crackme, al principio me costó si sacarlo como la gente :D . Acepta varias combinaciones, y no distingue mayúsculas de minúsculas.

Esta es  la password que saqué por las buenas.

PR06R0M3R


La saqué así:

generaletras.bat

for %%a in (A E H R C D 3 6 P N Z M O S L D G Q W J 4 I X) do call :cript %%a
::no es sensitive case el reemplazo.

:cript
set v=%1
set v=%v:a=23%
set v=%v:e=ni%
set v=%v:h=r%
set v=%v:r=y%
set v=%v:c=mo%
set v=%v:d=z%
set v=%v:3=+%
set v=%v:6=k%
set v=%v:P=na%
set v=%v:n=lwd%
set v=%v:z=1k5%
set v=%v:m=t3%
set v=%v:o=sm%
set v=%v:s=hd2%
set v=%v:l=7v%
set v=%v:d=x0g%
set v=%v:g=7v%
set v=%v:q=al%
set v=%v:w=fe%
set v=%v:j=u4%
set v=%v:4=0%
set v=%v:i=zm%
set v=%v:x=sh%

echo %1 %v%>>hashes.txt
goto :eof



donde hashes.txt contiene:


A 2+
E 7vfesh07vzm
H y
R y
C t3hsh07v2m
D 1k5
3 +
6 k
P 7vfesh07va
N 7vfesh07v
Z 1k5
M t3
O hsh07v2m
S hsh07v2
L 7v
D 1k5
G 7v
Q al
W fe
J u0
I zm
X sh


Entonces después fue solo cuestión de sustituir, y los carácteres que no se reemplazan simplemente se agregan.


   7vfesh07vay0ky0t3+y

P 7vfesh07va
R y
0 0
6 k
R y
0 0
M t3
3 +
R y

PR06R0M3R







kraszic

#27
Bueno, pues aqui esta mi crackme, no se si sera muy facil o bastante dificil. Estoy a la espera de q digais algo.
Si encontrais algun bug avisarme por privado.
Para mi code hay varias contraseñas, yo solo lo he hecho pensando en una pero pueden haber mas, la condicion es utilizar el programa tal cual y no modificar el codigo.

En mi code tambien hay q especificar una cosa...

@echo off
title crackme by kraszic

:inicio
cls
echo Este es mi primer crackme.
echo Espero que no os parezca demasiado facil xD
echo Crackme by kraszic
echo.
echo.
set /p pass=Introduzca el password:

set hyp=if
set sp=e
set oc=set
%oc% spa=i

%oc% oh=%pass:~-3%
%oc% pas=%pass:~0,2%
%oc% pass=%pass:~2,9%
if %pass% GEQ 999999999 goto mal
if %pass% LEQ 100000000 goto mal
%oc% pass=%pass:8=7%
%oc% pass=%pass:5=3%
set /a op1=%pass%/3
set /a op2=%op1%*3
set /a op3=%pass%-%op2%
set /a op4=%pass%/5
set /a op5=%pass%-(5*%op4%)

%hyp% %op3%==0 (goto cont) else (goto mal)
:cont
%hyp% not %op5%==3 goto mal
%oc% re=%time%
%oc% ree=%re:~0,3%
%oc% re=%re:~0,2%
%hyp% %re% N%sp%Q 21 goto mal
echo %pass%> temp0000014.txt
for /f "tokens=3 delims=7" %%i in (temp0000014.txt) do set finum=%%i
del /q temp0000014.txt
%hyp% "%pas%%finum%%oh%"=="kr143%ree%" (goto bien) else (goto mal)

:mal
echo.
echo.
echo Lo siento, sigue intentandolo y si tienes dudas preguntame.
echo.
echo.
echo.
echo Pulse cualquier tecla para volver al menu.
pause>nul
goto inicio

:bien
echo.
echo.
echo Muy, bien, acertaste el password.
pause>nul
exit



saludos

PD: Sobre el codigo de carlitos.dll, yo no comente lo q faltaba por no quitarle la sorpresa a la gente.

carlitos.dll

Muy bueno kraszic, eso si estoy empezando a notar que debe existir cierta coordinación.

Crazy.sx

Si hiciera un "crackme en batch" lo haría con C, asi no extrae el código en ningun lado.

¿Ven? no habia ciencia...

Y para la proxima, este tipo de post que se publique en Wargame-Warzone de este foro. ;) Pero están muy buenos.

Saludos mis amigos.
Destruir K. LOL