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攻防竞赛逆向寄存器跟踪题库及标准答案

考试时长:150分钟总分:100分适用级别:进阶至竞赛级

说明:1.本试卷严格参照国内攻防竞赛逆向模块真题范式,聚焦“寄存器跟踪”核心能力,覆盖x86/x64架构寄存器操作、指令级跟踪、值传递分析等考点;2.题目附件为Linux/Windows可执行文件,推荐工具:IDAPro7.7+、GDB+pwndbg、x64dbg、x32dbg、objdump;3.所有题目需结合寄存器跟踪过程作答,关键步骤需标注核心寄存器(如EAX/RAX、EBX/RBX、ECX/RCX等)的值变化;4.flag格式统一为flag{XXX},严格遵循格式方可得分。

一、基础寄存器跟踪题(共2题,每题10分,共20分)

题目1:x86寄存器值传递(难度:??)

题目描述:给定Windows32位可执行文件reg_x86_basic.exe,程序通过寄存器传递参数调用验证函数,输入正确的3位整数即可输出flag。请使用x32dbg跟踪main函数至验证函数的寄存器值变化,找到正确输入及flag。

附件:reg_x86_basic.exe(PE32可执行文件,无壳)

答题要求:1.列出核心跟踪步骤及关键指令处的EAX、EBX、ECX寄存器值;2.写出验证函数的参数传递方式;3.提交正确输入及flag内容。

标准答案与解析

1.核心考点:x86架构寄存器参数传递规则、指令级跟踪能力。

2.跟踪与解题步骤:

①工具准备:启动x32dbg加载目标程序,按F9运行至程序提示“输入3位整数:”,暂停程序。

②定位关键函数:通过“符号表”或“字符串有哪些信誉好的足球投注网站”找到验证函数verify(intnum),地址为0在该函数入口下断点(F2)。

③输入测试值并跟踪:输入任意3位整数(如123),按Enter触发断点,此时重点观察寄存器值:

-断点处(verify函数入口)指令为pushebp;movebp,esp,栈顶([esp+4])值为0x7B(十进制123),说明参数通过栈传递(x86cdecl调用约定);

-单步执行(F7)至指令moveax,[ebp+8],EAX值变为0x7B(接收输入参数);

-继续执行至cmpeax,0x16D,此时EAX为输入值,0x16D为预设正确值(十进制365),对比后若不相等则跳至错误分支。

④验证正确输入:重新运行程序,输入365,触发断点后跟踪至cmp指令,EAX=0x16D,与右侧操作数相等,执行“jmp0x004010B0”跳转至正确分支,程序输出flag。

3.关键寄存器值记录:

关键指令地址

指令内容

EAX值

EBX值

ECX值

0pushebp

0x0019FF3C

00x0000016D

0moveax,[ebp+8]

0x0000016D

00x0000016D

0x0040108B

cmpeax,0x16D

0x0000016D

00x0000016D

4.参考答案:正确输入365,参数通过栈传递(cdecl调用约定),flag{X86_Reg_Stack_Pass_365}

题目2:x64寄存器参数传递(难度:???)

题目描述:给定Linux64位可执行文件reg_x64_param,程序采用x64架构默认调用约定传递参数,输入正确的字符串(长度为5)即可输出flag。请使用GDB+pwndbg跟踪函数调用过程,分析寄存器传递的参数值,推导正确输入。

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

答题要求:1.说明x64架构下前4个整数/指针参数的传递寄存器;2.提交跟踪过程中RCX、RDX、RSI寄存器的关键值;3.写出正确输入字符串及flag。

标准答案与解析

1.核心考点:x64架构SystemVAMD64ABI参数传递规则、GDB寄存器跟踪命令。

2.关键知识:x64架构下,前4个整数或指针类型参数依次通过RCX、RDX、RSI、RDI寄存器传递,后续参数通过栈传递。

3.跟踪与解题步骤:

①启动GDB调试:执行gdb./reg_x64_param,加载pwndbg插件(source/path/to/pwndbg/pwndbg.py)。

②设置断点:定位验证函数check_str,执行bcheck_str,然后run启动程序,输入测试字符串“abcde”。

③寄存器跟踪:程序断在check_str入口,执行reg命令查看寄存器值,核心信息如下:

-RCX:0x7fffffffe450(指向输入字符串

文档评论(0)

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

.

1亿VIP精品文档

相关文档