下载链接
https://crackmes.one/crackme/698d2206e2ba6023bfacaa4f
解压密码
crackmes.one
难度
简单
解题步骤
解压后用Binary Ninja打开,再左侧找到main函数

选择伪C代码

可以直接看到明文密码,而下面的if语句是检验密码正确与否,可以看到比对了buffer1与buffer2,buffer2是地道道密码串,用户输入的字符串会存到var_38,后面又把var_38值传给了buffer2,所以buffer1的明文密码即为目标输入值

这段代码较为简单,count为输入字符数目,第一个if是先对输出长度与真正密码长度进行对比,第二个if是判断是否为空输入,为空则输出成功,显然这个是矛盾的,所以不作为判断依据,第三个if通过memcmp比较函数来对比用户输入字符串与真实密码。综合上述要求,需要满足长度必须为12和输入内容与程序硬编码密码一致才能输出"\n Congrats!!! You Cracked The Code"。

运行exe后输入EasyPassword,出现预期输出,解题成功!
