Number of crackmes:
Number of solutions:
Comments:
Name | Author | Language | Arch | Difficulty | Quality | Platform | Date | Solution | Comments |
---|---|---|---|---|---|---|---|---|---|
Own Obfuscator C++ | 4epuxa | C/C++ | x86-64 | 3.5 | 2.5 | Windows | 2:38 PM 06/15/2022 | 0 | 9 |
Thief Crackme(Obfuscated) | 4epuxa | C/C++ | x86-64 | 4.5 | 4.0 | Windows | 3:27 PM 06/03/2022 | 0 | 2 |
Crackme | Infos |
---|---|
verifying the password - reuploaded version | pretty easy crackme |
Keygen Me Part 1 | |
FindMySecret |
Comment | Link |
---|---|
flag memes_ctf{h3ll0_to_anarhist47} | ==> |
Fix this flag? I didnt see nothing except it | ==> |
For newbies. Pass: 1234-2468-R3KT | ==> |
homeisapersonAA | ==> |
pretty good. | ==> |
key = favorite+favorite for(int i = 0; favorite = 0; i--) key += 3 | ==> |
This seems to be impossible to solve without patching | ==> |
4epuxa 617780610 | ==> |
https://github.com/IvankoEanko/cracked cracked it | ==> |
passwords below Crackme is awesome. Excellent quality 17024 251 13591 | ==> |
The main problem is imul, so I had to use assembler inserts. The essence of generation is clear to me, it is pretty good. I also managed to write the keygen, but you will have to enter the generated numbers yourself. https[:]//pastebin.com/ZgD76uEx delete [ ] | ==> |
Colby, я думал ты уже тут не сидишь))) | ==> |
login 4epuxa pass 13104 pass = login[3]*(login[2]+((login[4]*login[1])%(login[0]*login[5))) | ==> |
Awesome and unusual challenge | ==> |
Good crackme if you're new to "simulating" virtual machines. my pass is kpyqli | ==> |
crackmes.oneIsTheBest you are right | ==> |
Name: 4epuxa Serial: 0616-58A2BB4A9CCFCE0A | ==> |
pass: bibr | ==> |
pass: 'w70* | ==> |
Good crackme! flag SHB{p134E3_d0n7_r3v3r53_m3} | ==> |
ty for crackme. my pass is uVcdAO | ==> |
Also n2717 | ==> |
1112111 | ==> |
This is your hardest crackme, it's great! The main difficulty for me is a bunch of variables. Quite interesting counts of auth file integrity and function integrity counts. Overall, crackme was a success! Generating a password is not too complicated, the most difficult thing is to understand what is happening where what is changing. Success! The program has been unlocked! | ==> |
Awesome crackme for newbies | ==> |
Awesome crackme! Pretty unusual and interesting. To solve this, you should be a little more careful, consider the functions in this crackme | ==> |
pretty easy crackme. The essence of generation is simple. Your username is acted upon and you end up with a number. You should convert this number to the decimal system of disappearance and this will be your password. | ==> |
I used brute-force because it cannot be reversed if I am not mistaken. If not, correct me | ==> |
Pretty good crackme. But I would advise not to give the .pdb file along with the .exe, it makes the analysis much easier. The protection in this crackme is 2 things. The first is IsDebuggerPresent and int 2d, a so-called debugger trap. I also wrote a keygen (semi-keygen). To use it, you need to take the checksum of your username. https[:]//pastebin.com[/]yx2mF7Gt My login: 4epuxa My password: 2034557054 | ==> |
Quite an interesting crackme. The only problem is that I haven't been able to come up with an algorithm to reverse this algorithm. But I made it through SPOILER PASSWORD 02378ACEKMNPabefgjlmou | ==> |
Awesome crackme! I understand that the main work was to unpack 2 crackmes, password checking is very easy, anyway, thanks for crackme. It differs from the standard ones, and this pleases)) | ==> |
Is it possible to wrap a function with xor where 4 more functions are called. I didn't convert it normally, I just, one might say by accident, thought, what if I looped it and see the values. I got what I need. The password turned out to be correct as well, but I am wondering how the others have reversed this function. | ==> |
solution submitted, waiting for verify | ==> |
I reversed your crackme, as I understand it uses the generation of the crc table, there is also a xor of a hard-coded table with our password, the size of the table is 0x00012800, which is 75 776 in decimal. Then the crc table is generated, which is then used at the very end before checking our hash ... It was similar to the crc32 algorithm. Accordingly, I cannot reverse algorithm because it is one-way hash function, I need to brute-force it. The biggest problem is that there is no exact number of characters, so brute-force can take about 10,000,000 years. Crackme has no solution. The author, if I am wrong, correct me. | ==> |
In general, for some reason the site does not want to correctly display my comment. I probably will sumbit a solution. There are a lot of interesting things | ==> |
Then we get into a loop where we compare characters from a string with our username (see 1). Let's take that the table stores an already hardcoded password. i is a counter. variableForCountPassTable = 0; someString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; for (int i = 0; i | ==> |
Nice and interesting crackme, thank you so much for your work. The essence of generating the correct password: 1) We have a line: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 She acts as a kind of counter. 2) We also have hardcoded characters, which will be our password. Suppose for A, it is ".-". 3) The algorithm is as follows: First, we toupper () all our symbols. Then we get into a loop where we compare characters from a string with our username (see 1). Let's take that the table stores an already hardcoded password. i is a counter. variableForCountPassTable = 0; someString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; for (int i = 0; i | ==> |
Quite easy because the password is shown in the comparison. But I reversed the algorithm, which was very interesting 4epuxa12 0101100111101101000100111011001100001101110011011110100100011001 | ==> |
Hello. Crackme is pretty easy because I didn't even have to make a keygen. Why did this happen? Because my entered password does not "mutate", it changes. That is, I just need to enter the password, which should be in ecx. sub ecx, eax We need it to be zero. In ecx, our password, and in eax, the password is generated. In my case, the generated password will be AEE4C0F0. That is, it is -1360740112. Everything, crackme is solved. | ==> |
Awesome crackme for newbies. Password SubstitutionBox420 | ==> |
shb{nic3_sfx_4rciv3} | ==> |
pranav Yes, because the dividend is 0xCF and 0xFF, and then there are zeros. We need these two numbers to be divisible and the remainder is 0x36. We divided them and received the remainder of 0x36, and since we have more than 0x00, the program simply transfers them to the message of successful registration | ==> |
Create .KEY file without name and enter into 0x99 0x43 | ==> |
dev316, i just have traced over all function and where debugger eip line dissapeared there is the main function | ==> |
Name: 4epuxa Password: 599 You don't even need to disassemble the algorithm to understand what is required of you. It seems that each character of your name is summed up and you get some kind of number and you need to enter this number. (As for the amount, I'm not sure, because I did not analyze the algorithm, I just saw what was being compared with what, but it turned out to be unnecessary to disassemble the algorithm. Well, although, if you want, you can do it). Crackme is pretty easy, as I have already encountered this algorithm before. | ==> |
my password is 20@@pPp0ppppPp0pp0pp It can be different | ==> |
difference = entered key - generated key key = constant key(00126f66) - difference key = 1950 | ==> |
I didn't reverse the algorithm, I just tried to enter any number. And he subtracted from the constant number that is compared with mine, mine. | ==> |
1950 password | ==> |
The password is generated using the rand () function, but if you run this program you can enter phqghumeaylnlfdxfircvscxggbwkfnqduxwfnfozvsrtkjprepggxrpnrvystmwcysyycqpevikeffm and you should be given everything right. | ==> |