問題タブ [virtualalloc]

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.

0 投票する
3 に答える
5771 参照

pointers - ポインターをバイトスライスに変換する

Golangのパッケージ内のMmap()syscall は型を返しますが、基になる syscall は実際にはポインターを返します。これはどのように行うのですか?x/sys/unix []byte

より具体的には、Golang 開発者によるこのVirtualAllocパッケージでは、関数は単純にポインターを返します。Unix パッケージで行われているのと同じ方法で、これをどのようにバイト スライスに変換できますか?

0 投票する
1 に答える
166 参照

c - ユーザー定義アドレスへの DLL のロード

loadlibrary()DLL をユーザー定義メモリ アドレスにロードする方法、または関数を使用して DLL をロードした後に DLL アドレスを変更することは可能ですか。

VirtualAllocEx()メモリアドレスを割り当ててDLLをリモートプロセスにロードするために使用してみました。DLL はリモート プロセスにロードされていますが、アドレスが同じではありません。

関数を使用してみrebaseimage()ましたが、DLL をロードした後にメモリ アドレスが変更されました。

0 投票する
0 に答える
87 参照

c - VirtualAlloc() は特定のメモリ アドレスでは機能するが、他のメモリ アドレスでは機能しない

VMdriver5.exe というプログラム (添付した画像の左側) を実行しています。このプログラムは、VMmapper.exe という別のプログラムのプロセスを作成します。VMdriver5.c コード内で、その PID を (GetCurrentProcessId() を使用して) 取得し、作成時にその PID を VMmapper.exe に渡します。これにより、VMmapper は VMdriver5.exe のメモリ レイアウトを表示するため、仮想メモリ オプションを確認できます。

VirtualAlloc がメモリの空き領域で失敗する

特定のメモリ アドレスで VirtualAlloc() を呼び出すと正常に動作するため、何か助けが得られるかどうか疑問に思っていました。ただし、下の画像でわかるように、503,808 バイトの空きメモリ領域があり、 VirtualAlloc() を使用してその領域の 65,536 バイトを確保しようとしましたが、何らかの理由で失敗しました。パラメータの 1 つとしてメモリ アドレス 00185000 を渡します。

私が使用しているコードは次のとおりです。

助けていただければ幸いです。必要に応じて、さらにコードや情報を提供できます。みんなありがとう、ハッピーイースター。