問題タブ [kernel32]
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.
python - Python WaitForDebugEvent & ContinueDebugEvent (グレイハットパイソン)
「グレイハットパイソン」を読んでいます。
プロセスのスレッドを取得し、すべてのレジスタ値をダンプする例があります。
本からソースをコピーしましたが、うまくいきません。
ここに私が問題だと思うソースの一部があります。
これらの 2 行は前の例で使用され、この例ではコメント化されています。
これらの 2 行はコメントアウトされています。問題は、self.debugger_active が True の場合、WaitForDebugEvent と ContinueDebugEvent を介して実行されることです。
ただし、スレッドなどを開かないでください。理由がわかりませんが、39回実行されます。
これが完全なソースです。
追加した
これを少しデバッグしたところ、get_thread_context
が呼び出されると常に false が返されることがわかりました。
また、 の最後ではContinueDebugEvent
、 を呼び出しませんEXIT_THREAD_DEBUG_EVENT
。を呼び出した直後にプログラムを終了するだけEXEPTION_DEBUG_EVENT
です。
これら2つが関連しているかどうかはわかりませんが、更新として。
どうもありがとうございました。
パーツソリューション
コードに 1 つの大きなエラーが見つかりました。
本に何らかの編集版があるかどうかはわかりません。
とにかく、私の問題の 1 つは、それget_thread_context
がうまくいかないことでした。
ソースは次のように変更する必要があります
どういうわけか本のソースでは、スレッド ハンドルが のパラメータとして指定されていましたopen_thread
。すでにスレッド ハンドルを取得しており、それを のパラメータとして指定していますget_thread_context
。したがって、その必要はありません。
=============== 他のエラーの解決策はまだ見つかりません。で終わらContinueDebugEvent
ないものEXIT_THREAD_DEBUG_EVENT
。
c# - FindFirstFile と GetFileSize / GetFileSizeEx を組み合わせてパフォーマンスを向上させます (kernel32)
フォルダーとファイルを取得するためにFindFirstFile
andを使用しています ( )。
は遅すぎて、250 文字を超えるパスをサポートしていません。FindNextFile (kernel32)
c# Pinvoke
System.IO
FindNextFile
ファイルのバイト長を取得するために返されたハンドルを使用することは可能ですか?
現在の試行は を返しますINVALID_HANDLE
。その理由は、createfile コールバックではなく、ディレクトリ コールバックにあると思います。
CreateFile
ファイルハンドルを「2回」取得するために再度呼び出すことは避けたいです。とても遅いです。
ありがとう。
api - Kernel32 の VirtualProtect の機能は何ですか?
私はファイルをリバースエンジニアリングし、このコード行に出くわしました
この行に対する ollydbg のコメントは、Kernel32.VirtualProtect です。
問題は、この関数が何をするかです。私はすでにmsdnでこの機能について独自の調査を行っていますが、まだ明確に理解できていません。また、それが保護するメモリまたは仮想ページ (名前は何でも) が ollydbg で読み取れないということですか?
c++ - kernel32.dll 関数をフックすると、プログラムが動作しなくなります
kernel32 関数の 1 つをフックするときにプログラムを実行できない理由を知っていますか? 私はアンチチートを書いていて、現在スレッドにあるのでもっと最適化したいのですが、何かがおかしいです...
以前にフックしようとしたことと同じ問題があるため、 OpenProcess が書かれています。
python - Python kernel32.CreateProcessA からの終了コード
kernel32.CreateProcessA を使用して Python でプロセスを実行しようとしています。私のコードは以下のとおりで、実行中のスクリプトは単純に -1 を返します (したがって、Returns-1.py という名前が付けられています)。ただし、終了コード値にアクセスすると (正しいと思われる方法で)、0 が返されます。-1 であるはずの戻りコードにアクセスする方法がわかりません。どんなアドバイスでも大歓迎です。