1.crackme是个啥
我们下载完IDA Pro之后,准备开始学习逆向工程,而crackme就是逆向工程的实验工具。
本次我们选取的crackme来自https://crackmes.one/
选择好合适的难度,我们可以进行搜索,因为我也没有进行过逆向,所以我们选择一个简简单单的Secret Key(由RR7制作)
2.开始逆向
这道题看起来不难,我们先把它解压出来,所有习题解压的密码都是crackmes.one,解压出来可以看到code.exe
我们打开IDA Pro,拖入code.exe,直接按下F5,看一下C伪代码。
1 | int __fastcall main(int argc, const char **argv, const char **envp) |
3.阅读代码
看到这段,我已经知道答案了,其实1.0的难度真的很简单。
答案是直接给的。
可以看到(只要看得懂简单C代码),他先定义了v4,v5两个值,用于后续输入。
我们打开这个exe,会先看到Enter Your Number :。正好对应 printf("Enter Your Number : ");。
后面输入了一个v5,将v5和33进行校验,如果是,就继续
接下来又要输入Enter The Secret Key :,v4,将v4和102进行比较,如果相等,那么就输出Congratulations, you have completed the challenge!。
所以,这道题就这么解决了。
4.进行尝试
分别将33,102输入进去,然后就解决了。
整体如下:
1 | Enter Your Number :33 |