当前位置: 首页 > news >正文

OutGuess 安装与问题排查指南(Kali Linux 环境)

OutGuess 安装与问题排查指南(Kali Linux 环境)

本文档基于实际操作流程,整理了 OutGuess 工具从下载、编译安装到常见问题解决的完整步骤,适用于 CTF 隐写术场景下的工具配置需求。

一、工具简介

OutGuess 是经典隐写术工具,主要用于在 JPEG/PPM 图像 中隐藏 / 提取数据,支持密码加密,且能修复图像统计特征以降低检测概率,是 CTF 隐写题常用工具之一。

二、安装前准备

1. 依赖工具清单

安装 OutGuess 需先配置编译环境和依赖库,核心依赖如下:

依赖包名 作用 安装命令
build-essential 提供 GCC 编译器、make 等编译工具 sudo apt install build-essential
libjpeg-dev JPEG 图像编码 / 解码库(OutGuess 核心依赖) sudo apt install libjpeg-dev
git/wget 下载源码(二选一) sudo apt install git wget

三、完整安装步骤

步骤 1:下载 OutGuess 源码

推荐两种下载方式,避免 Git TLS 握手问题:

方式 1:直接下载 ZIP 包(推荐,绕开 Git 代理问题)

# 进入下载目录
cd ~/下载
# 下载源码 ZIP 包
wget https://github.com/crorvick/outguess/archive/refs/heads/master.zip
# 解压
unzip master.zip
# 进入源码目录
cd outguess-master

方式 2:Git 克隆(需解决代理问题)

若需通过代理克隆,可单独设置环境变量:

# 单独为 Git 设置 SOCKS5 代理(替换为你的代理地址)
ALL_PROXY=socks5://192.168.1.105:7890 git clone https://github.com/crorvick/outguess.git
cd outguess

步骤 2:编译源码(关键步骤)

情况 1:正常编译(GCC 版本 < 14)

# 1. 生成 Makefile(检查环境并配置)
./configure
# 2. 编译生成可执行文件
make
# 3. 全局安装(将 outguess 放入 /usr/local/bin)
sudo make install

情况 2:GCC 14+ 版本兼容问题(报错 implicit-int)

GCC 14 及以上默认启用 C11 标准,对「隐式 int 类型」报错,需指定兼容标准:

# 1. 清理旧缓存(若之前 configure 失败)
rm -f config.cache config.log
# 2. 强制用 GNU89 标准编译,解决隐式 int 问题
CFLAGS="-std=gnu89" ./configure
# 3. 编译并安装
make && sudo make install

情况 3:绕过 configure 直接编译(备用方案)

若 ./configure 始终失败,可直接用 GCC 编译所有源码文件:

# 直接编译所有 .c 文件,链接 JPEG 库和数学库
gcc -o outguess outguess.c jpg.c arc.c golay.c fourier.c histogram.c iterator.c pnm.c -ljpeg -lm
# 手动全局安装
sudo cp outguess /usr/local/bin/
sudo chmod +x /usr/local/bin/outguess

步骤 3:验证安装

# 检查是否全局可用
outguess -h
# 若输出帮助信息,说明安装成功

四、常见问题排查

问题 1:configure 报错「C compiler cannot create executables」

报错日志关键信息

configure: error: installation or configuration problem: C compiler cannot create executables.
config.log 显示:error: return type defaults to 'int' [-Wimplicit-int]

原因

GCC 14+ 版本默认标准不支持「隐式 int 函数返回类型」,与旧版 configure 脚本不兼容。

解决

参考「步骤 2 - 情况 2」,用 CFLAGS="-std=gnu89" 指定编译标准。

问题 2:Git 克隆时 TLS 握手失败

报错信息

致命错误:无法访问 'https://github.com/crorvick/outguess/':GnuTLS, handshake failed: TLS 链接非正常地终止了。

原因

代理不稳定或 HTTPS 协议兼容性问题。

解决

  1. 改用 ZIP 包下载(见「步骤 1 - 方式 1」);

  2. 或用 SSH 克隆(需配置 GitHub SSH 密钥):

git clone git@github.com:crorvick/outguess.git

问题 3:编译时缺少 JPEG 库

报错信息

undefined reference to 'jpeg_std_error'

原因

未安装 libjpeg-dev 依赖库。

解决

sudo apt install libjpeg-dev

问题 4:命令行提示「zsh: command not found: outguess」

原因

  1. 未执行 sudo make install,可执行文件未放入系统 PATH;

  2. 手动编译后未将 outguess 复制到 /usr/local/bin。

解决

# 若手动编译,执行以下命令全局安装
sudo cp outguess /usr/local/bin/
sudo chmod +x /usr/local/bin/outguess

五、OutGuess 基础使用

安装成功后,可直接在任意目录使用以下命令:

功能 命令示例
提取隐藏数据 outguess -k "密码" -r 隐写图片.jpg 输出文件.txt
隐藏数据 outguess -k "密码" -d 待隐藏文件.txt 原始图片.jpg 隐写图片.jpg
查看帮助 outguess -h

六、相关工具推荐(CTF 隐写场景)

工具 用途 安装命令
steghide JPG/BMP/WAV 隐写提取 sudo apt install steghide
binwalk 提取文件中隐藏的压缩包 / 二进制 sudo apt install binwalk
zsteg PNG/BMP 的 LSB 隐写检测 sudo apt install zsteg
Sonic Visualizer 音频频谱分析(找隐藏文字 / QR) sudo apt install sonic-visualiser
http://www.sczhlp.com/news/100373/

相关文章:

  • 拓展操作码举例
  • TryHackMe | Cicada-3301 Vol:1
  • 计算机网站建设职业群宣讲家网站官网加强作风建设
  • 苏州模板建站定制演示网站怎么做
  • 海外社交网站开发apache 安装 wordpress
  • 万网域名绑定到其它网站网站建设与规划论文
  • 万业网网站建设审核河口区建设工程招标网站
  • 小额贷网站建设中国中铁建设集团门户网登录
  • 上海建设工程 U盘登录哪个网站做书的网站有哪些内容
  • 响应式网站模板 开源沈阳大型网站设计公司
  • 网站建设的产品类型是什么山西太原建站哪家强
  • 网站制作公司排名前十从哪里找网络推广公司
  • 河北省建设机械协会官方网站国外网站如何建设
  • 完整教程:Word添加图/表题注
  • 网站建设工作的函wordpress 简洁
  • 西安电子商务网站建设网易网站建设
  • 广州网站建设开发汕头站扩建效果图
  • 可以做宣传的网站长沙建网
  • 织梦网站建设后优化步骤网站建设标准流程
  • 百度网站推广咨询网络购物系统属于什么系统
  • 城乡与住房建设部网站随手app广告怎么关闭
  • 怎么给网站做域名重定向怎么用网站模板
  • 做的电影网站很卡石家庄展厅设计公司
  • 自己做服务器和网站wordpress选项卡分页
  • 太原网络营销网站网店代运营公司有哪些
  • 江苏省高职重点专业群建设网站百度seo软件是做什么的
  • 网站需求分析是在建站的什么阶段做的_为什么要做?安卓原生app开发工具
  • dz做分类网站东莞市seo网络推广价格
  • CF819B Mister B and PR Shifts
  • 第一次自我介绍