151,攻防世界 逆向 Reversing-x64Elf-100

学习笔记如下链接

攻防世界 Reversing-x64Elf-100-优快云博客 

 下载附件

再用ExeinfoPE查壳

 

该文件不是 Windows 可执行文件(NOT Win EXE),而是 ELF 可执行文件,64 位目标文件,由 GCC(Ubuntu 4.8.4 版本)编译,CPU 为 AMD x86 架构。

拖入IDA分析

点击main 再按F5

代码主要功能是提示用户输入密码,然后调用sub_4006FD函数来验证输入的密码是否正确。根据验证结果,程序会输出相应的提示信息(“Incorrect password!” 或 “Nice!”),并返回相应的退出状态码(1 表示密码错误,0 表示密码正确)。 

 大佬推测flag在约束条件中,所以我们双击sub_4006FD函数

想要破解这个密码验证机制,可以通过逆向计算出正确的密码。根据验证条件,正确的密码字符应该是 (&v3)[i % 3][2 * (i / 3)] - 1。

v3 = "Dufhbmf"
v4 = "pG`imos"
v5 = "ewUglpt"
strings = [v3, v4, v5]
password = ""

for i in range(12):
    selected_string = strings[i % 3]
    char_index = 2 * (i // 3)
    correct_char = chr(ord(selected_string[char_index]) - 1)
    password += correct_char

print("正确的密码是:", password)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值