吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1204|回复: 11
收起左侧

[CTF] 【基础TASK汇报】TASK 3

[复制链接]
TokyoAio 发表于 2025-11-18 20:09

TASK 3

0x00 初始汇编

  • 汇编的基本语法:用简单的英文单词控制CPU的语句

    • 结构:[标签]   指令   操作数1, 操作数2   ; 注释
    • 三大核心结构
    • 指令+操作数
      • 格式:指令  目标,  源
      • mov 移动(赋值)
      • add  加法
      • sub 减法
      • cmp 比较
      • jmp 跳转
      • call 调用函数
      • ret 返回
    • 标签(label):给一段代码命名
    • 注释(comment):用“;”表示
  • 寄存器 x86(32 位):相当于CPU中的一个容器,把数据放进去后才能运算

    • 通用寄存器
    • EAX 函数返回值、加法乘法默认寄存器
    • EBX 地址基址、运算辅助
    • ECX 循环技术、shift/rep指令计数
    • EDX 乘法、除法扩展,高位数据
    • ESI 源地址(字符串/内存读取)
    • EDI 目标地址(字符串/内存写入)
    • EBP 栈帧机制指针
    • ESP 栈顶指针——指向当前栈顶的地址
    • 指令指针
    • EIP 指向下一条指令的地址
    • 标志寄存器:对运算结果进行处理
    • EFLAGS
  • 总结

    • 用英文单词表示指令
    • 每条指令操作寄存器、内存或立即数(写在指令里的常量数值)
    • 通过label来跳转
  • 栈:一种数据结构——先进后出(最后放进去的东西先拿出来)

    • 基本操作
    • 入栈:把一个数据放到栈顶
    • 出栈:把栈顶的数据拿出来
    • 查看栈项:查看当前栈顶的元素,但不移除它
    • 特性:
    • 只能在栈顶操作
    • 遵循先进后出的原则
    • 栈的大小可以有限或动态增长
    • 应用:
    • 数据调用(调用栈):程序吗调用函数的返回地址、局部变量等信息会放入栈中
    • 表达式求值
    • 撤销操作:栈用来保存历史操作
  • 汇编语言指令

    • 数据传送指令(Data Transfer Instructions)
    • MOV 移动数据
    • PUSH/POP 入栈出栈
    • XCHG 交换两个寄存器或寄存器与内存的数据
    • LEA 取地址指令,把内存地址装到寄存器里面
    • 算术指令(Arithmetic Instructions)
    • ADD/SUB 加减法
    • MUL/IMUL 无符号/有符号乘法
    • DIV/IDIV 无符号/有符号除法
    • INC/DEC 寄存器或内存加1减1
    • NEG 取负数
    • 逻辑和位操作指令(Logic and Bitwise Instructions)
    • AND/OR/XOR 按位与、或、异或
    • NOT 按位取反
    • SHL/SHR/SAL/SAR 左移/右移位操作
    • 控制转移指令(Control Transfer Instructions)
    • JMP 无条件跳转
    • JE/JZ/JNE/JNZ/JL/JG 条件跳转
    • CALL/RET 调用函数与返回
    • LOOP 循环指令,根据ECX寄存器循环
    • 比较指令(Compare Instructions)
    • CMP 比较两个操作数
    • TEST 按位与比较,不改变操作数,只影响标志寄存器
    • 字符串操作指令(String Instructions)
    • MOVSB / MOVSW / MOVSD、:移动字节、字、双字
    • CMPS / SCAS / LODS / STOS、:比较、扫描、装载、存储字符串
    • REP / REPE / REPNE:重复前面的字符串操作指令
    • 其他常用指令
    • NOP:空操作,占位用
    • INT:触发中断,用于调用系统服务
    • CLC / STC / CMC:标志寄存器的进位位操作
    • HLT:停止处理器,等待外部中断

0x01 学会使用逆向工具

  • die:程序的阻断点(用于终止程序、作为保护机制、控制程序流程)
  • 010 Editor
    • 直接编辑当前的文件的二进制(Hex编辑)(反汇编代码不能修改)
    • 模板解析结构(PE、ELF、PNG、ZIG、加密文件格式)
    • 自动解析、查看PE Header
    • 搜索字节序列(Hex)、搜索字符串、搜索正则表达式、搜索结构偏移
    • 理解:IDA是用来看和分析的,而010 Editor是用来修改的
  • 实战题中IDA使用记录
    • 思路分析
    • fake思路分析.png
    • 算法分析
    • 算法分析.png
    • 解密
    • 解密.png

0x02 虚拟机配置

  • 目前电脑系统文件可能存在错误,但是又有重要文件尚未备份,之后重装系统后会在虚拟机里面配置环境,避免现在这样的情况。

0x03 加密算法

  • TEA算法:分组密码算法

    • 特征:固定常量 0x9E3779B9(黄金分割值)
    • 流程:
    • 将64位明文分成两组32位 记为v0和v1
    • 将128位密钥分为4个32位的子密钥,在加密中反复使用
    • 32轮迭代——在每一轮迭代中进行加法和移位、移或和移位、更新、使用密钥、使用常数
    • 最终得到64位的密文
    • 缺点
    • 存在等效密钥:不同的密钥会产生完全相同的加密结果
    • 破解难度低(生日攻击):
      • 2的23次方的复杂度相对于现代密码学来说太弱了,普通PC都能跑
      • 64bit分组太小,加密大量数据时容易出现重复块
    • Key Schedule 过于简单(密钥扩散很差)
    • 常量固定(0x9E3779B9)可预测
    • 代码实现过于相似
  • xTEA算法:TEA升级版

    • 针对密钥表攻击,使用 sum 的不同位做 key 的选择,避免了原来 TEA 的机械重复
    • 安全性增强点
    • 等价密钥问题
    • 非均匀扩散和弱差分特征
    • 强化key schedule,减少weak key
    • 更复杂的轮函数
  • xxTEA算法:整体混合算法

    • 每个元素v[i]的更新依赖于v[i+1]和v[i-1]
  • 算法 类型 分组模式 问题 现状
    TEA 分组加密(64-bit) Feistel-like 等价密钥、弱扩散 不安全
    XTEA TEA 改进版(64-bit) Feistel-like 改进 key schedule,但仍 64-bit block 勉强可用
    XXTEA 全新算法(可变分组长度) 全局混合,非 Feistel 修复 Block TEA 安全性 安全性 > TEA/XTEA
  • RC4算法:流密码 (stream cipher)

    • 特征
    • 流密码:与明文逐字节XOR
    • 密钥长度可变,常见为128bit
    • 结构简单,处理速度快:KSA和PRGA
    • S盒位0~255的置换数组,通过不断交换S[i]和S[j]打乱
    • 异或元算可逆,keystream泄露会导致明文泄露
    • 破解的可能性
    • 统计攻:KSA前几个字节有统计偏差(前256字节keystream非随机)
    • keystream重复,可以异或得到明文
    • FMS攻击:WEP使用24-bit IV,非常小,导致重复频率极高
    • RC4不存在万能破解模板
    • key是随机的
    • RC4的攻击都是“场景性攻击”,不是“通用攻击”
    • 常见RC4魔改方案
    • 改KSA:换掉初始算法,原版RC4解密后错误
    • 改PRGA(生成keystream方式)
    • 换掉XOR,不使用常规异或方案
    • 隐藏key或对key洗多轮
    • 对应的处理方案
    • 静态分析代码(自动化分析处理-对比追踪变化)
      • KSA、PRGA是否改变
      • 输出是否经过其他函数
    • 跟踪变量(动态调试)



之后考虑用notion记录task,这样可以在文末留上我的notion页面,观感可能更好

免费评分

参与人数 4吾爱币 +4 热心值 +3 收起 理由
qw111111 + 1 + 1 论坛禁止求脱求破,求助软件分析思路,务必在主题帖中描述清楚你的分析思路 ...
Ac7 + 1 谢谢@Thanks!
sagasuki + 1 + 1 我很赞同!
Nine01 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

KeviseBY 发表于 2025-11-20 10:26
纯大佬,膜拜一下
mango1022 发表于 2025-11-20 10:39
ydydq 发表于 2025-11-20 10:52
push8023 发表于 2025-11-20 11:21
有感觉了,之前也逆到了一个RC4的加密,密钥Table是双方握手哈希填充生成的
sagasuki 发表于 2025-11-20 11:31
谢谢大佬分享
Ac7 发表于 2025-11-20 14:18
这个感觉有点东西的
tcyoko 发表于 2025-11-20 23:47
刚入的新手,也在练习160个crackme解题,感谢大佬的传授。
heikong 发表于 2025-11-21 00:34
谢谢大佬
慵懒丶L先森 发表于 2025-11-21 03:58
感谢分享,不明觉厉,先收藏一波,我以为是什么TASK,还是不够了解CTF
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-2-14 16:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表