布団が俺を呼んでいる

丘山大一のぶろぐ

ダウンロードしたファイルのアレについて


昔調べたんですけど、記事にしていなかったので記事にしました。


アレ

コレ。

大体何も考えずに「許可する」を選択して閉じるヤツです(セキュリティ意識の欠如という大問題)。


正体について

ファイルシステムであるNTFSにおける代替ストリームです。
といってもなんのこっちゃですね。
ざっくり言ってしまえば、実態となるファイルに追加で情報を入れられます。上の画像は「セキュリティ情報を付加されたファイル」ということになります。
ファイルのプロパティからでは機能の具体的な名称が分からないので調べづらいですが、「NTFS」「代替ストリーム」あたりをキーワードにweb検索すれば色々ヒットします。


詳細を見る

コマンド
dir /r
で簡単に見られます。


二行目のコロン「:」の後にくっついているのがソレです。
ここでは「Zone.Identifier」がくっついている、ということが分かります。が、DATAの中身が分かりませんので、今度はpowershell を使って中身を見ます。


こうすると色々見えてきます。
[ZoneTransfer]の
ZoneIdに3がセット
HostUrl にはダウンロード元のアドレスがセット
されていることが分かります。
ZoneId は列挙体であり、コチラhttps://docs.microsoft.com/ja-jp/dotnet/api/system.security.securityzone?view=netframework-4.7.2に詳細が書かれています。


Windowsファイルシステムなので

代替ストリームはxcopyによるコピーや、エクスプローラ上でのコピーによっても引き継がれます。
WSLでコピー(cp)した場合は引き継がれません。
どのファイルシステムが管理しているか、どのようにファイルが作成されたかによって代替ストリームが残るかどうかが決まってしまうので、重要な情報は基本的におけません。ちょっとした追加情報を残すことにとどめることになると思います。


追加できるデータについて

実は好き勝手に追加できます。


遊んでみようと思えば遊べるかと。
日本語も入れられます。一文字ごとに3バイト増えるようなので、内部的にはunicode? なのかな。


オマケ:AD環境について

最新のADは分かりませんが、以前確認したところ「ゾーン情報を削除する方法を非表示にする」というグループポリシーがありました。
AD配下のマシンでゾーン情報が出てこない場合はこれが有効になっているのかもしれません。


ポストイット 付箋 強粘着 ノート 50x50mm 90枚x5個 蛍光 650-5SSAN

新品価格
¥677から
(2019/2/21 14:49時点)

コメントを書く

布団が俺を呼んでいる | プログラミング

布団が俺を呼んでいる

丘山大一のぶろぐ

VBAのプロシージャ呼び出しの括弧のまとめ

VBAでプロシージャ呼び出しの際、引数に括弧をつけるのかつけないのか・つけたらどうなるのかが異様に分かりづらかったので真面目に調べました。というか自分の整理のためにまとめました。参考にさせて頂いたのは [もっと読む]

.Net Core で GetObject したいのですが

どうすればいいざんしょ?経緯.Net Core がWPF 対応したことだし、手元の古いアプリの移行可能性を検討しようと思い立つ。で、そのアプリはサードパーティのComライブラリを呼び出している。で、既 [もっと読む]

PowerShell 二行を一行にまとめる

自分メモ。うまく言えないんですが、aaabbbcccdddというテキストをaaa bbbccc dddに変換してファイル出力する感じ。こんなん$originalFilePath="hogehoge.t [もっと読む]

nodejs勉強した頃の開発環境(備忘)

あまりにもWeb系世界が不得手だったので、コッソリとnodejsを勉強していた時がありました。この本↓色々勉強にはなったのですが、nodejsはあんまり肌にあってない感じある。でもせっかくなので記録は [もっと読む]

デスクトップブリッジでストアに提出

これまた「ぷるまど」開発で経験したことまとめ。2018年7月現在の、WPFアプリをUWP化し、ストアに提出する時のやり方となります。条件元のアプリはWPF(WinFormsでも同じはず)ストアに提出す [もっと読む]

他のアプリケーションウィンドウを操作する

この前出した「ぷるまど」の内部実装の話。やっぱWinAPIだよね他のアプリケーションを操作する場合、基本的にはウィンドウハンドルをどうやって取得するか、という問題に絞られます。プロセスが分かっている場 [もっと読む]

Python と Teonsorflowの勉強環境構築

全然やる予定の無かったPythonを勉強する環境を慌てて用意している図。ちなみに私のPythonレベルは、まだ基本構文すら暗記していないレベルです。だから難しいこと聞かないでね(予防線)Python環 [もっと読む]

Delphi 戻り値色々

関数の戻り値の指定とその時の戻り値。適当な実装をした場合、戻り値は不定になるのか? というか不定って何?というような適当実験。今回長い。その1function TForm1.Hoge: string; [もっと読む]

Delphi 関数の戻り値の指定方法

代表的なもの、ちょくちょく使われるもの、多分存在すら知られていないもの。下記のどれでも指定可能 [もっと読む]

画面をクリックする (マウスクリック)

珍しく全力で仕事したせいで、指が痛い……。というわけで、指を使わなくても自動でクリックするためのプログラム。※自分メモ。using System.Runtime.InteropService [もっと読む]