質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
バイナリ

バイナリは、「0」と「1」だけで表現されている2進数のデータ形式。または、テキスト以外の情報でデータが記述されているファイルを指します。コンピューター内の処理は全て2進数で表記されています。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

3回答

647閲覧

Windowsで、拡張子のないファイルをフォルダまたはアーカイブファイルとして読み込みたい

kiyoken

総合スコア15

バイナリ

バイナリは、「0」と「1」だけで表現されている2進数のデータ形式。または、テキスト以外の情報でデータが記述されているファイルを指します。コンピューター内の処理は全て2進数で表記されています。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

1クリップ

投稿2024/08/26 10:32

実現したいこと

今自分の手元に、拡張子のないファイルがあって、その中身をバイナリエディタで覗くと、テキストデータや画像データが無圧縮で入っているフォルダのような構造をしていました。そこで、この中のデータを読み出すために、Windowsにこのファイルをフォルダまたはアーカイブファイルとして認識させたいです。

前提

ファイルは、拡張子がない状態で、そのままではアーカイブファイルとして認識されず、また、7zの拡張子をつけてもアーカイブファイルとして認識されません。

該当のソースコード

先頭の000012Fまでです

E0E0E1E1 E2E2E3E3 E4E4E5E5 E6E6E7E7 00025ED8 030F0000 0000904E 15000000 00004A5D 97070407 07070307 0707F8F8 0707BF07 07070707 07074707 07070707 07070707 07070707 07070707 07070707 07070707 07070707 07070707 07071706 07070918 BD0907B3 0ECA26BF 064BCA26 536F6E74 27777568 6075666A 27646669 69687327 65622775 7269276E 69274348 54276A68 6362290A 0A0D2307 07070707 0707662C 03D9224D 6D8A224D 6D8A224D 6D8A4D3B C78A534D 6D8A2B35 E98A234D 6D8AB103 F58A234D 6D8A2B35 EE8A324D 6D8A39D0 F38A194D 6D8A4D3B C68A8E4D 6D8ADD6D 678A204D 6D8A2B35 FE8A094D 6D8A224D 6C8AD54E 6D8A39D0 C78AFC4D 6D8A39D0 C68A5E4F 6D8A39D0 F78A234D 6D8A39D0 F08A234D 6D8A556E 646F224D 6D8A0707 07070707 07070707 07070707

全体は、F00085Fまでのデータです。

試したこと

バイナリの先頭にほかの無圧縮7zの先頭2行にあった、

377ABCAF 271C0004 4A2B1B98 2154A202 00000000 25000000 00000000 2EA74E49

をダメもとでコピペしましたが、自分が7zの構造がどうなっているか全くわかってないので、やはり
ファイルを [7z] アーカイブとして開くことができません
予期しないデータの終わりです
というメッセージが出て、失敗しました。

補足情報(FW/ツールのバージョンなど)

エディタはxedit2.exeを使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki-o

2024/08/26 10:53

拡張子isoを付けてマウントできますか?
otn

2024/08/26 11:09 編集

拡張子は本質ではないので、どうでもよくて、 「内部構造の不明なバイナリーファイルを解読したい」 ということであれば、自分で頑張って中味を推測するしかないです。 > テキストデータや画像データが無圧縮で入っているフォルダのような構造をしていました。 のような判断が出来るなら、時間を掛ければ出来るはず。 「なんらかのアーカイブファイルである」という情報が正しいのなら、各種アーカイブファイルの形式と順番に照らし合わせていけば良いですかね。
melian

2024/08/26 12:23 編集

バイナリに含まれる "Sont'wuh`ufj'dfiihs'eb'uri'ni'CHT'jhcb" という文字列が YARA rule の SUSP_XORed_MSDOS_Stub_Message(Suspicious XORed MSDOS stub message) に該当しますので、malware の可能性があるという事になります。
meg_

2024/08/26 14:12

> 今自分の手元に、拡張子のないファイルがあって そのファイルはどこから入手されたのでしょうか?
kiyoken

2024/08/26 14:31

ツクールのゲームのpatchです。 本来はexeでゲームのフォルダに展開するのですが、エラーで展開できないので手動でやろうと、exeを7zipで展開しました。 構造は 0~0x01C5220:謎のバイナリ列 0x01C5220~0x435B2E0:jsonの羅列 0x435B2E0~0xEC406C0:rpgmvpの画像の羅列 0xEC406C0~終わり:javascript という感じになっています。 rpgmvpに関しては、バイナリから一つのファイルと思しき部分(5250474D5600 0000~49454E44AE426082)をいくつか抜き出して、復元することができていますが、ファイル名は不明です。
otn

2024/08/26 15:36

> 本来はexeでゲームのフォルダに展開するのですが、エラーで展開できないので手動でやろうと、 であれば、exe実行時点ではファイルが壊れていたということだと思うので、正しいものを取得し直すのでしょうね。
guest

回答3

0

ベストアンサー

まあ、そもそも@y_waiwaiさんが言うようにそもそもファイルやディレクトリについての認識が間違ってるって話は置いておいて、コメントを見るに複数の形式のデータが結合してあるファイルを分割したいっていうことであってますか?

そういうときはBinwalk(CLI)とかDetect it easy(GUI)っていうツールを使います。

Binwalkは次のように使用します。

#ファイル内に含まれているデータの種類を一覧で取得 binwalk -B /path/to/FILE #ファイル内に含まれているデータを分割する binwalk -D='.*' /path/to/FILE

Detect it easyではファイルを読み込んでからExtractor --> Scan --> Dump allで同様のことができます。

ちなみに、不明な形式のファイルを解析したいとき、その他にもfileコマンドMagikaUniversal Extractorなどのツールも役に立つ場合があります。

投稿2024/09/04 10:27

FoxRefire

総合スコア146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kiyoken

2024/09/04 11:07

ありがとうございます! こちらのソフトで特定のバイナリ列で始まり、特定のバイナリ列で終わる部分を抽出して連番で出力することはできますでしょうか? 取り出すのがrpgmvpという特殊な5250474D 56000000で始まり49454E44 AE426082 で終わるファイルなのでそれらを抜き出したいです。 普通にそのままbinwalk -B /path/to/FILEで掛けたら何も検出されずに終わってしまいました。
FoxRefire

2024/09/04 11:33

Detect it easyでも同様ですか?Binwalkで検出できなかった場合でもDetect it easyで検出できる場合があります。 またファイルの切り出し位置のオフセットがわかっている場合、ddコマンドを利用して分割することもできます。 dd if=/path/to/FILE bs=4096 skip=開始オフセット count=終了オフセット iflag=skip_bytes,count_bytes GUIで行いたい場合、ImHexを利用しても同様のことができたはずです。
kiyoken

2024/09/04 13:08

ありがとうございます。Detect it easyでも検出できませんでした。 他のやり方でもうまくいかなかったので、特定のヘッダとエンドチャンクでおわるバイナリを抜き出して連番出力するプログラムを作成してみようと思います。
guest

0

なんか勘違いしてるようだけど、ファイルとかフォルダってのはそういうもんじゃありません

そういうことはできません

投稿2024/08/26 14:32

y_waiwai

総合スコア88024

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kiyoken

2024/08/27 00:12

ありがとうございます。
guest

0

自己回答です。
もともとexe形式のinstallerを展開してできた拡張子のないファイルでしたが、もともとのexeをUniExtract2
というソフトで解凍するとフォルダやファイルも元通り見れました。
回答してくださった方、ありがとうございました。

投稿2024/09/19 09:00

kiyoken

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問