
Salar's Chaloia
Download Chaloia.zip, 17 kb (password: crackmes.de) Browse contents of Chaloia.zip My First KeygenMe. So it's proably very easy.
Difficulty: 1 - Very easy, for newbies | Send a message to Salar » View profile of Salar » |
Solutions
Solution by xXTurdhunterXx, published 20. oct, 2016; download (3 kb), password: crackmes.de or browse.
xXTurdhunterXx has not rated this crackme yet.
Solution by AnonymousKid, published 25. aug, 2016; download (9 kb), password: crackmes.de or browse.
AnonymousKid has not rated this crackme yet.
Discussion and comments
chocolate 13. Jul, 20:34 | I have tried to run this executable several times and I keep getting the error of The program can't start because MSVCP100D.dll is missing from your computer. Try reinstalling the program to fix this problem. I have VS installed fine and all my debug projects run just fine. Not entirely sure if it's the executable you submitted. |
---|---|
metacube 14. Jul, 01:33 | I've faced the same problem |
TomwithM 14. Jul, 03:13 | I have some problem.0x21+0x65>0x7F. How to keygen it???? |
TomwithM 14. Jul, 03:15 | the name is everyting,but the pass is null(0x00)?? |
redoC 15. Jul, 17:32 | probably bugged crackme ? generated passwords are out of asci range, beside this you use movsx to char expansion so you compare 'char values' like 0xFFFFFFC6, or is this all intentional? |
Seprum 18. Jul, 17:10 | redoC, I noticed it too. But I am completely new in cracking so I thought it's some kind of protection and wasted more than 5 hours analyzing it. So is it bugged or not? |
UltraM4N 24. Jul, 18:34 | for missing dll visit: https://www.dll-files.com/msvcr100d.dll.html |
BadNiiw 26. Jul, 21:30 | Download dll from http://www.telecharger-dll.fr/download/Chaloia.zip.php?dll=msvcr100d.dll and put in in same folder as Chaloia.exe ;) |
xXTurdhunterXx 07. Aug, 15:25 | @redoC This also stumped me for a while, but I found out that movesx extends the MSB of a byte. So if we have 0111, it won't extend it to say 1111 0111. But something like 1000 would be extended to 1111 1000. As far as the crackme, I did come up with a solution but I am having quite a hard time copying the extended ascii characters to clipboard or trying to enter them. Here is psudo code for my solution: add_char = 'e' password = "" for c in characters password += ((c - 30) + div_by_char) + 0x30 add_char = c The algorithm looks like it uses modulus...but from one of the names I tested it only was accepted without it... password += (((c - 30) + div_by_char) % 0x7A) + 0x30. My solution probably doesn't work with all strings. I just gave up since entering extended ascii is hard :( I ended up using a website to copy and paste extended ascii characters: http://www.theasciicode.com.ar/extended-ascii-code/letter-a-ring-ascii-code-134.html For example !!!! coresponds to åBBB. |
xXTurdhunterXx 07. Aug, 15:27 | Sorry there are errors in my comment: div_by_char should be add_char and c - 30 should be c - 0x30 |
shikata.ga.nai 14. Aug, 02:55 | @Seprum, most likely it's bugged. I came out with solution similar to @xXTurdhunterXx's, but it works from time to time. If, like @xXTurdhunterXx wrote down, my function for !!! returns åBB for password and crackme accepts it, same function for aaa input returns LHH as password, but now it's somehow not accepted by the crackme. |
shikata.ga.nai 14. Aug, 02:58 | It's interesting though where is the bug. Couldn't identify bug in comparison function with IDA decompiler though. |
beaver 24. Aug, 11:11 | void Checksumm(char * name, char * checksumm, int lenght) { char e = 'e', b = 0, x = 0, z = 0, a = 0; if (name[0] == 0) return false; for (int i = 0; i < lenght; i++) { b = name[i]; b -= 48; checksumm[i] = b; x = checksumm[i]; x += e; checksumm[i] = x; e = name[i]; z = checksumm[i]; z = z % 122; checksumm[i] = z; a = checksumm[i]; a += 48; checksumm[i] = a; } checksumm[lenght] = '\0'; } |
Salar Author 12. Sep, 11:42 | Sorry for being inactive for a while. Non-ascii pass is perfectly correct. Keep it on! |
Salar Author 12. Sep, 11:45 | Is there a way to remove solutions? Rules state that you should not patch! |
Salar Author 12. Sep, 11:51 | i also like how you got that complicated stuff. Cant dig up my code. But it was like 5 loc. |
xXTurdhunterXx 13. Sep, 04:04 | I submitted my fully working solution 3 weeks ago but it hasn't been approved by mods...why? |
Barkhat 22. Sep, 17:23 | Salar, what code table you used? |
Salar Author 24. Sep, 14:19 | @Barkhat what do you mean by code table? |
Barkhat 02. Oct, 13:47 | @Salar What code page is used in your CMD? |
Bakasura 09. Nov, 05:16 | @SalarI have the keygen, but the console alters the string. Any suggestions? var User: String; Serial, Seed, Tmp, I: ShortInt; begin Seed := $65; User := TxtName.Text; TxtSerial.Clear; for I := 1 to Length(User) do begin Serial := 0; Serial := Serial + ShortInt(User[I]) - $30; Serial := Serial + Seed; Serial := Serial mod $7A; Serial := Serial + $30; Seed := Integer(User[I]); TxtSerial.Text := TxtSerial.Text + Chr(Byte(Serial)); end; end; |
Salar Author 19. Nov, 12:53 | @Barkhat I'm using 850 (Latin1 I guess). |
You may leave your comment, thoughts and discuss this crackme with other reversers here.
Acting childish will not be tolerated.
HTML and such will be left as-is, so don't try.