写点什么

逆向工程系列第三篇:二进制分析与破解实战

作者:qife
  • 2025-08-04
    福建
  • 本文字数:500 字

    阅读完需:约 2 分钟

逆向工程系列(三)

第一部分


第二部分


这是逆向工程系列教程,我们将共同学习 RE 技术。欢迎提出建议。文末提供二进制文件。

工具清单

  • file

  • ltrace

  • strings

  • gdb

  • ida64

  • Ghidra

  • readelf

二进制分析

输入输出分析

通过fileltrace命令进行基础分析

字符串分析

使用strings命令三次扫描提取关键字符串

readelf 分析

通过 readelf 发现二进制使用了以下函数:


  • printf

  • fdopen

  • fclose

  • memset

  • exit

  • fgetc

IDA Pro & Ghidra 分析

现在我们将使用 IDA Pro 和 Ghidra 进行深入分析。


汇编代码摘要:


  1. 打印"?"提示符

  2. 创建 stdin 流并传递给 sub_4006c0 函数

  3. 如果 sub_4006c0 使 rdx 归零,则进入下一代码块

  4. 重复步骤 1 两次

  5. 将 sub_4006c0 调用结果存入 dword 变量

  6. 若 fun_checker 返回 0 给 rax,即可获得 flag


fun_checker 函数验证以下方程:


我们需要解这个线性方程组来获取a,b,c的值
复制代码


sub_4006c0 函数应输出-8, -3, 13。由于逻辑较复杂,我们借助 Ghidra 分析发现该函数实际检查输入的十六进制值。

破解二进制

将-8, -3, 13 转换为十六进制:


  • -8 → FFFFFFF8

  • -3 → FFFFFFFD

  • 13 → D


如果觉得有用请点赞,关注我获取更多黑客知识。


使用以下命令重建文件:


base64 -d x3.base64 > viewuser
复制代码


更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码


办公AI智能小助手


用户头像

qife

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
逆向工程系列第三篇:二进制分析与破解实战_逆向工程_qife_InfoQ写作社区