实验吧逆向工程-逆向观察

日更任务到第29天,我以为更新够了100字,然而没有,于是 失败了,从头来过。
今天的题目的介绍: a simple reverse view ,一个简单的逆向观察,下载看看吧。
下载链接:http://ctf5.shiyanbar.com/reverse/rev50/rev50
1、用Ida打开,发现是一个ELF文件(Linux可执行)。


2、找到main函数,使用F5转为伪代码:

3、选中十六进制,按r转为字符。


4、本来src为整形存储,高位在高地址,低位在低地址,r转换为字符后依然为高位转换为高位字符,低位转换为低位字符;但是memcpy转换为字符串后,低地址在前,高地址在后(dest声明为字符串)

5、这样已经得到了flag为逆序的字符串mercedes,后面的查找dict有没有当前密码,点进去可以看见一个大的dict,里面有很多密码。第一行为用户名为123456


6、可以尝试linux下运行。
(1)取权限,第一次运行



(2)使用gdb挂载参数

gdb -args ./rev50 123456

(3)显示主函数

disas main


(4)给跳转函数下断点,然后r运行(因为该处会有比较)
(5)查看当前STACK可以发现flag值(我没有看到STACK,等学会了看到补)。

小结:今天是Ida一个字符串反向输出的知识。

你可能感兴趣的:(实验吧逆向工程-逆向观察)