問題タブ [ollydbg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ollydbg - ollydbgでEIPの値を変更するにはどうすればよいですか?
レジスタウィンドウでダブルクリックしましEIP
たが、編集できないようです。
なぜEIP
特別なのですか?どうすれば変更できますか?
winapi - Ollydbg コメント欄 - win32 api
さまざまなビデオ/スクリーンショットで見たものから、実行可能ファイルをロードするたびに、メイン CPU ウィンドウのコメント欄に win32 API 呼び出しが表示されます。
どうすればこれを達成できますか?私のバージョンでは、それらは表示されません。
ありがとう。
debugging - OllyDbg と WinDbg の違いは何ですか?
私の簡単な理解は、OllyDbg はユーザー モード デバッガーであり、「通常の」アプリのデバッグに使用できるということです。WinDbg はカーネル モード デバッガーであり、それ自体をデバッグするために使用できます。
そうですか?
assembly - OllyDbgのCPUレジスタがアルファベット順にソートされていないのはなぜですか?
OllyDbgのレジスタウィンドウには、特に標準のCPUレジスタが一覧表示されます。
EBXが最後に表示される特別な理由はありますか?
assembly - XORされた文字列をexcutable(x86)に置き換える
パッチを適用しようとしている実行可能ファイルがあります。実行可能ファイルは、XOR暗号化を使用して文字列を格納しています。XORSearchを使用して、探している文字列を見つけました。それは戻った:
XOR FD位置3E22が見つかりました:
次に、その文字列を変更したいと思います。「FD」がxorキーであると想定しているので、FDを使用して新しい文字列をxorした場合、実行可能ファイルにパッチを適用できるはずです。問題は、実行可能ファイルで場所が見つからないことです。ポジション3E22の意味がわかりません。
助けてください!
debugging - パックされた EXE ファイル内の OEP の検索
圧縮された .exe ファイルのOEP (元のエントリ ポイント) を確実に見つける方法に関する一般的なルールはありますか? デバッグされたアセンブリ言語で検索する OEP の手がかりは何ですか?
PC-Guard 5.06.0400がパックされた Windows .exe ファイルがあり、それを解凍したいとします。したがって、重要な条件は、新たに抽出されたコード ブロック内で OEP を見つけることです。
そのためには、一般的なデバッガーOllyDBGを使用します。
assembly - MASM でコンパイルされた実行可能ファイルへのコードのパッチ適用
MASM で次のような簡単なプログラムを作成しました。
OllyDbg デバッガーでコードをチェックすると、次のようになります。
私の質問は、実際のコード (00401010) の前に、これらの 11 バイト (00401005-0040100F) にパッチを適用するコンポーネントはどれですか? なぜ?
Windows XP SP3、MASM、および OllyDbg を使用しています。
OK、ここに説明があります (気になる方へ): このコードは DEBUG モードでビルドされているため、アセンブラー/リンカー (どちらが正確かはわかりません) がこれらの余分なバイトを追加します。JMP は、一連の INT 3 命令をバイパスする必要があるため、プログラムを実行できるようにするために存在します。プログラムが RELEASE モードでビルドされた場合、そのような追加のコードは添付されません。
bit - リバース エンジニアリング、左ビット シフト 7
ゲームの機能をリバース エンジニアリングしようとしていますが、ちょっと混乱しています。私はリバースエンジニアリングにかなり慣れていないので(ところでollydbgを使用しています)、すべてのトリックと詳細についてまだよく知りません。
とにかくここに私の問題があります。この関数は、ゲーム内のアイテムを拾うときに呼び出されます。次に、アイテムの値を計算し、この値をスコアに追加します。関数が呼び出される前に、アイテムの ID であると確信している値がプッシュされます。これは私を混乱させるコードです:
ESI = アイテムの ID EDX = 定数値 FE56A0
EDX (FE56A0) はアイテムの配列の開始点であり、ESI はアイテムのインデックスであり、42 はアイテムが保持する値のインデックスであると推測していました。ESI を 7 だけ左にビット シフトするため、これは少し奇妙です。ESI が増加すると、ビット シフトされた値は直線的に増加しません。
したがって、EDX が配列の開始を表し、ESI がインデックスである場合、配列内の項目は同じサイズにはなりません。このコードの意味は私を困惑させています。
このコードが何を表しているか、誰にもわかりませんか?
c++ - OllyDbgはVisualStudioexeをデバッグできません
この単純なコードを使用して、新しいvc++exeを作成しました。
アプリは非常にシンプルで、kernel32.dllとMSVCR100D.dllに応じたexeファイルが作成されます。
それをOllyDbgにインポートしてデバッグしようとすると(スタックウィンドウにSEHチェーンを表示したかっただけです)、「モジュール'testseh'にはコード外のエントリポイントがあります(PEヘッダーで指定されています)。おそらくこのファイルは自己解凍または自己変更。ブレークポイントを設定するときは、この点に注意してください。」コードは実行されず、ntdll.dllクラッシュ部分に直接ジャンプします(実際にはexeがクラッシュしていますが、printf命令をステップバイステップで実行することはできません)
どうしてこの振る舞いなの?exeファイルはCLIにもCLRにも依存していませんが、何かが足りませんか?
reverse-engineering - プログラム前の Ollydbg 命令
私はリバースエンジニアリングが初めてで、簡単なプログラムを見てきました:
ただし、これを ollydbg で開くと、gdb の場合とは異なり、アセンブリに直接移動しません。最初にさらに多くの命令があります。どうしてこうなったんだろうと思いました。
ありがとう!