摘要: 恢复内容开始 首先看源代码: 这题就很简单啦,只要输入的key与random异或为0xdeadbeef便得到flag 首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。 rand(产生随机数) 表头文件: #include 定义函数 :in 阅读全文
posted @ 2017-08-02 18:35 S_s_s 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 先看源码: 得出如果password1和password2与条件稳合便得出结论,但是scanf没有取地址符 思路是got覆写技术: 先看got信息: 得到fflush@GLIBC_2.0地址为0x0804a004, 再看一下程序汇编 得到name_addr=ebp-0x70 password1_ad 阅读全文
posted @ 2017-08-02 17:24 S_s_s 阅读(526) 评论(0) 推荐(0) 编辑
摘要: -a --all 显示全部信息,等价于 -h -l -S -s -r -d -V -A -I. -h --file-header 显示elf文件开始的文件头信息. -l --program-headers --segments 显示程序头(段头)信息(如果有的话)。 -S --section-hea 阅读全文
posted @ 2017-08-02 16:03 S_s_s 阅读(1292) 评论(0) 推荐(0) 编辑
摘要: 可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示: x/<n/f/u> <addr> n、f、u是可选的参数。 n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。 f 表示显示的格式,参见下面 阅读全文
posted @ 2017-08-02 15:35 S_s_s 阅读(6849) 评论(0) 推荐(0) 编辑
摘要: 丢进winhex里分析 是elf文件,那么分析一下elf文件: 可猜到可能是upx加壳:用strings flag得到: 可知是加壳 或者: 可确定是upx加壳,于是脱壳后放入ida用Shift+F12便可获取flag 此处有多种方法,也可放进winhex里得到,或通过gdb查找地址得到。 阅读全文
posted @ 2017-08-02 10:45 S_s_s 阅读(176) 评论(0) 推荐(0) 编辑