
MP4/MKVファイルにファイルを埋め込む
ファイルをMP4/MKVファイルに隠写(ステガノグラフィー)します
「拡張子」という言葉の意味を理解した上で、以下のチュートリアルをご覧ください。理解できない場合は、まず「拡張子の変更方法」を検索してください
拡張子を変更しても MP4 のままなら、拡張子の表示が有効になっていないということです。その場合は引き続き上記の内容を検索してください
解凍できない(|どうして動画なの?|パスワードエラー|ファイル破損|分割が必要|など)
MP4 の拡張子を .zip に変更して WinRAR で解凍
MP4 の拡張子を .zip に変更して WinRAR で解凍
MP4 の拡張子を .zip に変更して WinRAR で解凍
隠写者の簡単な使用説明
本ソフトウェアは、ファイルやフォルダを圧縮パッケージにした上で MP4/MKV 動画の中に「隠して」動画に偽装します。この操作を隠写と呼び、動画に偽装された圧縮パッケージを隠写ファイルと呼びます。
生成された隠写動画は、プレーヤーで再生すると普通の動画に見えます。しかし、拡張子を .zip に変更すれば、解凍ソフトウェアを使って中に隠されたファイルを抽出できます。
2つの操作モードに対応しています:
よくある解凍方法:
.zip に変更するだけで解凍できます(WinRAR6 推奨)。# モードで開くか、コマンドラインで解凍します。補助機能:
modules/PW.txt に使用頻度の高いパスワードを1行ずつ書いておくと、隠写解除時にプログラムが自動で照合を試みるため、手動入力が不要です。その他の隠写解除方法(お使いの解凍ソフトに合わせて該当する項目をご覧ください)
2025/06/28 更新 1.3.1 バージョン
新しい作業モード mp4(zarchiver) を追加しました。このモードで生成された隠写ファイルは、zarchiver や 解TMD压 など圧縮ファイルを先頭からスキャンする解凍ソフトでは解凍できますが、末尾からスキャンする WinRAR では解凍できません。状況に応じて使い分けてください。
作者:层林尽染
本プログラムは、ファイルやフォルダを動画ファイルに隠写したり、動画ファイルから隠写されたファイルやフォルダを抽出したりできます。コマンドラインインターフェース (CLI) とグラフィカルユーザーインターフェース (GUI) の2つのモードに対応しています。
GUI モード:【推奨】プログラムをダブルクリックし、引数なしで直接実行します。GUI の使い方の詳細はデモ動画をご覧ください。
CLI モード:以下の引数を使用してプログラムを実行します:
-i, --input 入力ファイルまたはフォルダのパスを指定します。パラメータラベルを使用しない場合、プログラムは最初の未知の引数を入力パスとみなします。
-o, --output 1. 出力ファイル名(拡張子を含む)を指定 [または] 2. 出力パスを指定(デフォルトは元のファイル名 + "_hidden.mp4/mkv")。
-p, --password パスワードを設定(指定しない場合はパスワードなし)。
-t, --type 出力ファイルタイプを設定(デフォルトはmp4)。mp4 と mkv の2形式に対応。
-c, --cover シェルとなるMP4動画を指定(指定しない場合、プログラムは以下の順序で検索:
- プログラムと同じディレクトリのcover_videoフォルダ内
- プログラムが置かれているディレクトリ内
- 入力ファイルまたはディレクトリが置かれているディレクトリ内)
-r, --reveal 隠写の解除を実行(入力ファイルが隠写ファイルでない場合は何もしない)
ファイルの隠写:
python Steganographier.py -i "input.txt" -o "output.mp4" -p "password" -t "mp4" -c "cover.mp4"
python Steganographier.py -i "input.txt" -o "outputFolder" -p "password" -t "mp4" -c "cover.mp4"
フォルダの隠写:
python Steganographier.py -i "inputFolder" -o "outputFolder" -p "password" -t "mp4"
python Steganographier.py -i "inputFolder" -o "output.mp4" -p "password" -t "mp4"
隠写の解除・ファイル抽出:
python Steganographier.py -i "input.mp4" -r -p "password"
入力ファイルのみを指定した場合、デフォルト設定が使用されます:
python Steganographier.py "input.txt"
_hidden.mp4/mkv となります。_hidden.mp4/mkv となります。cover_video フォルダcover_video フォルダを探します。そのフォルダが存在する場合、プログラムはその中で .mp4 ファイルを検索します。存在しない場合はこの手順をスキップし、他の場所を検索し続けます。Full Changelog: https://github.com/cenglin123/SteganographierGUI/compare/v1.1.0...v1.1.1
秒传(インスタント転送)リンクの失効後に、国内ネットディスクのリソース共有の安全性を探るため、本稿では MP4 ファイルをシェルとするファイル隠写方法を紹介し、ストレステストを実施してその有効性を初步的に実証しました。同時に、隠写技術を使用する際のいくつかの経験と使用上のアドバイスも共有しています。さらに制御変数テストにより、コメント欄での絨毯爆撃的な炸链のメカニズムを検証し、その原因が悪意ある通報であると結論づけました。これにより、隠写ファイルの利点:①オンライン解凍ができない、②違反しても異議申し立てができる、を実証しました。その後、百度网盘(Baidu Netdisk)の審査メカニズムと通報の原理について議論し、悪意ある通報に対処するためのいくつかの戦略を提案しました。
本プログラムのコードは GitHub でオープンソースとして公開されています。ご提案があれば、お気軽に issue をお立てください。
現在、中国国内の各ネットディスクの審査ポリシーはますます厳しくなっており、共有リンクが炸链される可能性はますます高まっています。
従来は、パスワード付きの多層圧縮パッケージ/分割圧縮パッケージを用いて審査の問題に対処してきました。この方法は非常に面倒で、層数が多くファイルが大きい場合、頻繁な解凍によるハードディスクへの負担も無視できません。この問題をめぐって、これまでネットディスクの特性を利用した秒传のソリューションがいくつか生まれましたが、ネットディスクのポリシーが厳しくなるにつれ、これらの方法のほとんどは失効するか、名ばかりで実質を失っています。
秒传方式が失効して以降、国内ネットディスクを利用したリソース共有は再び暗号化圧縮パッケージの形式に戻りました。共有者は避けられずネットディスクの共有・審査システムと関わることになり、さらに共有リンクを通報する**リソース転売者(倒狗)**が横行し、炸链が再び頻発するようになりました。時には絨毯爆撃的に発生することもあり、共有環境は日増しに悪化しています。
以上のことから、より隠蔽性が高く安全なデータ転送方法の研究と開発が非常に重要になっています。このような困難な状況の中、本稿で紹介するファイル隠写技術は、ポスト秒传時代の安全な共有の新たなソリューションとなることが期待されます。
本プログラムは仓库の記事(以下、記事[1]と略す)に触発され、ファイル隠写技術を利用してデータを隠し、通常の審査を回避します。
隠写技術は、データを他のメディアファイルに埋め込むことで、データの存在を通常の観察者には見えないようにし、注意を引かずに情報伝達を行うことを実現します。
隠写技術にはすでに多くの前例があります。伝統的な方法の代表が图种(画像隠写)[X7]です。これはデータを画像に埋め込み、表面は画像として見えるものの、拡張子を変更すると解凍して隠しデータを取得できるというものです。
图种の原理は以下の通りです:
copy /b "图片.jpg" + "压缩包.zip" "生成目标.jpg"
しかし、このような方法は疑念を招きやすいものです。解像度がそれほど高くない画像なのに数GBもあるうえ、ダウンロード・転送保存の記録が非常に多いというのは、あまりにも怪しいからです[1]。
そのため、偽装の有効性を考慮すると、隠写のシェルファイルとして MP4 ファイルを使用する方がより合理的です。大きな動画は大きな画像よりも疑念を招く可能性が明らかに低いからです。
私たちの目標は、隠写による偽装で怪しさを低減し、可能な限り最低限のコストで安全な共有を実現することです。なぜなら、頻繁に通報されれば、圧縮パッケージの層がどれだけ多く、パスワードがどれほど複雑でも、強く疑われている状況ではもはや手の施しようがないからです。ネットディスクにとって、復号できず大量に通報されたファイルへの最も簡単な対処は、一律に違反と判定することだからです(この実験[5]を参照)。
自然界における最善の防御は装甲を重ねることではなく、偽装である。
具体的な実装としては、ZIP形式の圧縮パッケージを、例えばスポンジ・ボブのような普通のMP4動画ファイルに埋め込みます。ファイルを MP4 形式で開くと、スポンジ・ボブの動画しか見えず、ZIP部分は見えません。一方、ファイル名を ZIP に変更すると、解凍ソフト(WinRAR など)が ZIP 部分を見つけて正常に解凍できます。これにより、低コストでのファイルの安全な共有を実現します。
記事[1]はファイル隠写のための有効なコード実装を提供していますが、この方法には簡単で使いやすい操作インターフェースがなく、その普及と展開が制限されていました。
本プログラムは記事[1]の内容を簡素化し、グラフィカルユーザーインターフェース(GUI)を備えた隠写プログラムとして開発しました。ユーザーはドラッグ&ドロップとクリック操作だけでファイルの隠写と解除を完了できます。
2024.4.24 追記:記事[2]で提案された方法に基づき、ファイルを添付ファイルとしてMKVファイルに埋め込むことも可能になりました。v1.0.2 バージョンでこのロジックを追加しました。
本プログラムは、パスワードの入力とファイルのドラッグ&ドロップにより、ファイルの隠写と解除を直接行うことができます。
プログラムには以下の特徴があります:
(1) 一体型:隠写と隠写の解除の両方を同じインターフェースで行えます。プログラムの全体的な効率と利便性が向上しています。
(2) ドラッグ&ドロップ機能:指定エリアへのファイルやフォルダのドラッグ&ドロップに対応し、ファイル選択のプロセスを簡素化します。
(3) 汎用性:生成された隠写MP4ファイルは、拡張子を手動で変更して解凍でき、本プログラムの使用は必須ではありません。
(4) パスワード保護:必須パスワードを入力しなければ隠写または隠写解除の操作ができません。 v1.0.6 以降はパスワードを指定しなくても可能になりました。
(5) CLI 呼び出し: ターミナルウィンドウでコマンド操作が可能で、他のアプリケーションからサードパーティプログラムとして呼び出すこともできます(1.1.0バージョン更新)
(6) 右クリックメニュー統合:マウスの右クリックメニューに統合でき、一般的な圧縮ソフトと同様の操作ロジックで使用できます(1.2.0バージョン更新)
デモ動画
GUI画面
ハッシュ改変ツールの適用シーンは、伝火(リソースの受け渡し)・補档(再アップロード) またはネットディスクへの規制対象ファイルのアップロード の前処理です。アップロード前にハッシュ値を変更して、炸链が元の共有ファイルに波及するのを防ぐ必要があります。
ハッシュ改変の原理は隠写に似ています。ファイルの末尾に1バイトのランダムデータを貼り付けることで、ファイルのMD5値を変化させます。
なお、隠写者自体が自動的にハッシュのランダム化処理を行うため、元のファイルが同じでも、毎回生成される隠写ファイルのハッシュ値は異なります。通常の隠写ファイル作成ではハッシュ値を考慮する必要はありません。
認証コード生成ツールで抽出コードを処理すると、クローラーにリンクを取得されるのを防げます。
例は以下の通りです:
v1.2.0 バージョンでは、ソフトウェアを右クリックメニューに統合できるインストールスクリプトとアンインストールスクリプトを追加しました。管理者として 01-安装隐写者到右键菜单.cmd を実行してください。削除する場合は 02-移除隐写者右键菜单.cmd を実行します。スクリプトは、インストールパスにスペース、中国語、! などの特殊文字が含まれていても対応しています。機能は CLI モードに基づいています(デフォルトでは cover_video フォルダ内の最初の動画を選択)。現時点ではパスワードの処理や動画の選択などの詳細な操作には対応していません。こうした操作が必要な場合は、右クリック → 隠写者GUIを開く を選択できます。
20240801-v1.2.0.1 バージョンでは、さらにハッシュ改変ツールを統合しました。
以下は詳細な操作デモです:
20240828-v1.2.1 バージョン:隠写解除ロジックにパスワードブック機能を追加しました。modules/PW.txt にパスワードを1行ずつ入力するだけで、隠写解除時にプログラムがパスワードブック内を検索して解凍を試みます(CLIモードと右クリックメニューにも対応)。[解TMD压](https://cangku.moe/archives/