题目来源: 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引用交叉列表。


6、使用快捷键:F5进入伪代码后分析代码。


分析:代码看不懂找百度:
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程序里就可以啦!


推荐文章++++

*Reverse 一款逆向工程工具

*PBTK:一款针对Protobuf App的逆向工程与模糊测试套件

*指纹锁的硬件逆向工程


–by i3geek