The making of this site is in progress,do check it once in a week for new material.

Cracking Latigo's Crackme1 - Essay Written By KRAS|

Reverse Me 1.0 by Latigo/Dread

This JavaScript crackme by Latigo is really not hard to crack and here's what Latigo says about it:
This is not difficult if u know javascript,if u dont know javascript but got a brain u'll make it too :). Work it out, and if u wanna make any comment,suggestion, or whatever..mail me at superlatigo@hotmail.com. Tanx and enjoy!

So looking at the code the fisrt two things that i spotted out were that the username has to be more than 5 letters,else we would be seeing the "Not a valid username" message and that the password is computed from the username you entered. So knowing that we had to input more than five letters in the username field we are half way there.We proceed to the function that codes the username we entered and gives it to the value acumulado.
Here is the code that we have to reverse:

	for (i = 0; i < username.length; i++)
		{
		caracterXoreado += username.charCodeAt(i) ^ username.length;
		acumulado += caracterXoreado * username.charCodeAt(i);
		}
What it does is that it codes the username we entered n times(n being the length of our username). So what if i add the documetn.writeln function to this cycle then it would display n strings,the last one would be the right one.So here's what I did:
	<HTML>
	<HEAD>
	<TITLE>Cracking Reverse me v 1.0 by Latigo</TITLE>
	<script>
	function check()
		{
	username = "krasi";
		var acumulado = 0;
		var caracterXoreado = 0;

		for (i = 0; i < username.length; i++)
			{
			caracterXoreado += username.charCodeAt(i) ^ username.length;
			acumulado += caracterXoreado * username.charCodeAt(i);
		document.writeln(acumulado);	
		}
	}
	</script>
	</HEAD>
	<BODY onLoad=check()>
	</BODY>
	</HTML>
So now starting the page would display five digits(that's cos I used the string "krasi" as username,but u can substitute it with whatever you want) and the last one would be the answer to this crackme.

KRAS| 1999 krasi@freeshell.org