文章来源:华盟论坛
文章链接:
https://bbs.77169.net/forum.php?mod=viewthread&tid=375397
题目来源: DUTCTF
题目描述:菜鸡开始学习逆向工程,首先是最简单的题目
下载来源:
https://pan.baidu.com/s/1BaCIOGzWolar7lL5ZmtOBg
1、下载flag.exe程序并打开分析输出的有用信息,可以看见有中文输出。
2、使用逆向工具IDA将其打开。
3、使用快捷键:shift f12,可以打开string窗口,一键找出所有的字符串(定位中文)。
4、双击flag get字符串进入IDA View-A图标架构,这里可以查看程序的逻辑树形图,把程序的结构更人性化地显示出来,方便我们的分析。
5、定位其中地址00413E60后使用快捷键:CTRL X引用交叉列表。
分析:代码看不懂找百度:
strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。
_mm_load_si128:加载128位值
_mm_store_si128:存储128位值
了解strcmp函数后v5和v9需要比较v9是随意输入的值v5是系统的值,分析后v5又是函数xmmword_413E34赋值的,所以找到函数xmmword_413E34的值就可以了。
7、双击函数xmmword_413E34,可以发现其值后转成字符串。
8、把flag的值输入flag.exe程序里就可以啦!
推荐文章++++