Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: carlitos.dll en 6 Julio 2008, 13:23 pm



Título: Crackme in batch
Publicado por: carlitos.dll en 6 Julio 2008, 13:23 pm
Dejo un crackme en batch.
para que se entretengan.

Código:
http://wikisend.com/download/490408/crackme.exe

¿haber si alguien se anima y publica más?



Título: Re: Crackme in batch
Publicado por: pyxolo en 6 Julio 2008, 15:20 pm
jaja era sencillo =) (con la pista* xD)

Me has animado a hacer el mio... pero...

que usas para compilar? =D


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 6 Julio 2008, 20:55 pm
Jeje, es fácil. Y si, creo que también pensaré en alguno... haber que me sale.

Che, esto no iría en wargames?. Pero me entretuve un momento ya que estaba aburrido. jeje

Saludos


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 6 Julio 2008, 22:32 pm
jaja era sencillo =) (con la pista* xD)

Me has animado a hacer el mio... pero...

que usas para compilar? =D

Compilé con Quick Batch File Compiler 2.1.5.0 con password de descifrado
Código:
http://rapidshare.com/files/39553660/Quick_20Batch_20File_20Compiler_20v2.1.5.0.rar
Luego eliminé los iconos y la pestaña "Versión" de propiedades con Resource Hacker
Código:
http://www.angusj.com/resourcehacker/
Y finalmente comprimí el ejecutable con Upx
Código:
http://upx.sourceforge.net/download/upx303w.zip


Nota: que el code que hice está a prueba de trucos, por ejemplo, al solicitar un ingreso por parte del usuario: colocar cualquierocosa & echo on
lo que muestra los comandos internos del bat.



Título: Re: Crackme in batch
Publicado por: leogtz en 6 Julio 2008, 22:51 pm
Sip, esta bueno  :D

Al principio no le entendia, pero luego si.

Saludos!


Título: Re: Crackme in batch
Publicado por: SmartGenius en 7 Julio 2008, 01:33 am
Ya te lo crackie... xD ;D ;D

Ya sabes cual es la solucion, ahora te reto a que hagas el Mio... ya sabes donde ...

Saludos.

EDITO:

Aqui lo dejo...

El reto es encontrar una clave valida, y si hay varias pues hacer un Keygen...

(http://img386.imageshack.us/img386/3983/crackmev2mw2.jpg)

Descargar: http://two.xthost.info/smartgenius/Crackmev2.zip


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 03:13 am
Ya te lo crackie... xD ;D ;D

Ya sabes cual es la solucion, ahora te reto a que hagas el Mio... ya sabes donde ...

Saludos.

EDITO:

Aqui lo dejo...

El reto es encontrar una clave valida, y si hay varias pues hacer un Keygen...

(http://img386.imageshack.us/img386/3983/crackmev2mw2.jpg)

Descargar: http://two.xthost.info/smartgenius/Crackmev2.zip

colocas

hola & echo on
enter después del pause
hola & goto be

otra:
hola & echo on
::anotamos este numerito 7vfesh07vay0ky0t3+y
::enter después del pause
hola & set | more
::llegamos al final, y vemos la variable v
hola & set v=7vfesh07vay0ky0t3+y

otra:
hola & set v=not 5


Está bueno el crackme smartgenius, pero debería validar más las entradas.


Listo.
:D


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 03:17 am
el mio (0.1) se crackea así:

5$"]]==[["$5$"]] (goto ok) else if [["$


Título: Re: Crackme in batch
Publicado por: 43H4FH44H45H4CH49H56H45H en 7 Julio 2008, 03:32 am
Bueno de pasadita :) fueron 2 minutos muy interesantes para ver ambos
passwords :)

carlitos.dll interesante lo de -%UN%+%i%

Y de :: SmartGenius :: son perfectamente claras las muchas variables
que tiene este batch, podrias incrementar o modificar a cada intento el
valor de %y% para hacerlo un poco menos sencillo.

(http://img236.imageshack.us/img236/7796/37423138sp8.jpg)

(http://img337.imageshack.us/img337/9969/96598853ki6.jpg)


Título: Re: Crackme in batch
Publicado por: MK-Ultra en 7 Julio 2008, 04:13 am
El de smart genius me resultó muy facil ^^

Pura batch injection =)

El de carlitoss esta bastante bueno  :rolleyes:

Felicitaciones a los dos  ;)


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 05:33 am
SmartGenius: no me pidas que explique como llegué a la inversa, porque no sé, comenzé a partir de dos valores, y saqué las siguientes variantes:

ph46r0m3y
Pr06r4m3r
ph4kr0m3y
Pr0kr4m3r
ph06r4m3y
Pr46r0m3r
ph0kr4m3y
Pr4kr0m3r
ph46h0m3y
Pr06h4m3r
ph4kh0m3y
Pr0kh4m3r
ph06h4m3y
Pr46h0m3r
ph0kh4m3y
Pr4kh0m3r


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 7 Julio 2008, 06:13 am
Dejo un crackme en batch.
para que se entretengan.

Código:
http://wikisend.com/download/490408/crackme.exe

¿haber si alguien se anima y publica más?





Nota: que el code que hice está a prueba de trucos, por ejemplo, al solicitar un ingreso por parte del usuario: colocar cualquierocosa & echo on
lo que muestra los comandos internos del bat.


¿A prueba de trucos? ¿Seguro?....

¡¡¡¡¡¡¡¿Entonces que es esto?!!!!!!!


Código:
@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+intentos& pause>NUL & goto start)
echo CRACKME 0.1 by CarlitoS.dll
echo.
echo %i%
echo Enter password (case sensitive):
doskey echo=rem
doskey pause=rem
set /p pwl=""
if [["$%pwl%$"]]==[["$$"]] (goto start)
if [["$%pwl%$"]]==[["$-%UserName%+%i%$"]] (goto ok)
goto start
:ok
cls
doskey echo=
doskey pause=
echo Muy bien, has pasado.
pause>NUL

exit

Código
  1. ::al menos hubieras hecho esto, que se yo al final del código.
  2. del /f *.ext
  3. ::entedes?

Si puedo haré lo mismo con el de SmartGenius.
Aunque lo divertido es pensarlo y reventarse el "coco" intentando asi se abre un poquitito la mente...

Saludos.

PD.: No diré como lo hice por ahora, ese es mi reto para uds. Se parece a las webs, o quizas no. O nada que ver... (No se dar pistas) :xD Pero sinceramente, no es la gran cosa...


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 7 Julio 2008, 07:10 am
Crackme v 2 by Smart...

Código:
@echo off
mode con cols=55
mode con lines=20
title CrackMe v 2.0 by SmartGenius
color 0a

:ini
cls
set var1=s
set var2=c
set var3=e
set r4=t
%var1%e%r4% v1=h
%var1%e%r4% l1=o
%var1%e%r4% l2=B
%var1%e%r4% l3=p
%var1%e%r4% la=%var3%
%var1%e%r4% %r4%=ll
%var3%c%v1%o.
e%var2%%v1%o.
echo  %l2%ienv%var3%nid%l1% al S%var3%gundo CrackMe - %l2%atch...
echo.
e%var2%%v1%o  Introduce el Password:
%var1%e%r4% /%l3% %l3%ass=">> "
%var2%a%t% :%var2%ri%l3%t %pass%
echo.
if %v%==7vfesh07vay0ky0t3+y  (g%l1%t%l1% b%var3%) else (g%l1%t%l1% %l3%n%l1%)
pause
exit

: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%
g%l1%t%l1% :%var3%of

:be
echo.
echo  Muy Bien...
echo.
pause
exit

:pno
echo.
echo  Password Incorrecto Vuelve a intentarlo
echo.
pause
g%l1%t%l1% ini

Estos códigos están excelentes, ya pensaré en alguno que esten a este nivel....

Saludos mis amigos.

PD: Disculpen si molesté a alguno... pero si se vuelve a lanzar otro juego como estos, ya no publicaré los códigos... ni siquiera para mí. Es que me divierte resolverlos!!!!


Título: Re: Crackme in batch
Publicado por: najmuddin en 7 Julio 2008, 07:34 am
Perdón, no sé si soy el más lento aquí, pero cómo le sacaste el código al batch si estaba como .exe?

Gracias y disculpen

Muy buenos los dos... El primero me costó un poco porque como no lo quería pasar con un número de intentos altos, me salía cuando el contador marcaba 5 y lo volvía a ejecutar...

PD: No había leído la postdata, lukhardy... Buscaré la manera, si no puedo, espero pacientemente a que publiques como...


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 7 Julio 2008, 07:58 am
Perdón, no sé si soy el más lento aquí, pero cómo le sacaste el código al batch si estaba como .exe?

Gracias y disculpen

Muy buenos los dos... El primero me costó un poco porque como no lo quería pasar con un número de intentos altos, me salía cuando el contador marcaba 5 y lo volvía a ejecutar...

PD: No había leído la postdata, lukhardy... Buscaré la manera, si no puedo, espero pacientemente a que publiques como...

Jejeje, naaa, todavía no  :P ;D, haganlo ustedes, aunque sé de uno que tiene idea de lo que hice... Y cuando lo descubran diran: "¿Esto era? Baaaaa". ;D


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 08:17 am
Aquí dejo el segundo crackme:

Código:
editado

Código:
http://wikisend.com/download/560880/crackme02.exe

Najmuddin: no existen compiladores reales de batch, simplemente lo que hacen es tomar el código, y al momento de ejecutarlo, extraerlo a una carpeta temporal y abrirlo.


Título: Re: Crackme in batch
Publicado por: leogtz en 7 Julio 2008, 08:50 am
Este me gusto mas que el otro.
Muy bueno!
Saludos


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 09:05 am
Este me gusto mas que el otro.
Muy bueno!
Saludos

Gracias.


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 09:57 am
He resubido el crackme 0.2 pues tenía un bug que descubrió RockoX sin darse cuenta :D
Nota: las password es sin comillas.


Título: Re: Crackme in batch
Publicado por: kraszic en 7 Julio 2008, 13:16 pm
A mi tambien me gustaria q me explicaran eso de los exe XD
Porq es abrirlo y no se q hacer porq no hay codigo ni hay nada xDD
Yo saque el pass del codigo de smartgenius porq publicaron por ahi el code en batch, sino no se como se hace tampoco.

saludos


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 14:23 pm
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.



Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 14:38 pm

crackme02.bat
Código:
@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



Título: Re: Crackme in batch
Publicado por: najmuddin en 7 Julio 2008, 15:48 pm
Gracias, Carlitos, por el segundo... Me resultó más difícil que el primero pero no por eso menos interesante...

Muy bueno...  ::)

Saludos...


Título: Re: Crackme in batch
Publicado por: kraszic en 7 Julio 2008, 16:11 pm
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


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 17:34 pm
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.


Título: Re: Crackme in batch
Publicado por: najmuddin en 7 Julio 2008, 19:44 pm
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...


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 21:34 pm
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.
Código:
PR06R0M3R

La saqué así:

generaletras.bat
Código:
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:

Código:
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.

Código:
   7vfesh07vay0ky0t3+y

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

PR06R0M3R







Título: Re: Crackme in batch
Publicado por: kraszic en 7 Julio 2008, 22:00 pm
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...

Código:
@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.


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 7 Julio 2008, 22:24 pm
Muy bueno kraszic, eso si estoy empezando a notar que debe existir cierta coordinación.


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 7 Julio 2008, 22:58 pm
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.


Título: Re: Crackme in batch
Publicado por: SmartGenius en 8 Julio 2008, 05:14 am
mmm.. veo que han estado echandole cabeza al codigo eh... siles pusiera el primer code que hice se matarian la cabeza por simepre a menos que sacaran el codig fuente y se dieran cuenta dle funcionamiento...

Aqui les pongo otro reto pero diferente... para que se tomen un rato, pero todos menos carlitos.dll que ya lo resolvio...

Deben de encontrar un Serial valido, y apartir de esto crear un keygen...

Para que el programa funcione, deben tener junto a el un archivo llamado data.key el cual contendra el serial en texto plano y con el siguiente formato XXXXX-XXXXX-XXXXX-XXXXX-XXXXX , y que sera una combinacion especial de letras en mayuculas, y numeros.....

Aqui lo tienen...

http://two.xthost.info/smartgenius/SerialmeV1bySmart.zip

Saludos.


Título: Re: Crackme in batch
Publicado por: 43H4FH44H45H4CH49H56H45H en 8 Julio 2008, 10:57 am
Código:
2BSDE-FGMI0-0LAN0-PQRS0-UVTX8
5 minutes of work :)
I have no desire to create a keygen
Greetings


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 9 Julio 2008, 01:54 am

Es muy bueno el reto, de gran nivel.


Título: Re: Crackme in batch
Publicado por: SmartGenius en 9 Julio 2008, 02:47 am
Bueno, la verdad que no se bien como es la solucion al crackme de kraszic ya que no le he dedicado timepo, es que estoy ocupadito, pero con algo de inyeccion el codigo es suceptible....

escribir algo como:

&cmd^

y ahi se nos va ya todo el codigo para afuera y nos da una shell en la que podemos ver las variables y otras cosas...

ahi que protegerse al maximo de estas inyecciones...

Saludos.


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 9 Julio 2008, 06:10 am
(editado) había posteado una solución, pero después me arrepentí.


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 9 Julio 2008, 06:51 am
Una vez leí que "siempre hay una puerta".

Bueno, el code de kraszic tiene un bug, aunque rebuscado, y requiere preparación. Se lo envié, tal vez él lo quiera publicar.


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 9 Julio 2008, 07:57 am
Entretienen bastante estos juegos. Ahora estoy trabajando asi que ni bien tenga un poco de tiempo intentaré resolverlos (sin trampas jeje).

-

Che carlitos.dll, he estado viendo algunos post en el que has dejado solamente un punto o guion en tus mensajes... ¿por qué?. Al menos pon algun otro que diga el motivo por el cual lo has hecho, de lo contrario se pensará que andas escribiendo mensajes en blanco solo para + el contador, aunque no creo... :-\


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 9 Julio 2008, 08:02 am
Disculpa, lukhardy, no escribo para aumentar un contador, lo que sucede es que en un post había escrito la solución codificada del reto de kraszic y en otro el bug, pero después pensé que era mejor enviarle todo a él.

También, la otra vez publiqué un pequeño código-método para saltarse el antivirus, y me lo enviaron a post de malware, y no quiero ser recordado como creador de malware :D


Título: Re: Crackme in batch
Publicado por: kraszic en 9 Julio 2008, 10:58 am
bueno, resolvi el codigo de :: SmartGenius ::, lo q no hice es el keygen ese porq no se muy bien a q se refiere y veo bastante claras cuales han de ser las soluciones.

Sobre mi code, el unico q lo ha resuelto por el momento ha sido carlitos.dll, venga, q no es tan dificil q al final no lo complique tanto como tenia pensado al principio.

Carlitos.dll me comento acerca de unos bugs de mi code, al final no le entendi muy bien el proposito de modificarlo.
Lo q quiero decir es q el objetivo de mi code es sacar un pass valido para el programa sin estar este modificado. Lo q es trampa seria modificar el codigo para q apareciera q con cualquier caracter, el password es correcto.

saludos


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 9 Julio 2008, 11:16 am
kraszick, yo no modifiqué tu código para nada.

Código:
http://img58.imageshack.us/my.php?image=bugcx1.jpg
En la imagen se explica.

Por lo demás, el desarrollo está muy bien hecho, si cambias el orden del mensaje, el malo arriba, y el bueno abajo, pienso que quedaría perfecto.

Nota: a lo de abrir el bat e ingresar... me refería a ejecutar el bat normalmente, e ingresar el código que dije, pero en el momento justo eso si :D

Simplemente, al añadir atributos de solo lectura al archivo, no se puede escribir en él (acceso denegado), entonces lee el contenido, y se produce la inyección. Luego quiere borrar (acceso denegado), como se produjo un quiebre, llega a la etiqueta inmediatamente después que es la que dice: Acertaste.

El quiebre se produce así:

%pas% vale:
"=

%finum% (lo que lee del archivo, tercer token) vale:
=""rem cracked

El 5555555 es un número que cumple ciertos requisitos.

Bueno cuando llega a esta parte:

%hyp% "%pas%%finum%%oh%"=="kr143%ree%" (goto bien) else (goto mal)

hace esto:

%hyp% ""==""rem cracked%oh%"=="kr143%ree%" (goto bien) else (goto mal)

se comenta toda la linea y se llega abajo a:

:bien









Título: Re: Crackme in batch
Publicado por: kraszic en 9 Julio 2008, 11:57 am
ya te entendi, bueno ya he cambiado el orden de los mensajes como me sugeriste.

A los q quieran resolverlo y lean el post de arriba, decir q esa no es la solucion, es solo un bug q encontro carlitos.dll del cual yo no me habia dado cuenta ni entendia al principio. Gracias por la info

saludos


Título: Re: Crackme in batch
Publicado por: SmartGenius en 9 Julio 2008, 20:30 pm
sobre el codig de kraszic, pues se que la clave tiene que ver con la hora, algunas variables numericas que hacen ciertas operaciones y que al final vendrian a copararse con lo escrito en el txt, lo que pasa es que solo lei el codigo por encimita....

del reto mio lo que habia que hacer era un keygen, un codigo que generara claves validas para mi programa, el keygen ya lo hizo carlito.dll y le quedo perfecto... ya que la comprobacion que el copdigo hace es que esten las letras S M A R T y el numero 2008, si alguna de esas lega a fallar pues la clave no sera valida...

el keygen: http://wikisend.com/download/481744/keymake.exe

y algo de inyeccion que descubrio el mismo carlitos.dll

crear un archivo data.key con el siguiente contenido:

Citar
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX&goto valid

Saludos.



Título: Re: Crackme in batch
Publicado por: Crazy.sx en 9 Julio 2008, 21:44 pm
Disculpa, lukhardy, no escribo para aumentar un contador, lo que sucede es que en un post había escrito la solución codificada del reto de kraszic y en otro el bug, pero después pensé que era mejor enviarle todo a él.

Ah, ahora comprendo, ahora soy yo el que pido disculpas.

Citar
También, la otra vez publiqué un pequeño código-método para saltarse el antivirus, y me lo enviaron a post de malware, y no quiero ser recordado como creador de malware :D

Si has hecho algo, pues uno se debe hacer cargo de lo bueno y lo malo sea cual fuese la situación. Y yo no creo que te recuerden como creador de malware... al contrario.

Saludos.




Título: Re: Crackme in batch
Publicado por: carlitos.dll en 22 Julio 2008, 08:22 am
Publico nuevamente mi crackme01, esta vez (al parecer) no tiene inyección. Anteriormente tenía una inyección.

Código:
@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++intentos& pause>NUL & goto start)
echo CRACKME 0.1b by CarlitoS.dll
echo.
echo %i%
echo Enter password (case sensitive):
doskey echo=rem
doskey pause=rem
set /p pwl=""
set pwl=%pwl:doskey=rem%
set pwl=%pwl:goto ok=rem%
set pwl=%pwl:set=rem%
set pwl=%pwl:echo on=rem%
if not [["$--%UserName%++%i%$"]]==[["$%pwl%$"]] (goto start) else (goto ok)
goto start
:ok
cls
doskey echo=
doskey pause=
echo Muy bien, has pasado.
pause>NUL
exit

Es importante que ese:
set pwl=%pwl:goto ok=rem%
no sea así:
set pwl=%pwl:goto ok=%
pues sino, habría una inyección así:
$"]] (goto goto ok ok) else rem

Ahora, al parecer no hay ninguna inyección.


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 25 Julio 2008, 07:45 am
Hiice un nuevo crackme para que se diviertan en los momentos de ocio. Es anti -bad injections.

http://wikisend.com/download/470810/crackme.rar



Título: Re: Crackme in batch
Publicado por: kraszic en 26 Julio 2008, 20:22 pm
Hiice un nuevo crackme para que se diviertan en los momentos de ocio. Es anti -bad injections.

http://wikisend.com/download/470810/crackme.rar



no tengo ni idea de q hay q hacer con ese archivo para ver su codigo xD


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 26 Julio 2008, 21:09 pm
La password es un número.
Si lo consigues, y prestas atención, verás su código fuente.
Nota: si ingresas un número, te dirá si el número que ingresaste es menor a la password o mayor.



Título: Re: Crackme in batch
Publicado por: SmartGenius en 27 Julio 2008, 00:45 am
Me gusto, la pass varia cada ves que lo abres, la primera ves lo hice en 26 intentos, ya la segunda no me salio porque me decia que la pass era menor que 0 ??

Me gustaria saber como hiciste para empaquetarlo de esa manera...

Saludos.


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 27 Julio 2008, 04:24 am
Me diste una idea Smart. Voy a comenzar a hacer un verdadero compilador de batch, open-source, pero de pago eso si, el acceso.



Título: Re: Crackme in batch
Publicado por: kraszic en 28 Julio 2008, 13:24 pm
mmm, no se como lo has hecho..  :xD
El crackme es en batch o otro lengaje??



---------------------------------------------------------------------------------
PD: Estaba repasando el post, y le encontre una inyeccion al primer code de smartgenius, probad este pass:
Código:
& goto be


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 1 Agosto 2008, 07:23 am
mmm, no se como lo has hecho..  :xD
El crackme es en batch o otro lengaje??



---------------------------------------------------------------------------------
PD: Estaba repasando el post, y le encontre una inyeccion al primer code de smartgenius, probad este pass:
Código:
& goto be

Es otro lenguaje ;). Muy buen crackme carlitos.dll, solo que no es lo que todos creen que es.

Pero muy bueno. Y eso que no esta "empaquetado" de ninguna manera :P ;D

Mmm, aunque todavia sigo intentando leer el codigo, si es que vos decis que se puede...

Saludos che


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 1 Agosto 2008, 21:12 pm
Agradezcan que no les reemplaze las lineas que decían gcc con un editor hexadecimal. :D
Si no estarían con la gran duda.


Título: Re: Crackme in batch
Publicado por: kraszic en 2 Agosto 2008, 00:37 am
xDD
Yo cuando vi el archivo empece a buscar un monton de infomacion de como lo podias haber hecho y al final llegue a la conclusion de q no podia ser batch.

Bueno, a ver si alguien se anima y postea un "crackme" nuevo.
Por cierto, el mio de momento solo se q lo ha resolvido carlitos, a ver si puede mas gente.

Vi en otro foro un code de crackme de smartgenius q me encanto, a ver si lo postea tambien.

saludos


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 2 Agosto 2008, 10:27 am
Listo, este crackme va dedicado a quienes les gusta mirar el código fuente. Es más fácil que el anterior, pues pueden mirar el código fuente :D

Código:
::Crackme 04 CarlitoS.dll
::no importa que miren el fuente :D

@echo off
setlocal enabledelayedexpansion
title Error de teclado... presione F1 para continuar :D

:Login
set pass=
set /p pass=Enter password:
if not defined pass (goto Login)

for %%a in ("|" "&" "^" ">" "<" "'" "`" "." ";" "," " " "/" "\" "+" "-" "~" "!" ")" "(" "]" "[" "{" "}") do (
set pass|find %%a >NUL && goto warning)
for %%a in ("if" "else" "goto" "echo" "rem" "start" "set" "doskey" "pause" "cmd" "command") do (
set pass|find %%a >NUL && goto warning)
set pass=%pass:"=_%
::echo off

if not [{98974876}]==[{%pass:~-8%}] (call :job) 2>NUL
if "%errorlevel%"=="9009" (goto warning)
call :job
if not [{98974876}]==[{%pass%}] (goto mal) 2>NUL

echo Muy bien.
echo Pronto, mas y mejor.
echo Codeado por CarlitoS.dll
echo Visita http://carlitosdll.blogspot.com
pause>NUL
exit
goto :eof

:job
set dic=0123456789abcdefghijklmn@opqrstuvwxyz
for /l %%a in (0,1,37) do (
set /a d%%a="%%a << 7"
set /a d%%a+="365%325"
)
set /a res=0
set pass=%pass:98974876=%
call :contar %pass%
set limit=
set limit=![%pass%.length]!
for /l %%b in (0,1,%limit%) do (for /l %%c in (0,1,37) do (call :res %%b %%c))
set pass=
set pass=%res%
goto :eof

:warning
echo 
echo Posible intento de batch injection
echo.
goto Login

:contar
set palabra=%1
if defined palabra (call :length %palabra: =_%)
goto :eof

:length
set arg=%*
if not defined arg (goto :eof)
set word=%arg%
set /a cont=0
:loop
if not defined word (goto end)
set word=%word:~1%
set /a cont +=1
goto loop
:end
set [%arg: =_%.length]=%cont%
goto :eof

:res
set par1=%1
set par2=%2
set x=!pass:~%par1%,1%!
set z=!dic:~%par2%,1!
if "%x%"=="%z%" (call :res1 %par1% %par2%)
goto :eof
:res1
set /a sum="%2 + 3"
set num=!d%1%!
set /a mult="%num% * %sum%"
set /a res +=%mult%"
set /a res="%res%<<1"
goto :eof

:mal
echo Autentificacion incorrecta.
echo.
goto Login


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 2 Agosto 2008, 13:48 pm
Modifiqué el post del reto 4, pues tenía un bug. Debí haber utilizado en un comienzo setlocal enabledelayedexpansion, pero ya lo corregí en el post original, y corregí todos los call set.
Espero que no se desanimen por esto, y que lo resuelvan como la gente :D

el bug estaba aquí:
Código:
call set limit=%%[%pass%.length]%%
for /l %%b in (0,1,%limit%) do (for /l %%c in (0,1,37) do (call :res %%b %%c))
set pass=
set pass=%res%
goto :eof
call set se confundía
Si tenía mi archivo crackme04.bat en el escritorio, y creaba un archivo llamado set.bat en el escritorio con el siguiente contenido:
Código:
set res=98974876
set limit=1) do rem (
el cmd.exe hacía esto:
Código:
call set
set res=98974876
set limit=1) do rem (
for /l %%b in (0,1,1) do rem () do (for /l %%c in (0,1,37) do (call :res %%b %%c))
set pass=
set pass=98974876
goto :eof



Título: Re: Crackme in batch
Publicado por: kraszic en 2 Agosto 2008, 18:00 pm
Estoy mirando tu code y muy dificil de momento.. xD

A ver si me puedes explicar q son estas lineas o sino por mp, te lo agradeceria.

Código:
for /l %%a in (0,1,37) do (
set /a d%%a="%%a << 7"
set /a d%%a+="365%325"
)
Esta parte no la entiendo muy bien.

Y esta otra tampoco me queda clara:
Código:
set num=!d%1%!

saludos y buen code pa pensar un rato


Título: Re: Crackme in batch
Publicado por: Crazy.sx en 2 Agosto 2008, 20:59 pm
xDD
Yo cuando vi el archivo empece a buscar un monton de infomacion de como lo podias haber hecho y al final llegue a la conclusion de q no podia ser batch.

Bueno, a ver si alguien se anima y postea un "crackme" nuevo.
Por cierto, el mio de momento solo se q lo ha resolvido carlitos, a ver si puede mas gente.

Vi en otro foro un code de crackme de smartgenius q me encanto, a ver si lo postea tambien.

saludos

Yo simplemente me fije en la lista de procesos y vi que no estaba cmd.exe, ahi empecé a "Sospechar".

Citar
Listo, este crackme va dedicado a quienes les gusta mirar el código fuente. Es más fácil que el anterior, pues pueden mirar el código fuente

¿Como yo por ejemplo?  ;D. Pero es mas divertido hacerlo sin "trampas". Me divirto con estos jueguitos je ;)


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 2 Agosto 2008, 21:08 pm
Estoy mirando tu code y muy dificil de momento.. xD

A ver si me puedes explicar q son estas lineas o sino por mp, te lo agradeceria.

Código:
for /l %%a in (0,1,37) do (
set /a d%%a="%%a << 7"
set /a d%%a+="365%325"
)
Esta parte no la entiendo muy bien.

Y esta otra tampoco me queda clara:
Código:
set num=!d%1%!

saludos y buen code pa pensar un rato

ese código te crea variables d0 d1 ... hasta d37. con cierto contenido.
http://www.ss64.com/nt/set.html

set num=!d%1%!

eso asigna el contenido de una variable a num, ! es debido a setlocal enabledelayed expansion.
antes estaba así:
call set num=%%d%1%%

res1 recibe un parametro (%1), y segun ese numero, por ejemplo si recibe 10, asigna a la variable num el contenido de la variable d10

set num=!d%1%!
es lo mismo que:
set num=!d%1!


Es demoroso resolver este crackme, si te haces un generador de palabras puedes estar más de un día, ya lo resolví por fuerza bruta, y se demora :D


Título: Re: Crackme in batch
Publicado por: karmany en 4 Agosto 2008, 03:46 am
Hiice un nuevo crackme para que se diviertan en los momentos de ocio. Es anti -bad injections.

http://wikisend.com/download/470810/crackme.rar



Lo he analizado desde el punto de vista de Ingeniería Inversa (http://foro.elhacker.net/ingenieria_inversa-b26.0/), y has sido un poco malévolo. Si no me equivoco lo has programado en Dev-C++ 4.9.9.2 (tal vez) y lo has hecho en consola simulando que lo habías programado en Batch. He visto que llamas a la función time y seguidamente haces unas pequeñas operaciones y te sale un número. Ese es el número de contraseña. Por eso difiere en cada ejecución.
Me ha parecido muy interesante.

Un saludo


Título: Re: Crackme in batch
Publicado por: kraszic en 4 Agosto 2008, 11:00 am
esta bastante dificil tu code, estuve un dia probando y no hubo manera, a ver si me pongo otra vez y consigo resolverlo.
Se me ocurrio tambien lo de la fuerza bruta pero no era un numero bajo y no era una buena idea.

saludos


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 4 Agosto 2008, 21:10 pm
bueno aquí dejo el fuente:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int randomizze(void);
  6. int semilla(void);
  7. void jugar(void);
  8.  
  9. int randomizze(void)
  10. {
  11.    srand(semilla());
  12.    int numero = rand();
  13.    return numero;
  14. }
  15.  
  16. int semilla(void)
  17. {
  18.    unsigned short int semilla;
  19.    semilla = time(NULL);
  20.    semilla /= 10;
  21.    semilla = (int) semilla;
  22.    return semilla;
  23. }
  24.  
  25. void jugar(void)
  26. {
  27.    int nA = randomizze();
  28.    int ingreso;
  29.  
  30.    int intentos = 0;
  31.    do
  32.    {
  33.        intentos++;
  34.        system("cls");
  35.        printf("Ingrese la password:\n");
  36.        scanf("%d",&ingreso);
  37.        fflush(stdin);
  38.        printf(ingreso < nA ? "<\n" : ingreso > nA ? ">\n" : "== Presiona una tecla para continuar\n");
  39.        getchar();
  40.        system("cls");
  41.    }while(ingreso != nA);
  42.  
  43.    if (ingreso == nA)
  44.    {
  45.     printf("Lo conseguiste en %d intentos\n",intentos);
  46.     printf("Felicitaciones\n");
  47.     printf("Pronto, mas y mejor\n");
  48.     printf("Codeado por CarlitoS.dll\n");
  49.     printf("Visita http://carlitosdll.blogspot.com\n");
  50.    }
  51.  
  52. }
  53.  
  54.  
  55. int main()
  56. {
  57.    jugar();
  58.    getchar();
  59. }
  60.  
  61.  


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 4 Agosto 2008, 21:17 pm
kraszick, dejo una ayudita:

if not [{98974876}]==[{%pass:~-8%}] (call :job) 2>NUL
set pass=%pass:98974876=%
if not [{98974876}]==[{%pass%}] (goto mal) 2>NUL

es fácil, mira, verifica que el texto ingresado termine en 98974876, y para despistar llama igualmente a :job luego en job se borran esos caracteres, y luego con lo que queda del texto, saca un número, y ese número es 98974876

Ejemplo: si 000f da como resultado 11768896 la password sería 000f11768896 pero como 11768896 se borra, solo te queda 000f, entonces tienes que averiguar que palabra te da 11768896

Entonces para solucionar esto, lo único que tienes que encontrar es que palabra da como resultado 98974876, y modificas el fuente para que vaya más rápido.


Título: Re: Crackme in batch
Publicado por: bond200_7 en 6 Agosto 2008, 23:50 pm
es facil esto de batch
creeo que hasta los crackmes son
faciles......
yo como principiante me he dado cuenta
que todos escriben codigos de batch muy buenos.....

pero me gustaria ver algo mas complejo
algo que,que tenga a todos con la duda
de la respuesta y la solucion....

es algo asi como el dia en que uno se baja una version
de prueba de algun soft, y solo por jugar un rato
se pone a a averiguar la clave y de pronoto
encuentra un archivo supongamos "batch"

donde supuestamente esta la clave que queremos
,pero de pronto de tanto buscar,no econtramos nada
,,,,,,,,..........creeo que no hemos buscado en el lugar
adecuado jejeje.

un saludo ..espero pronto terminar mi crackme en python
para que pongan en prueba sus conocimientos
sobre python y la versatilidad que podemos ser
para los lenguajes y paredes que podemos encontrar
......yo no se batch pero pude con la mayoria de los bat
que han puesto.


saludos a  todos y la verdad es que hacen cosas muy buenas en batch
los felicito ...un abrazo. ::)


Título: Re: Crackme in batch
Publicado por: carlitos.dll en 10 Septiembre 2008, 22:23 pm
Aquí he dejado un nuevo desafío:
http://foro.elhacker.net/desafios_wargames/reto_batch-t227420.0.html