2025 攻防竞赛逆向函数还原题库及解析.docxVIP

2025 攻防竞赛逆向函数还原题库及解析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2025攻防竞赛逆向函数还原题库及解析

考试时长:120分钟总分:100分适用级别:入门至进阶

说明:1.本试卷题目基于真实攻防竞赛逆向工程模块核心考点设计,涵盖静态分析、动态调试、算法还原等核心能力;2.所有题目附件均为Linux可执行文件,推荐使用IDAPro、GDB、radare2、strings、objdump等工具进行分析;3.flag格式统一为flag{XXX},XXX为答案核心内容,需严格遵循格式作答。

一、基础逆向题(共2题,每题10分,共20分)

题目1:隐藏的欢迎信息(难度:?)

题目描述:给定可执行文件hello_re,运行后仅输出WelcometoReverseEngineering!,但flag被直接隐藏在程序内部。请通过逆向分析找到该flag。

附件:hello_re(ELF64-bit可执行文件)

答题要求:写出flag内容及核心解题步骤。

解析

1.核心考点:基础逆向工具使用(strings、file命令)与静态字符串提取能力。

2.解题步骤:

①首先使用file命令确认文件基本信息,执行命令:filehello_re

输出结果示例:hello_re:ELF64-bitLSBexecutable,x86-64,version1(SYSV),dynamicallylinked,notstripped(确认文件架构与基本属性)。

②直接提取程序中的字符串并筛选flag相关内容,执行命令:stringshello_re|grep-iflag

该命令会过滤出包含flag关键字的字符串,由于题目中flag以明文形式存储,可直接得到结果。

3.参考答案:flag{Welcome_To_Re_World}

题目2:数字验证关卡(难度:??)

题目描述:给定可执行文件num_check,运行后要求输入一个整数,输入正确则输出flag,输入错误则提示WrongNumber!。请通过逆向分析找到正确的输入值及对应的flag。

附件:num_check(ELF64-bit可执行文件)

答题要求:写出正确输入数字、flag内容及核心分析过程。

解析

1.核心考点:静态反编译与程序逻辑分析能力,掌握IDAPro基本使用方法。

2.解题步骤:

①初步运行程序观察行为:执行./num_check,输入任意数字(如123),程序提示错误,确认程序核心逻辑为输入验证-结果反馈。

②使用IDAPro打开num_check文件,定位main函数(IDA会自动识别并标记主函数),通过F5键生成伪代码,简化分析流程。

③分析伪代码逻辑,核心代码片段如下:

intmain(){

intinput;

printf(Pleaseenteranumber:);

scanf(%d,input);

if(input==2025){//验证条件:输入值等于2025

printf(Correct!Flagis:flag{Num_Check_Pass_2025}\n);

}else{

printf(WrongNumber!\n);

}

return0;

}

④从伪代码中可直接获取验证条件与flag内容,输入正确数字即可验证。

3.参考答案:正确输入数字2025,flag{Num_Check_Pass_2025}

二、算法逆向题(共2题,每题15分,共30分)

题目3:字符移位加密(难度:??)

题目描述:给定可执行文件char_shift,程序会要求输入一个字符串,若输入字符串经程序内部算法处理后与预设密文一致,则输出flag。已知预设密文为khoor#zruog,请通过逆向分析还原加密算法,推导正确的输入字符串及flag。

附件:char_shift(ELF64-bit可执行文件)

答题要求:写出加密算法逻辑、正确输入字符串、flag内容。

解析

1.核心考点:字符串加密算法还原,逆向推导解密逻辑的能力。

2.解题步骤:

①使用IDAPro打开文件,定位main函数并生成伪代码,重点分析输入字符串处理的循环逻辑(通常为for循环遍历每个字符)。

②还原加密算法:通过伪代码分析,发现核心加密逻辑为遍历输入字符串的每个字符,将其ASCII值加3,关键代码片段如下:

for(inti=0;istrlen(input);i++){

encrypted[i]=input[i]+3;//每个字符ASCII值加3

}

if(strcmp(encrypted,khoor#zruog)==

文档评论(0)

杜正菊 + 关注
实名认证
文档贡献者

.

1亿VIP精品文档

相关文档