• ベストアンサー

ちょっとした実験

Cで適当なプログラムを組んでコンパイルされた実行可能ファイル(.exe)をメモ帳で開きました。ずらりと並んだマシン語の適当な一文字を削除してからまた同じ文字を挿入してスペースも含め元に戻したのですが、それを実行しようとするとエラーが出ました。ちゃんと元に戻したのにどうして動かなくなったのでしょうか。 もちろん隠しファイルになっているWindowsやアプリケーションのシステムファイルでこんなことはしません。

  • ondy
  • お礼率94% (66/70)

質問者が選んだベストアンサー

  • ベストアンサー
  • dahho
  • ベストアンサー率44% (68/153)
回答No.1

バイナリデータなのでメモ帳では正確に表現できず文字化けしています。asciiに出来ないデータがあるということです。メモ帳では空白や黒い四角などになっていると思います。 バイナリデータはバイナリエディタで開くことが出来ます。16進の数字になって表示されます。自由に編集することもできます。 バイナリエディタはフリーでいろいろあります。

参考URL:
http://www.nemu.to/tool/edit_binary.htm
ondy
質問者

お礼

くだらない質問に回答いただき、ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • どうしたら元に戻るかわかりません!

    何もわからず、あるプログラムを削除してしまいました。以来アウトルックやメモ帳などを開こうとするたびに 「jafqhbjxrbkkh.exeが見つかりません。このプログラムは、種類が’アプリケーション’のファイルを実行するために必要です。」 と表示され、その私が削除してしまったプログラムの場所を要求されます。削除してしまってないので開けずじまいです。 どうしたら元にもどりますか、何か必要なものはありますか。教えて下さい。

  • exeファイルが実行できない

    あらゆるアプリケーションを起動できなくなってしまいました。症状は下記の通りです。何かご存知の方がいらっしゃいましたら、教えていただけると幸いです。 ●exeファイルを実行しようとすると、必ず「ファイルを開くプログラムの選択」ダイアログが出てくる。 ●例外的に実行できるのは、ウィルスバスターとエクスプローラのみ。 ●システムの復元もGUIから実行できないので、セーフモードで起動してコマンドプロンプトから実行したが、効果なし。 ●ウィルス・スパイウェアは現在は検出されない。 ●下記のURLの「トラップにひっかかってプログラムを実行できなくなりました」に解説されている、レジストリの編集(exeファイルに関する関連付けの削除)を行ったが、再起動すると元に戻ってしまう。 http://homepage2.nifty.com/winfaq/wxp/trouble.html#1468 つまり、regeditでHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExtsを展開し、exeのキーを削除したが、再起動するとexeのキーが再び現れており、プログラムは実行できない。 心当たりとしては、数日前、ウィルスバスターでトロイの木馬やその他のスパイウェアが数個検出されたことがあります。そのときは名前をメモせずに、ファイルを削除してしまいました。その後、現在の症状が起こりました。

  • サブシステムがなんやらかんやら

    セットアップ用のexeファイルなどを起動すると C:\WINDOWS\SYSTEM32\AUTOEXEC.NT.システムファイルはMS-DOSおよびMicrosoftWindowsアプリケーションを実行するのに適していません。アプリケーションを終了するには、[閉じる]を選んでください。 と出ます 閉じるを押しても無視を押しても何も起こらないのでプログラムが実行できません どうしても実行したいのですがどうすればいいですか? どなたか教えてください お願いします

  • fortran a.exe システムエラー

    プログラミング初心者です。  コンパイルした後、a.exeファイルはつくられるのですが、いざプログラムを実行しようとすると     ウィンドウタイトル:「a.exe -システムエラー-」   本文:コンピュータにlibgfortran-3.dll がないのでプログラムを実行できません。      プログラムを再インストールしてください。     のようなエラーが出ます。        どうすればいいのでしょうか?

  • [C#]実行中プロセスのパスを調べる方法について

    いつもお世話になっております。 現在実行中のプロセスの中から、特定のアプリのexeファイルのpathを表示させる方法が分からず苦戦しております。 言語はC#になります。 以下のコードでテキストボックスに、C#でコンパイルしたプログラムのpathは分かったのですが、私が表示させたいのは、コンパイルしたプログラムのpathではなく、現在実行中のプロセスの中のあるアプリのexeファイルのpathになります。 string appPath= System.Windows.Forms.Application.ExecutablePath; textBox1.Text = appPath; 良いお知恵がございましたらお力添えいただきたく、宜しくお願いいたします。

  • 関連付けるアプリケーションの設定エラー

    何かダウンロードしようとすると、上のような文字が出てきてダウンロードできません。 もう少し詳しく書くとその下に 「ACCWIZ.EXEが見つかりません。  このプログラムは、種類がLZHファイルのファイルを実行するた  めに必要です。  ACCWIZ.EXEの場所:  (書き込むスペース                 )        OK   キャンセル   場所(L)...」 しかし、こんなプログラムは使った覚えがないし、使ったとしてももう恐らく削除してしまったと思います。このような場合、どうすれば良いのでしょうか?ものすごく読みにくい文章ですが、もしよろしければ回答ください。

  • Microsoft Visual C++ 6.0でダイアログボックス作成後のEXE作成方法

    Microsoft Visual C++ 6.0を新規で開いて、「挿入」-「リソース」のリソースの挿入画面で、2つダイアログ(Dialog)を作りました。新規作成で作りましたので「Script1 – IDD_DIALOG1(Dialog)」「Script1 – IDD_DIALOG2(Dialog)」と2ウィンドウのタイトルバーに書かれてあります。さて、これらを保存しようとした時にプロジェクト名を決めないといけないみたいで、適当にtestと名づけました。プロジェクトを作成すると、「test.dsw」というプロジェクトワークスペースが出来ました。ここで、「Debug」というフォルダが作成されましたので、このフォルダ内にEXEファイルを作成して、EXEを実行して2つのウィンドウを上手く機能も付けてアプリケーションを作ろうと思っているのですが、コンパイルすると 『 プロジェクト 'test - Win32 Debug' 用の中間ファイルおよび出力ファイルを削除しています。 --------------------構成: test - Win32 Debug-------------------- リソースをコンパイル中... リンク中... LINK:error LNK2001:外部シンボル "_WinMainCRTStartup" は未解決です Debug/test.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー 』 と、ドッキングビューに表示されています。 どのようにしたら、EXEを作成できて実行できるか、対策案をお願いいたします。

  • 作ったプログラムがすぐに閉じてしまいます。

    C言語について全くの初心者です。 "hello"という文字を打ち出すプログラムを書いて、コンパイルをするまではうまく行ったと思うのですが… できたexeファイルを開けようとしても「cygwin1.dllが見つからなかったため、このアプリケーションを開始できませんでした。」と表示されて開くことができませんでした。 そこでcygwin1.dllをexeファイルと同じフォルダに入れてファイルを開いてみたところ「一瞬だけ開いてすぐに閉じる」という状態になりました。 どうすればファイルがちゃんと開くようになるでしょうか? もし回答するのに情報が不十分であればそれも教えてください。

  • exeファイルを開くことを出来なくしてしまいました

    OS: Windows XP exeファイル(exeファイルへのショートカットも)の起動時に、 必ず「ファイルを開くプログラムの選択」というのが出てきて、 プログラムの選択を強要されます。実はスタートの項目の一覧を整理していたときに誤って、ファイルを開くプログラムが違っているexeファイルを開いてしまい適当にプログラムを選択したのですが、全部そのファイルで実行されるようになってしまいました。その後、ほかのexeファイルを開いてみましたが、いちいちファイルを開くプログラムを選択しなくてはならなくなり、 exeファイルに連動しているexeファイルなどはできなくなりました。 以前の状態に戻そうと、システムの復元をmsconfigからではなく直接 システムの復元を起動してやりました。しかし結果的には失敗しているようで、もう、手も足も出ない状況です。どなたか助けてください。 下のページに書いてあることは何度も試しましたが出来ませんでした。(元に戻りませんでした) http://homepage2.nifty.com/winfaq/wxp/trouble.html#1251

  • 再度 質問させてください アプリケーションエラーについて

    下で質問したものです。 ウイルスらしきEXEファイル開けてしまったようなんです。 アプリケーション等を実行すると 「関連付けるアプリケーションの設定エラー mwvw.exe」が見つかりません このプログラムは種類がアプリケーションのファイルを実行する為に必要です」 と表示されます。 このEXEファイルは、どこにあるのですか???教えて下さい。 検索で、cドライブやCDも見ましたが判りませんでした。 WIN98 メーカーは DELLです 立ち上げたときに 「WIN.INIに指定されている’WINBATCH.EXE’を、読みこみ または実行できません ファイルがあるか確認して下さい または  WIN.INIの指定を削除してください」と表示します WINBATCH.EXEは、C:¥DELLにはいってます。実行すると 最初のmwvw.exeのエラーになります。 WIN.INIの指定を削除って どうするのですか 判る方、是非 お願い致します。