P-1.4.4 A_1_OWwg 1/25报告——OW自瞄的简易实现

本文档记录了作者在实现守望先锋(OW)自瞄功能的过程中,通过研究fraps和OBS软件,从显存提取游戏图像的技术。尽管初期遇到困难,但最终通过OBS的dll注入和API拦截成功截图。自瞄功能采用300x300窗口定位在屏幕右下角,代码已进行部分优化,但仍存在找色效率低的问题。随着OW的更新,现在可以直接截图,不再需要OBS辅助。

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

一、A_1_OWwg 1/25报告:
由于守望先锋非训练模式不允许截图
需要寻找解决方法:

1.想到可以直接从显存提取数据
前天,由于语文不好以为OpenGL可以用于截图
昨天试图寻找从DirectX提取数据的方法
今天凌晨:
发现想要实现深层次的功能还是得要用C语言

发现fraps软件可以用dll注入+api拦截的方式进行截图,成功截到了OW的游戏图像

寻找类似fraps的开源软件找到OBS软件。OBS可以用dll注入+api拦截的方式进行截图(这个功能是基于C语言并且开源的),成功获得OW的游戏图像。

总结,这两天花了大量的时间在这个问题上,不知道值得不值得,不知道应不应该学会放弃。

二、OW自瞄的简易实现

简易指的是:由于我不会使用C语言,所以我将直接对OBS进行浅层次的利用。

即使不对这个开源软件进行定制,OBS也是一个相对灵活的软件。我可以比较自由地调整它输出图像在其UI中的大小,位置等。

OBS配置方式如下:
1.窗口始终置顶
这里写图片描述

2.捕捉游戏进程
这里写图片描述

3.将窗口置于右下角(用windows的MouseKey功能来微调),显示一个300x300的窗口(调整OBS使屏幕中心300x300的区域1:1地映射到这个300x300的窗口中)

<think>好的,我现在需要解决用户的问题,就是在CentOS/RHEL 7上安装conntrack-tools-1.4.4时遇到的依赖缺失问题,具体是缺少libnetfilter_cthelper.so.0和libnetfilter_cttimeout.so.1这两个库。首先,我得确定这两个库属于哪个软件包。 根据经验,这类库通常属于libnetfilter_cthelper和libnetfilter_cttimeout这两个包,或者是它们的某个版本。不过CentOS/RHEL默认的仓库可能没有这些包,或者版本不匹配。用户可能已经尝试用yum安装,但找不到,所以需要添加额外的仓库,比如EPEL或者其他的第三方源。 先检查EPEL仓库是否已经启用。EPEL(Extra Packages for Enterprise Linux)为CentOS/RHEL提供了额外的软件包。如果用户没有安装EPEL,可能需要先安装EPEL。安装EPEL的命令是yum install epel-release。 然后,使用yum provides命令查找包含这两个库的软件包。例如,运行yum provides */libnetfilter_cthelper.so.0,看看是否有结果。如果EPEL中有这些包,用户就可以直接安装。 如果EPEL中没有,可能需要从其他来源获取,比如RPMFind.net或者第三方仓库。不过手动下载和安装RPM包可能存在依赖问题,需要谨慎处理。例如,找到对应的RPM包后,使用rpm -ivh来安装,但要注意依赖顺序。 另外,用户提到的conntrack-tools-1.4.4可能需要更高版本的库,而CentOS 7默认的库可能较旧。这时候可能需要升级系统或者寻找兼容的版本。此外,检查是否启用了正确的仓库,比如确保EPEL已经启用,或者考虑使用其他仓库如elrepo。 如果所有方法都无效,可能需要编译源代码。从libnetfilter的官方网站下载源码,编译安装。但这种方法可能比较复杂,需要安装开发工具和依赖项,比如gcc、make、autoconf等,以及相关的开发包如libmnl-devel。 最后,安装完依赖后,再尝试安装conntrack-tools,应该可以解决依赖问题。同时提醒用户注意依赖冲突,特别是在使用第三方仓库时,避免破坏系统稳定性。</think>### 解决 RPM 安装 conntrack-tools 依赖缺失问题 在 CentOS/RHEL 7 上安装 `conntrack-tools-1.4.4` 时,若遇到缺少 `libnetfilter_cthelper.so.0` 和 `libnetfilter_cttimeout.so.1` 依赖的问题,可以通过以下步骤解决: --- #### **步骤 1:确认依赖所属软件包** 缺失的依赖文件属于 `libnetfilter_cthelper` 和 `libnetfilter_cttimeout` 库。 在 CentOS/RHEL 7 中,默认仓库可能未包含这些库,需通过以下方式安装: --- #### **步骤 2:启用 EPEL 仓库** EPEL(Extra Packages for Enterprise Linux)提供额外的软件包支持: ```bash $ sudo yum install -y epel-release ``` --- #### **步骤 3:安装缺失的依赖库** 1. **安装 `libnetfilter_cthelper` 和 `libnetfilter_cttimeout`**: ```bash $ sudo yum install -y libnetfilter_cthelper libnetfilter_cttimeout ``` 2. **验证安装结果**: ```bash $ ls /usr/lib64/libnetfilter_cthelper.so.0 $ ls /usr/lib64/libnetfilter_cttimeout.so.1 ``` --- #### **步骤 4:安装 conntrack-tools** 安装依赖后,重新尝试安装 `conntrack-tools`: ```bash $ sudo yum install -y conntrack-tools ``` --- #### **替代方案:手动下载 RPM 包** 若通过仓库安装失败,可从 [RPMFind](https://rpmfind.net/) 手动下载并安装: 1. 下载对应版本的库: ```bash $ wget [URL_of_libnetfilter_cthelper.rpm] $ wget [URL_of_libnetfilter_cttimeout.rpm] ``` 2. 强制安装(可能需解决其他依赖): ```bash $ sudo rpm -ivh --nodeps libnetfilter_cthelper*.rpm $ sudo rpm -ivh --nodeps libnetfilter_cttimeout*.rpm ``` --- #### **注意事项** 1. **依赖冲突**:手动安装可能引发依赖冲突,建议优先通过仓库解决。 2. **版本兼容性**:确保 `libnetfilter_ct*` 版本与 `conntrack-tools-1.4.4` 兼容。 3. **系统更新**:更新系统仓库缓存: ```bash $ sudo yum clean all && sudo yum makecache ``` --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值