Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: バグ報告
description: XInputXFire の動作不良・不具合を報告する
title: "[Bug] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
バグ報告ありがとうございます。事前に README の
[トラブルシューティング](https://github.com/mayaqf/XInputXFire/blob/main/README.md#トラブルシューティング診断ログ) と
[対応ゲームの条件](https://github.com/mayaqf/XInputXFire/blob/main/README.md#対応ゲームの条件) をご確認ください。

- type: input
id: game
attributes:
label: 対象ゲーム名
placeholder: "例: 某14(dx11)"
validations:
required: true

- type: dropdown
id: dll
attributes:
label: 配置した XInput DLL 形態
description: README の配置手順で選んだ形態
options:
- xinput1_3.dll (1.3 形態)
- XInput9_1_0.dll (9.1.0 形態)
- xinput1_4.dll (1.4 形態)
- 不明
validations:
required: true

- type: dropdown
id: bit
attributes:
label: ゲームプロセスのビット
options:
- 64bit
- 32bit
- 不明
validations:
required: true

- type: input
id: os
attributes:
label: OS
placeholder: "例: Windows 11 Home 26200"
validations:
required: true

- type: textarea
id: log
attributes:
label: 診断ログ (%TEMP%\XInputXFire_xinput.log) の内容
description: >
ファイルを開いて内容をそのまま貼り付けてください。
[STICKYINIT] 1行のみで後が続かない場合でも構いません。
ログが無い場合は「ログ無し」と記載してください。
render: shell
validations:
required: true

- type: textarea
id: expected
attributes:
label: 期待する挙動
validations:
required: true

- type: textarea
id: actual
attributes:
label: 実際の挙動
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: README・対応ゲームの条件
url: https://github.com/mayaqf/XInputXFire/blob/main/README.md
about: 連射が効かない場合は README の「対応ゲームの条件」「トラブルシューティング」を先にご確認ください。
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: 機能要望
description: 新機能や改善の提案
title: "[Feature] "
labels: ["enhancement"]
body:
- type: textarea
id: summary
attributes:
label: 要望の概要
description: どのような機能・改善を望むかを簡潔に記載してください。
validations:
required: true

- type: textarea
id: motivation
attributes:
label: 動機・ユースケース
description: なぜその機能が必要か、どのような場面で使いたいかを記載してください。
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: 検討した代替案
description: 既存の設定(ini)で代用できないか検討した内容があれば記載してください。
validations:
required: false
25 changes: 25 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- name: Configure (x64)
run: cmake -S . -B build -A x64

- name: Build (Release)
run: cmake --build build --config Release

- name: Test (xfire_unit)
run: ctest --test-dir build --build-config Release --output-on-failure
44 changes: 44 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Release

on:
push:
tags:
- 'v*'

permissions:
contents: write

jobs:
release:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- name: Configure & build (x64)
run: |
cmake -S . -B build-x64 -A x64
cmake --build build-x64 --config Release
ctest --test-dir build-x64 --build-config Release --output-on-failure

- name: Configure & build (x86)
run: |
cmake -S . -B build-x86 -A Win32
cmake --build build-x86 --config Release
ctest --test-dir build-x86 --build-config Release --output-on-failure

- name: Stage release assets
shell: bash
run: |
mkdir -p staging
cp build-x64/Release/xinput1_3_x64.dll staging/
cp build-x64/Release/XInput9_1_0_x64.dll staging/
cp build-x86/Release/xinput1_3_x86.dll staging/
cp build-x86/Release/XInput9_1_0_x86.dll staging/
cp assets/XInputXFire.ini staging/
ls -la staging

- name: Upload to GitHub Releases
uses: softprops/action-gh-release@v2
with:
files: staging/*
generate_release_notes: true
39 changes: 39 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# セキュリティポリシー

## 報告の対象

XInputXFire プロキシDLL本体、および設定ファイル(`XInputXFire.ini`)の解析処理に関する **セキュリティ脆弱性** を報告対象とします。

例:
- バッファオーバーフロー / 整数オーバーフロー
- DLL ローダの自己再帰・無限ループ
- DLL 検索順序のハイジャック可能性
- 設定値の silent failure による意図しない連射発動
- 診断ログのパス構築に関する境界バグ

## 報告の対象外(Issue へお願いします)

以下は脆弱性ではないため、通常の Issue で報告してください:

- **特定のゲームで連射が効かない** → [対応ゲームの条件](README.md#対応ゲームの条件) を参照のうえ Issue へ(多くはゲームが XInput 経由で入力を取得していない非対応ケースです)
- 機能要望・設定項目の追加
- ビルド手順・配置手順に関する質問

なお、**アンチチートへの検出回避方法の要請は本プロジェクトの対象外**です。お応えできません。

## 報告方法

GitHub の **Security Advisories(非公開脆弱性報告)** を使用してください。

1. リポジトリの [Security] タブ → **Report a vulnerability** を選択
2. 影響範囲・再現手順・推奨される対策を記載

報告を受けた後、公開前に修正方針を協議します。報告者がクレジット非掲載を希望しない限り、修正後に報告者をクレジット表記します。

## 注意事項(自己責任)

本ツールは対象ゲームの exe と同じフォルダにプロキシDLL(`xinput1_3.dll` 等)を配置し、XInput API 呼び出しを横取りする方式です。

- **オンラインゲームでの使用は自己責任**です。プロキシDLL方式は XInput Plus / x360ce と同様にアンチチートに検出される可能性があります。
- `C:\Windows\System32` / `SysWOW64` には DLL を配置**しないでください**(自己再ロードによる無限再帰のリスク)。プロキシDLLはゲームexeと同フォルダにのみ配置してください。
- 本ツールは個人の学習・研究目的、および許可された環境での使用を想定しています。
Loading