ソースコード彼らがセキュリティを確保しようとしているかどうかを明らかにすることは不可能です(特にそれがブランド品である場合)。
ただし、コードを完全または部分的に明らかにする方法はあります。
繰り返しますが、これはコード パッカー (その場合は最初にデパッカーを適用する必要があります)、暗号化/自己変更コードがないことが前提です。 難読化ツールで解読しないと解読できません。 コードが大きくなるほど、理解するのが難しくなります。
追伸 私の個人的な意見は、すべてが明らかにされ、ハッキングされるということですが、それには非常に長い時間がかかります。 おそらく 1 年以上 (経験とツールに応じて、無料で利用可能) 良い道具ありません)。
助けを借りて リソースチューナー.EXE、.DLL、.OCX、スクリーンセーバー (.SCR) などの実行可能ファイルを開くことができます。 ファイルを開くと、ファイルのリソースにアクセスし、アイコン、カーソル、グラフィックをさまざまな形式で置き換えたり、メニューの行を変更したり、 ダイアログボックスおよびその他のユーザー インターフェイス要素。
ただし、実行可能ファイル内のリソースは、 プログラムコード、プログラム インターフェイスを変更しても、プログラム コードにアクセスできなくなります。 リソース エディタを使用して、プログラム コントロールを変更できます。 リソースエディタを使用してプログラムコードを変更することはできません。
より重大な変更を行う場合 (ただし、Windows 用アプリケーションのプログラミングに関する十分な経験がなければ、良い結果は得られません)、PE Explorer (PE ファイル構造エディタ) または FlexHex (バイナリ ファイル用の 16 進エディタ) を使用することをお勧めします。
ファイルを開く複数の方法をサポートします。 表示および編集するためにファイルを開くには、 ボタンをクリックします。 ファイルを開くツールバーの をクリックするか、コマンドを選択します ファイル > 開けるメニューから。 ツールバーのボタンの横にあるドロップダウン メニューを使用すると、最近開いたファイルのリストに簡単にアクセスできます。 同じリストは次のコマンドでも取得できます。 ファイル > 最近のファイルプログラムメニューから。 リスト内のファイルの数はダイアログで設定します。 カスタマイズ.
Resource Tuner を使用してファイルを直接開くこともできます。 Windows エクスプローラーファイルを右クリックして選択することで、 リソースチューナーで開くコンテキストメニューから。
または、Windows エクスプローラーからデスクトップ上のリソース チューナー アイコンまたは実行中のリソース チューナーのウィンドウにファイル アイコンをドラッグ アンド ドロップすることもできます。
コマンドラインからファイルを開くこともできます。
例えば: Restuner.exe ファイル名.exe
ファイルを開くとき、Resource Tuner はいくつかの自動操作を実行します。ファイルが UPX を使用してパックされたことを検出した場合はファイルを解凍し、ファイルの構造とリソースをチェックします。 考えられるエラーそして最後にフォーマット仕様に従って破損したリソースを再構築します。 実行可能ファイル.
ファイルを開くときにエラーが発生する場合は、ファイルが保護されている、ファイルが 16 ビットである、またはまったく実行可能ファイルではないという 3 つの理由が考えられます。
1. エラー: ファイルが破損しているか、パッカーによって圧縮されているか、プロテクターによって保護されています。
サイズを減らすためにファイルが圧縮されている可能性が非常に高くなります。 実行可能ファイル用のパッカーやプロテクターは数多くあり、常に新しいものが登場しています。 Resource Tuner は、最も一般的なパッカーである UPX の解凍のみをサポートします。 他のパッカーはサポートされていないため、ファイルを開いて表示または編集するには、自分でファイルを解凍する必要があります。
この状況はプログラム エラーとはみなされません。 私たちは、他のプログラム作成者が自身の作品をハッキングから保護しようとする試みに対抗するつもりはありません。また、商用製品と自家製製品の両方を含む数十の異なるパッケージャーの解凍をサポートするつもりもありません。
2. エラー: ファイルは 16 ビット NE 実行可能ファイルとして定義されています。 この形式はサポートされていません。
当社のプログラムは、32 ビットおよび 64 ビットの PE ファイルでのみ動作します。 NE フォーマット (「New Executable」の略) は、従来の 16 ビット アプリケーション フォーマットです。 Windowsのバージョン 3.xx。 と Windowsの出現 95 この形式は時代遅れとみなされ、使用されていませんが、Microsoft の最新のプラットフォームで実行できます。 16 ビット ファイルはサポートしておらず、サポートする予定もありません。
3. エラー: ファイルが EXE または DLLファイル。 全然!
Resource Tuner は拡張子によってファイルを検出しません。 実行可能ファイルの拡張子の名前を変更した場合 (たとえば、.EXE を .TXT に修正するか、拡張子を完全に削除した場合)、Resource Tuner はこれに騙されません。ファイルを開くときに、プログラムはファイル内のファイル ヘッダーを分析し、拡張子はまったく見ていません。
したがって、Resource Tuner がファイルが実行可能ではないと通知した場合、それは実行可能です。 誰かが何らかの理由で供給した場合 テキストファイルゲームが拡張子 .DLL で配信されている場合、ファイルがテキスト ファイルになることはなく、ダイナミック ライブラリにはなりません。 ファイル拡張子に騙されないでください。
Resource Tuner は 32/64 ビットの実行可能ファイルを開いて編集できるように設計されていますが、一部の種類の EXE ファイルには実質的にリソースがありません。
1. Visual Basic を使用して作成されたファイル。
このようなファイルでは、リソース セクションにはアイコンとバージョン情報以外は何もありません。 Visual BASIC で書かれたプログラムのセリフやダイアログは独自の形式で保存され、標準のリソース セクションは使用されません。
2. サイズがギガバイト以上の EXE ファイル。
Resource Tuner は 32 ビット プログラムであるため、仮想メモリ内で開かれているファイルのイメージを最初のギガバイト以内に配置するには当然の制限があります。 ギガバイト以上のサイズのファイルはそこには収まりません。
3. EXE ファイル形式の自己解凍アーカイブ。
このようなファイルでは、リソースにはアイコンとバージョン情報、さらにはそれさえも含まれます。 基本的に、これは解凍用のサブルーチンを備えたアーカイブ データです。
4. 他のプログラムのインストーラー。
このようなファイルでは、リソースにはアイコンとバージョン情報以外は何も含まれません。 ポイント 3 と非常に似ています。 インストーラー ファイルは、圧縮形式の別の .EXE ファイルとそれを抽出するためのサブルーチンを含むコンテナーと考えることができます。 さらに、インストーラーを作成するプログラムは、さまざまなアルゴリズムを使用して、アーカイブされたデータをプログラム内に保存します。
リソースチューナーの実行環境 Windows のすべてのバージョン
2000 と XP から 8 と 10 まで。
最小システム要件:
Intel Pentium® または AMD K5 166 MHz プロセッサ
16MBのRAM
時々 CODE.EXE およびその他のエラーが発生する システムエラー EXE は、Windows レジストリの問題に関連している可能性があります。 いくつかのプログラムで CODE.EXE ファイルを使用できますが、それらのプログラムがアンインストールまたは変更されると、「孤立した」(不正な) EXE レジストリ エントリが残ることがあります。
基本的に、これは、ファイルの実際のパスが変更された可能性があるにもかかわらず、その誤った以前の場所が Windows レジストリに記録されたままであることを意味します。 Windowsが不正なファイル参照(PC上のファイルの場所)について調べようとした際に、CODE.EXE エラーが発生する場合があります。 さらに、マルウェア感染により、Game Cracker に関連付けられたレジストリ エントリが破損した可能性があります。 したがって、ルートで問題を解決するには、これらの破損した EXE レジストリ エントリを修正する必要があります。
PC サービスの専門家でない限り、Windows レジストリを手動で編集して無効な CODE.EXE キーを削除することはお勧めできません。 レジストリの編集時に間違いを犯すと、PC が動作不能になったり、修復不可能な損傷を与えたりする可能性があります。 オペレーティング·システム。 実際、カンマが 1 つでも間違った場所に配置されていると、コンピュータが起動できなくなる可能性があります。
このリスクがあるため、次のような信頼できるレジストリ クリーニング ツールを使用することを強くお勧めします。 %%製品%%(Microsoft ゴールド認定パートナーによって開発) CODE.EXE 関連の問題をスキャンして修正します。 使用する レジストリのクリーニングを使用すると、破損したレジストリ エントリ、欠落しているファイル参照 (CODE.EXE エラーの原因となるものなど)、レジストリ内の壊れたリンクを見つけるプロセスを自動化できます。 各スキャンの前に、 バックアップを使用すると、ワンクリックで変更を元に戻すことができ、コンピュータへの損傷を防ぐことができます。 一番いいのは、 レジストリ エラーのトラブルシューティングシステムの速度とパフォーマンスを大幅に向上させることができます。
警告:そうでない場合は、 経験豊富なユーザー PC では、Windows レジストリを手動で編集することはお勧めしません。 レジストリ エディタを誤って使用すると、重大な問題が発生する可能性があり、 Windowsの再インストール。 レジストリ エディターの誤った使用に起因する問題が修正されることは保証されません。 レジストリ エディタはご自身の責任で使用してください。
手動で復元する前に Windows レジストリの場合は、CODE.EXE に関連付けられたレジストリの一部 (たとえば、Game Cracker) をエクスポートしてバックアップを作成する必要があります。
レジストリを手動で編集するための次の手順については、システムに損傷を与える可能性があるため、この記事では説明しません。 レジストリの手動編集の詳細については、以下のリンクを参照してください。
*** 書かれたものはすべて教育目的のみに使用してください。 ***
-ツール-
OLYDBG
コードを挿入するアプリケーション。
そうなる メモ帳.EXE.
ファイルのコピーを作成することをお勧めします。
これですべてです
-始める-
私たちの目標は、コードを Notepad.EXE に貼り付けることです。
簡単なものを貼り付けていきます メッセージボックス打ち上げ用に メモ帳.
起動しましょう ノート、正常に起動することを確認します。
オリジナルであると確信している場合 メモ帳.exeで開きます オリー.
次のウィンドウが表示されます。
コードを挿入するには、プログラム コード内にコードを挿入する場所が必要です。
exeファイルには色々なものが入っています コードケイブ。 これらはバイトです ( DB00).
プログラムコードを最初の少し下までスクロールするだけで、次のことがわかります。 コードケイブ:
***** WIN32 プログラマ マニュアルから引用を開始
MessageBox 関数は、メッセージ ボックスを作成、表示、操作します。
メッセージ ボックスには、アプリケーション定義のメッセージとタイトルが含まれます。
さらに、事前定義されたアイコンとプッシュ ボタンの任意の組み合わせも可能です。Int メッセージボックス(
HWND hWnd, // オーナー ウィンドウのハンドル
LPCTSTR lpText, // メッセージ ボックス内のテキストのアドレス
LPCTSTR lpCaption, // メッセージ ボックスのタイトルのアドレス
UINT uType // メッセージボックスのスタイル
);***** WIN32 プログラマ マニュアルからの引用終了
クリックして展開...
知っておくべきことはこれだけです メッセージボックス.
で何かやってみよう コードケイブ.
使用するには メッセージボックスに表示するテキストを作成する必要があります。
メッセージボックス。 次の図では、いくつかの行を強調表示しています。 コードケイブそして
メニューを見せた バイナリ編集あなたのために(私たちはそれを必要とします)。
-アセンブラを少し-
時が来た A.S.M.あ
ここに良い例があります!
0 を押します。 ボタン =<ТОЛЬКО КНОПКА OK>
プッシュ 1008751 ; キャプション = 私たちの住所「注入されたメモ帳」
プッシュ 1008751 ; メッセージ = 同じ。
0 を押します。 アイコン =<БЕЗ ИКОНКИ>
メッセージボックスAを呼び出します; 指定されたパラメーターを使用して MessageBoxA を呼び出します。クリックして展開...
に入力されたこれらの行は、 オーリー次のようになります:
矢印が見えますか? これは非常に重要です!
結局のところ、プログラムを実行するだけでは何も起こりません。 なぜ?
なぜなら、私たちの小さなプロシージャはまだどこにも呼び出されていないからです。
その先頭のアドレスを書き留める必要があります。 住所 " プッシュ0「ジャンプする必要があるから」
私たちの手続きに戻ってください
素晴らしい。 ここでプログラムの最初に戻ります ( ボタンCツールバー上 オーリー、または図のように)。
今、私たちは実行される最初の行にいます。
私たちの目標はコードを挿入することであることをまだ覚えていますか?
それでは続きます!
先頭から数行を選択し、クリップボードにコピーします。
プッシュ70
メモ帳を押してください。01001898クリックして展開...
コードの最初の行をクリックします ( JMP)を押して、 入力.
挿入された MessageBox 呼び出しコードが表示されます。
後 メッセージボックスAに電話をかけるこれらの 2 行を挿入して、元に戻る必要があります。
追加された関数は、記事に書かれているように直接呼び出す必要はありませんが、少し異なる方法で呼び出す必要があります。
まず、インポートにプロシージャを追加した後、それを知っておく必要があります FT (ファーストサンク「IAT」)。 ここに表示されます:
覚えておいてください!(彼に電話します TrueAddress)
JMP [[B]TrueAddress]
もし オリー新しいコードがプロシージャ呼び出しとして自動的に識別されました。これは非常に優れています。 したがって、さらに簡単になります。 そうでない場合は、インポートアドレスの計算が間違っています。 ダブルチェックしてください!
このアドレスを書き留めてください JMP(彼に電話します TrueCall).
ここで、記事と同じようにすべての操作 (行の挿入、PUSH など) を実行しますが、代わりに次のことを行います。
メッセージボックスAを呼び出す
次のように書く必要があります:
コール[B]TrueCall
残りは同じままです。
クリックして展開...