私はPEBで働いています。_RTL_USER_PROCESS_PARAMETERS の中に入ることができました。私の目的->バイナリファイル(.exeファイル)を使用してのみ argc と argv .(可能であればそれらの値も)のメモリアドレスを知ること 私の現在のアプローチ->コマンドライン文字列(構造体 _RTL_USER_PROCESS_PARAMETERS.
acプログラム内にasmを埋め込むことで、なんとか内部に入ることができました
mov eax:fs[0x30]
mov [PEBaddress] , eax
mov ebx, [eax+0x10]
mov [ProcessParameters] , ebx
Windowsデバッガーでバイナリを調べて、オフセット0x30と0x10を取得しました
現在、Processparameters アドレスから 0x40 のオフセットに、文字列コマンドラインがあります。これは、argc と argv の値を保持しているとさらに信じているバッファです。
問題: そのバッファを読み取り、argc と argv (プロセスに渡されるコマンドライン引数) のアドレス値を取得したいのですが、バッファを読み取るためのコード (Unicode 文字列であるため) を提供することで、誰でもこれを可能にできますか?必要なアドレスを取得します。
この仕事を行う別の方法はありますか? (また、main 内の argc と argv のアドレスを出力するオプションを私に与えないでください) 静的な回答が必要です。