CTF-RE-学习记录-汇编

本文记录了CTF逆向工程中的汇编学习,重点介绍了八进制和十六进制的运算,特别是数据宽度对存储的影响,以及有符号数的原码、反码和补码编码规则。通过4+5和4-5的运算过程,详细解释了二进制加减法的实现,帮助理解补码表示法在计算中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

八进制运算

加法表

1+1=2
1+2=3 2+2=4
1+3=4 2+3=5 3+3=6
1+4=5 2+4=6 3+4=7 4+4=10
1+5=6 2+5=7 3+5=8 4+5=11 5+5=12
1+6=7 2+6=10 3+6=11 4+6=12 5+6=13 6+6=14
1+7=10 2+7=11 3+7=12 4+7=13 5+7=
### 塔易 CTF 逆向工程 Easy RE 题目分析 #### 背景介绍 在处理塔易CTF中的Easy RE题目时,通常涉及对给定二进制文件进行静态和动态分析。这类题目旨在考察参赛者对于程序结构的理解以及如何通过逆向工程技术找到隐藏的关键信息或算法[^1]。 #### 工具准备 为了有效地解决此类问题,建议准备好如下工具: - IDA Pro 或 Ghidra 进行静态反汇编与调试; - Python 结合 Capstone 库用于编写自动化脚本辅助解析; - Hopper Disassembler (适用于 macOS 用户); #### 初步探索 打开目标可执行文件后,在IDA Pro中加载该文件并观察其入口点函数(main或其他),注意任何可疑字符串、API调用模式等特征。这些线索往往指向验证机制的核心部分[^2]。 #### 动态跟踪 如果遇到难以理解的复杂逻辑,则可以借助GDB(PEDA/GEF扩展更佳)设置断点逐步单步执行指令流,监视寄存器状态变化及内存读写行为。此过程有助于发现输入参数传递规律及其后续处理方式。 #### 多重加密破解 当面对存在多层加密的情况时,需特别留意各阶段密钥派生方法与数据流向关系。尝试从最外层开始逐级剥离保护措施直至触及底层明文内容为止。在此期间务必记录下每一步转换规则以便最终构建完整的解码流程图。 ```python from capstone import * def disassemble_code(binary_data, arch=CS_ARCH_X86, mode=CS_MODE_32): md = Cs(arch, mode) for i in md.disasm(binary_data, 0x1000): # Assuming code starts at address 0x1000 print(f"0x{i.address:x}:\t{i.mnemonic}\t{i.op_str}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值