本期题目
https://github.com/Kinotern/CTFLifefromZero/tree/main/01
主要是带着你过一次,看着学学然后记住一些基本的操作
现有如下程序及编译附带产物(面向新手展示IDA功能用)

测试exe看看有啥线索
打开exe显示

随便输入看看显示错误按任意键退出
====================================
IDA Beginner CrackMe v1
====================================
Password: 111
Wrong password. Try again.
Press Enter to exit...
有Password字符串,记住
IDA相关
打开IDA
点击New

选择exe打开

点击OK

点击yes

回顾记忆
打开了对吧,不要慌别慌别放弃
你面对这一对不知道怎么用很正常
还记得我们之前找到的字符串Password吗?
知识点1
Shift + F12 查找字符串

按下后显示这个字符串界面

随便点击一行的string一下,这里看图
然后直接在键盘输入pass
那么他自动会带我们去找到它,然后双击Srting列的Password

查找引用
点击后会跳转到asm处
这一行main+18↑o双击它
找到是什么引用了他

第二处引用分析
那么我们耐心地仔细看看分析看图
Password,然后跳转到check_password

往下继续分析调用
check之后正确,提示成功Correct!所以需要追踪他到底是如何检查的
我们肯定先需要长度,然后知道格式,然后再一层层解密下去
双击check_password
你看有几处调用
有check_length检查长度,check_prefix检查前缀,check_middle中段检查,check_suffix尾缀检查
需要有一定英文词汇量,实在不会就查一下嘛

知识点2
按下F5反汇编为.c
先双击check_length,跳转到
重点是
return j_strlen(Str: input) == 13;



这里有四个input=数字



