CreateFile関数が存在してもファイルの読み取りに失敗する、エラーコード-1

Windowsの実行ファイルを元に戻そうとして、ファイルを読み取り専用モードで開こうとする creatfile 関数を見つけました

enter image description here

関数と同じ名前で同じディレクトリにファイルを作成しますが、エラーコード-1で失敗します。その理由を知りたいのです。

enter image description here

関数呼び出し後の eax レジスタの値は-1です。これは、同じディレクトリからの dir コマンドの出力です。

enter image description here

それが失敗する理由は何かありますか?

1
実際の問題の原因を調べるには、GetLastError()を使用する必要があります。完全にデバッガ内でこれを実行する必要がある場合、この値はTIBに格納されます。
追加された 著者 David Wohlferd,
@MichaelPetch - あなたが知っている、私はそれについて疑問に思いました。 ollydbgは "\"の "escped c"構文を示していますか?もしそうなら、 \ BabyDriver が問題になるでしょう。そうでない場合、 \\。はどういう意味ですか? Windowsでは、 "\\"は通常ネットワークパスを示しますか。
追加された 著者 David Wohlferd,
@MichaelPetch - あなたが知っている、私はそれについて疑問に思いました。 ollydbgは "\"の "escped c"構文を示していますか?もしそうなら、 \ BabyDriver が問題になるでしょう。そうでない場合、 \\。はどういう意味ですか? Windowsでは、 "\\"は通常ネットワークパスを示しますか。
追加された 著者 David Wohlferd,
@MichaelPetch - あなたが知っている、私はそれについて疑問に思いました。 ollydbgは "\"の "escped c"構文を示していますか?もしそうなら、 \ BabyDriver が問題になるでしょう。そうでない場合、 \\。はどういう意味ですか? Windowsでは、 "\\"は通常ネットワークパスを示しますか。
追加された 著者 David Wohlferd,
多分これは助けになるでしょう:ウィンドウ内のドットで始まるファイルフォルダーの名前を変更します "> superuser.com/questions/64471/…
追加された 著者 deblocker,
多分これは助けになるでしょう:ウィンドウ内のドットで始まるファイルフォルダーの名前を変更します "> superuser.com/questions/64471/…
追加された 著者 deblocker,
多分これは助けになるでしょう:ウィンドウ内のドットで始まるファイルフォルダーの名前を変更します "> superuser.com/questions/64471/…
追加された 著者 deblocker,

4 答え

\\。\ 表記は、通常のファイルには使用されません。機器に使用されます。そのため、通常のファイルを作成してもうまくいきません。代わりにその名前でデバイスを作成する必要があります。これらの名前はデバイスドライバでも一般的です - したがって、おそらくこのタスクの命名です。

Refer to section "Win32 Device Namespaces" in Naming Files, Paths, and Namespaces for more info.

2
追加された

\\。\ 表記は、通常のファイルには使用されません。機器に使用されます。そのため、通常のファイルを作成してもうまくいきません。代わりにその名前でデバイスを作成する必要があります。これらの名前はデバイスドライバでも一般的です - したがって、おそらくこのタスクの命名です。

Refer to section "Win32 Device Namespaces" in Naming Files, Paths, and Namespaces for more info.

2
追加された

\\。\ 表記は、通常のファイルには使用されません。機器に使用されます。そのため、通常のファイルを作成してもうまくいきません。代わりにその名前でデバイスを作成する必要があります。これらの名前はデバイスドライバでも一般的です - したがって、おそらくこのタスクの命名です。

Refer to section "Win32 Device Namespaces" in Naming Files, Paths, and Namespaces for more info.

2
追加された

\\。\ 表記は、通常のファイルには使用されません。機器に使用されます。そのため、通常のファイルを作成してもうまくいきません。代わりにその名前でデバイスを作成する必要があります。これらの名前はデバイスドライバでも一般的です - したがって、おそらくこのタスクの命名です。

Refer to section "Win32 Device Namespaces" in Naming Files, Paths, and Namespaces for more info.

2
追加された