alexctf-2017:re2-cpp-is-awesome

下载附件,为elf文件

在Linux中查看

64位的ELF文件,输入错误的flag时,输出Better luck next time。

 

将文件拖入IDA64,反编译,分析代码

找出图中关键代码

 

跟进sub_400B56函数

void __fastcall __noreturn sub_400B56(__int64 a1, __int64 a2, __int64 a3)
{
  std::operator<<<std::char_traits<char>>(&std::cout, "Better luck next time\n", a3);
  exit(0);
}

输出:Better luck next time

进一步确认,if 语句中的判断条件为解题关键。

 

提取 off_6020A0 和 dword_6020C0 中的数据

 

off_6020A0:

 

dword_6020C0:

align 8:8字节对齐,此处不太直观在Hex View跟进。

 

提取结果:

off="L3t_ME_T3ll_Y0u_S0m3th1ng_1mp0rtant_A_{FL4G}_W0nt_b3_3X4ctly_th4t_345y_t0_c4ptur3_H0wev3r_1T_w1ll_b3_C00l_1F_Y0u_g0t_1t"
dword = [0x24, 0x0, 0x5, 0x36, 0x65, 0x7, 0x27, 0x26, 0x2d, 0x1, 0x3, 0x0, 0xd, 0x56, 0x1,0x3, 0x65, 0x3, 0x2d, 0x16, 0x2, 0x15, 0x3, 0x65, 0x0, 0x29, 0x44, 0x44, 0x1, 0x44, 0x2b]

 

编写python代码:

off = "L3t_ME_T3ll_Y0u_S0m3th1ng_1mp0rtant_A_{FL4G}_W0nt_b3_3X4ctly_th4t_345y_t0_c4ptur3_H0wev3r_1T_w1ll_b3_C00l_1F_Y0u_g0t_1t"
dword = [0x24, 0x0, 0x5, 0x36, 0x65, 0x7, 0x27, 0x26, 0x2d, 0x1, 0x3, 0x0, 0xd, 0x56, 0x1,
         0x3, 0x65, 0x3, 0x2d, 0x16, 0x2, 0x15, 0x3, 0x65, 0x0, 0x29, 0x44, 0x44, 0x1, 0x44, 0x2b]
flag = ""
for i in dword:
    flag += off[i]
print(flag)

 

输出:ALEXCTF{W3_L0v3_C_W1th_CL45535}

 

解题完毕!

 

收获:了解 align (n) 的相关知识

转载于:https://www.cnblogs.com/MuZiShiYe/p/11044365.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用中提到了git clone时报错"fatal: Could not read from remote repository",这通常是由于权限问题导致的。这个错误信息表明无法从远程仓库读取文件。根据这个错误信息,可能是由于缺少正确的访问权限或者仓库不存在所致。 引用中提到了"Permission denied (publickey)",这个错误消息通常表示公钥认证失败。在使用Git与远程仓库进行通信时,需要使用SSH公钥进行身份验证。如果在配置Git时未正确设置SSH密钥,或者公钥未被添加到远程仓库的访问控制列表中,就会导致这个错误。 要解决这个问题,你可以按照以下步骤进行操作: 1. 确保你已经正确配置了SSH密钥,并将公钥添加到你的GitHub帐户中。你可以按照GitHub官方文档中的步骤来完成这个操作。 2. 确保你有权限访问远程仓库。如果你是该仓库的拥有者或有管理员权限,你可以检查一下你的权限设置。如果你没有权限,你需要联系仓库的拥有者或管理员以获取访问权限。 3. 如果你已经确认你有正确的权限并且SSH密钥设置正确,但仍然无法读取远程仓库,可能是由于网络或其他问题导致的。你可以尝试使用其他网络环境或者稍后再次尝试。 总的来说,当遇到"fatal: Could not read from remote repository"错误时,你应该首先检查你的SSH密钥设置和权限,并确保你的网络环境正常。如果问题仍然存在,你可以尝试联系仓库的拥有者或管理员以获取帮助解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [git@github.com: Permission denied (publickey)... fatal: Could not read from remote repository的问题解决](https://blog.csdn.net/u014212540/article/details/107183269)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [解决npm install 报错 npm ERR code 128 npm ERR command failed npm ERR command git ls-remote sshg](https://blog.csdn.net/begefefsef/article/details/123323149)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [awesome-pnpm:很棒的pnpm资源](https://download.csdn.net/download/weixin_42126668/18368940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值