あなたの質問は1つのことを尋ねます(プログラムは「実行中」です)が、コードは別のことをチェックし(ファイルを正常に開いて読み取ることができますか)、エラーメッセージと質問のテキストはさらに別のことを議論しています(与えられています)実行可能ファイル「インストール済み」)。
これらのさまざまな質問の違いを理解するまでは、意図したこと(実際に何であれ)を実行するプログラムを作成することはできません。
ファイルを開くと、特定の名前のファイルが、アクセスを許可するアクセス許可を持つ特定の場所に存在するかどうかがわかります。これは、プログラム/ゲームの実行中に「チート」ユーティリティが使用されないようにするのに役立ちません。
PATHをチェックして、「cheat.exe」プログラムがその上のどこかにあるかどうかを確認することで、非常に限られた成功を収めることができます。しかし、それはかなり足りないでしょう。プログラムの名前を変更し、PATH上にないディレクトリにプログラムを保持するためのインテリジェンスと教育の基準はかなり低いです。MS Windowsでゲームをプレイしている平均的な10歳の人は、おそらく5分以内にそのパズルを解く(その戦略をハックする)と思います(「成果のロックが解除されました!」)。
「WorldofWarcraft」などのプログラムには、WoWが開いているときにプログラム(「Glider」や「Shadowbot」など)が実行されないようにする、かなり洗練された「ウォーデン」テクニックがあります。もちろん、このようなプログラムは、任意のディレクトリに任意の名前でインストールでき、実行中にプロセスリストで名前を変更できます。これらの「チート」プログラムは、基本的にデバッガーが使用するのと同じOS機能を使用します(MacOS Xではptraceインターフェイス、MSWindowsではそのアナログは何でも)。これらにより、gdbやstraceなどのプログラムは、別のプログラムのアドレススペースを「覗き見」し、そこに値を「突く」ことができます。そのため、プログラムがユーザーインターフェイスに関する特定のモデル情報を格納している場所(基本的にはターゲットが配置されている場所、
「ワーデン」は、おそらく、プロセステーブルをスキャンして特定のシグネチャ(アンチウイルスと同様)を探し、同様の「デバッグ」インターフェイスを使用して、verbottenプログラムの痕跡を探すこともできます。
ただし、最終的には、これは、コモディティ消費者市場(汎用PCおよびMac、例えば)。
でもねえ、楽しんでみてください。