[CrackMe]一个关于读取文件并进行运算判断的CrackMe

[CrackMe]目录索引

该程序下载地址:

链接:https://pan.baidu.com/s/1Wh033pBJObAPDtK4x-ZBYg
提取码:kjq3
复制这段内容后打开百度网盘手机App,操作更方便哦

[CrackMe]一个关于读取文件并进行运算的CrackMe

1. 首先,我们先打开该文件,什么都没输入,就显示注册错误,一脸懵逼...

  [CrackMe]一个关于读取文件并进行运算判断的CrackMe

 

 2. 之后,我们使用OD打开该程序,跳转到该界面暂停,然后通过栈回溯到程序的执行主流程。

  [CrackMe]一个关于读取文件并进行运算判断的CrackMe

 

 3. 查看上面,似乎读取一个名为 "KeyFile.dat"的文件,如果打开失败则执行这里。

 4. 我们直接使用IDA工具来分析这个文件

  [CrackMe]一个关于读取文件并进行运算判断的CrackMe

 

 5. 我们继续执行正确流程,发现其对读取字节数有要求,必须不低于10h(16)个。

  [CrackMe]一个关于读取文件并进行运算判断的CrackMe

 

 

 6. 我们再来解析执行流程:

  如下图所示,因此,我们想要保证注册成功,必须在 KeyFile.dat 文件中保证其总字符数不低于16个,且出现G的格式不低于8个,这样才会成功。

  [CrackMe]一个关于读取文件并进行运算判断的CrackMe

 

7. 根据如上要求,我们在 CrackMe.exe目录下构造有关文件,直接全部用'G'填充。之后运行程序,则发现程序破解成功。

  [CrackMe]一个关于读取文件并进行运算判断的CrackMe

 

 

8. 解题收获:破解程序的本质就是要走正确流程,发现哪个条件不满足再回头去找其满足的条件,不要陷入错误的逻辑中出不来!!!

 

  

 

  

  

 

上一篇:进入docker容器并执行命令的的3中方法


下一篇:CrackMe第一题