問題タブ [alternate-data-stream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4360 参照

c# - この PInvoke コードは正しく、信頼できますか?

この質問では、ファイルのブロックを解除する簡単な解決策を探しました。すべてのコメントと回答のおかげで、 PInvoking による簡単な解決策を見つけましたDeleteFile

動作しますが、PInvoke (Win32) を介したファイル操作を使用したことがないため、落とし穴があるかどうか、またはDeleteFileファイルの代替ストリームを削除するための別の呼び出し方法があるかどうかはわかりません。

また、呼び出しを try/catch でラップする必要があるかどうか、またはブール値の結果を見るだけで十分かどうかもわかりません。私のテストでは例外は発生しませんでしたが、現実の世界で何が起こるかはわかりません。

このコードは信頼できるように見えますか?

更新
不完全なメソッドを投稿しました (ブロック解除メソッドは、「Zone.Identifier」リテラルをファイル名に連結しませんでした)。今訂正しました、すみません。

0 投票する
2 に答える
1838 参照

windows - Windowsエクスプローラの代替データストリームシェル拡張

代替データストリームを使用し、Windowsエクスプローラーに表示されないファイルがいくつかあります。シェル拡張機能またはバックグラウンドで実行されるプログラムを作成します。Windowsエクスプローラーを使用して、代替データストリームファイルがあるフォルダーに移動すると、このファイルがWindowsエクスプローラーに表示されますが、オーバーレイアイコンが表示されます。

これは可能ですか?チェックするサンプルコードはありますか?

どうもありがとう。

0 投票する
1 に答える
496 参照

ads - AltDS - 代替データ ストリームはディスクのどこに物理的に保存されていますか?

ADS データの物理的な場所に関する情報を見つけるのに苦労しています。NTFS MFT 内に保存されていますか、それとも MFT が 2 番目の場所を指していますか?

0 投票する
2 に答える
4788 参照

c# - 実用的な C# の例: Win7 64 ビットでの NTFS 代替データ ストリームの書き込みと読み取り

構築中のデータベース アプリケーションで参照されるファイルの同期情報を格納するために、別のデータ ストリームを使用できるようにしたいと考えています。

しかし、私が Web で見つけたすべてのアプローチは、何らかの形で失敗しています。Win32 API プログラミングの経験がないため、エラーが発生する理由がわかりません。メソッド呼び出しが成功したように見えても、代替ストリームが作成されない場合があります (つまり、後で代替ファイルから読み取ることも、AlternateStreamViewer がそれを見ることもできません)。それ以外の場合、書き込みは成功しますが、CreateFile() を呼び出すと SafeFileHandle が無効になるため、読み取りは失敗します。

この時点で、機能するコードを見つけたいと思います。または、「あなたはここからそこに着くことができません」とアドバイスされます。その場合は、あまり魅力的でない別のオプションを使用します (たとえば、同期/参照情報をファイル名自体にエンコードし、誰もファイル名を変更しないことを望みます)。


私が試したアプローチについてのリクエストを理解しています。しかし、かなりの数があり (私はこれに何時間も費やしました)、試したことのない製品について学ぶことに本当に興味がありました。

しかし、私がアプローチの 1 つ (以下で言及されている Trinet のアプローチ) を間違って使用していたことが判明したため、それが役に立ったことは間違いありません。問題は、代替ストリームを保存しようとしていた「ベース」ファイルをまだ作成していなかったことだと思います。

私が試したコードベースへのリンクは次のとおりです。

0 投票する
2 に答える
7872 参照

windows - txtファイルの背後でexeファイルを実行する

WindowsでADS(代替データストリーム)について読んでいたので、このことに出くわしました。Windows XP で作業して、以下をテストします。

名前のファイルを作成しました-内容のsample.txt-「こんにちは」 名前の別のファイルを作成しました-内容のsecond.txt-「私は隠されています」

コマンドプロンプトで次のことを行いました:-

second.txt と入力 > sample.txt:newfile.txt

正常に実行されます

さて、これを入力すると:-

メモ帳 sample.txt:newfile.txt

メモ帳で newfile.txt が開き、「私は隠されています」という内容が表示されます

ここまでは普通

今、私は exe ファイルを非表示にしようとしました、たとえば - 次のような txt サンプルの背後にある notepad.exe:-- (同じフォルダーに notepad.exe をコピーしました)

「notepad.exe」と入力 > sample.txt:newexe.exe

上記のコマンドは正常に実行されます。

問題は、テキスト ファイルの背後にある exe ファイルを実行するにはどうすればよいかということです。私の推測では、exe を実行するには何らかの形式のインタープリター (最初の例の notepad.exe など) が必要です。exeファイルを実行するには、ある種のインタープリターが必要ですか(テキストファイルにはエディターが必要なように)?? exeファイルを直接実行できることは知っていますが、この場合は機能しません。試してみました:--

second.txt:newexe.exeを起動

しかし、うまくいきません。私はWindowsの内部についてあまり知らないので、助けていただければ幸いです。

0 投票する
2 に答える
2158 参照

python - フォルダの代替データ ストリーム

私はpython win32comベースのStgCreateStorageExを使用して、testStorage.pyのコードを適応させて、独自のfile_id属性を任意のファイルに書き込みます。

代替ストリーム(必ずしもこの API 呼び出しからではありませんが) によると、ディレクトリ/フォルダーに保存できるはずですが、フラグを変更するとさまざまなエラーが発生します。

結果:

pywintypes.com_error: (-2147024895、「関数が正しくありません。」、なし、なし)

編集: これを WinXP、Win7、および Windows Server 2003/R2 の両方で動作させる方法について何か提案はありますか?

最終結果は必ずしもこの API を使用する必要がないことに注意してください。Python から効率的に実行できる必要があるだけです。効率的とは、多くの異なるテクノロジー層を経由しないことを意味します。

0 投票する
2 に答える
112 参照

winapi - Windows マシン上の特定のファイルが代替データ ストリームをサポートしているかどうかを知るにはどうすればよいですか?

C/C++ から生の Windows プログラミング API を使用し、ファイル ハンドルまたはファイル、フォルダー、リンクなどへのパスを使用します。ADSファイル (など) が(代替データ ストリーム)をサポートしているかどうかをプログラムで判断するにはどうすればよいですか?

私が知っておくべきことの 1 つは、ファイルが NTFS パーティション上にあるかどうかということだと思いますが、データ フォークや代替データ ストリームをサポートするある種の Mac または *nix ファイルシステムをマウントできる可能性があることはわかっています。 、およびそのようなすべてのケースは、単一の API 呼び出しまたはデータ構造によってカバーされる場合があります。

第二に、NTFS パーティションに存在できるすべての種類のオブジェクト (フォルダー、シンボリック リンク、ハードリンクなど) が ADS を持つことができるかどうかわかりません。

特定のファイルなどに ADS を持つ機能があるかどうかを教えてくれるすべてのケースを処理できる API などは何ですか?

(この質問では、ファイルに ADS があるかどうかを調べているのではなく、ファイルADS があるかどうかを調べているだけです。たとえば、作成したばかりのファイルが含まれている可能性があります。)

0 投票する
2 に答える
1053 参照

c - FindFirstStreamWを使用してZone.Identifierでファイルを検索する

さて、私はフォルダをスキャンして、Zone.Identifierタグでファイルを識別し、タグを削除できるものを書き込もうとしています(うまくいけば)。私はそれを行う方法を探していて、いくつかの異なる方法を試しています。

私はなどを使う機能を持っていますが、BackupRead()私はこの種のことには少し新人であり、この方法でストリームを見つけることができた間、私はFindFirstStreamW()生活を楽にするために、または少なくとももっと学ぶために使用したいと思っていましたこれは一般的に。

以下は、これを使用する最初の試みです。

私が見ているのは、私が望んでいるものではないと仮定して安全だと思うように lpFindStreamData設定されNULL、とどまっNULLFindFirstStreamW()戻ってきます。は正しいファイル名であり、代替ストリームを持つファイルへのパスです。0xfffffffflpFileName

前述のように、私は新人で、CとWindows APIを初めて使用するため、これを誤って使用している場合、ある種の恥ずかしいほど愚かなエラーを犯した場合、または間違ったツリーを吠えていると思われる場合は、お知らせください。 。

0 投票する
2 に答える
636 参照

powershell - メモ帳や esclipe などのアプリケーションが起動するたびに .vbs または Window powershell を起動する方法

メモ帳、esclipe などのアプリケーションが起動するたびに *.vbs を起動する方法。esclipseを起動するたびにvbsを手動でクリックする必要がないように、それらを起動したくないので、どちらかのメモ帳が起動するたびにスクリプトを実行する必要があります。

WMI イベントのポーリングは役に立ちますか?カスタム イベントまたは代替データ ストリーム!! 代替データ ストリームの問題は、vbs またはメモ帳のいずれかで一度に 1 つのアプリケーションを起動することです。私は両方が欲しい+またはレジストリは役に立ちますか?

*OS: Window 7 32 ビットと 64 ビットの両方

0 投票する
1 に答える
2156 参照

winapi - 代替データ ストリームをどのように使用し、どのような利点がありますか?

私はいくつかのドキュメントを読んだことAlternate Data Streamsがあり、自分のプロジェクトでそれらを使用することを考えています. しかし、未知の知識や未解決の問題が非常に多く、それらを使用することを決定する前にまだ抱えています. そのため、この質問リストを作成しました。

  1. Sysinternals ツールを使用せずにストリームを列挙するにはどうすればよいですstreamsか?
  2. ストリームは「ホスト」ファイルの MD5 値に影響しますか?
  3. 「ホスト」ファイルを別の (NTFS) パスにコピー/カットするとどうなりますか? ストリームも自分自身をコピー/カットしますか?
  4. 「ホスト」ファイルを NTFS 以外の別のパスにコピー/カットするとどうなりますか?
  5. 既存のストリームに別のストリームを含めることはできますか?
  6. ストリームごとに実際のファイルハンドルがあるので、ストリームの属性を変更することは可能ですか?
  7. LoadLibraryAPIを使用してストリームから DLL をロードできますか?
  8. ShellExecuteストリームを実行することはできますか?
  9. を使用する利点/利点/欠点は何Alternate Data Streamsですか?
  10. を使用する場合、何に注意する必要がありますAlternate Data Streamsか?

あなたの回答/情報/要約を楽しみにしています。望ましい言語は Delphi ですが、WinAPI.