getit WP

"本文详细介绍了如何对一个64位的ELF文件进行静态分析,通过使用IDA Pro工具从main函数入手,解析程序逻辑,特别是(v5&1)的奇偶数判断,用于填充特定字符到flag。最终,通过编写代码重现计算过程,得到了flag:SharifCTF{b70c59275fcfa8aebf2d5911223c6589}
摘要由CSDN通过智能技术生成

1.首先我们先下载提供的附件,用Exeinfo PE打开查看信息。

 发现程序是ELF文件,并且程序是64位的。

2.使用静态分析工具IDA进行分析

从main函数开始分析,使用F5查看伪代码

 可以看到先判断v5是否大于s存储字符串的长度,然后通过运算,最后将得到的flag写入文件。

我们发现这个运算其实是进行了一个(v5 & 1)的运算,实际上就是判断v5的二进制最后一位是否为1若是返回值为 1,否则为 0,实际就是判断奇偶数,最后一位为1,为奇数 v3=1,否则为偶数 v3 = -1;

然后将 s[v5] 加上 v3 填充到 t 的首地址加 10 加 v5 处

然后我们跟踪t和s,点击t和s发现

我们发现u 的长度和上面计算得到的字符长度一样,这时我们就能确定上面计算的字符就是本题flag。

3.用spyder编写代码得出flag

 得到flag:SharifCTF{b70c59275fcfa8aebf2d5911223c6589}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值