問題タブ [execv]

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 投票する
1 に答える
97 参照

security - ExecV から bash シェルが生成されない

http://www.securitytube.net/groups?operation=view&groupId=4Ubuntuのビデオに従って、12.04 32 ビット マシンでのバッファ オーバーフローについて学習しようとしています。現在、パート 5 に取り組んでおり、再配置可能なコードを挿入して、ExecVe を介して bash シェルを生成します。

パート 5 のビデオに示されているようにShellcode.c、 を使用して問題なくビルドできます。gcc -mpreferred-stack-boundary=2 -o Shellcode Shellcode.cただし、C コードを実行すると、取得できるのはSegmentation Fault (core dumped). ビデオに示されているように、bash シェルが生成されません。

デモが示すように bash シェルを生成しない理由を誰か教えてもらえますか? これは、新しいバージョンのカーネルを使用しているためだと直感的にわかります (デモで何が使用されているかわかりません)。

ありがとう!

コードは次のとおりです。

0 投票する
2 に答える
1640 参照

c - リダイレクト演算子 '>' を execv の引数として渡すにはどうすればよいですか?

Linuxターミナルで、入力できます

execvを使用して同じことができると思いました:

ただし、このコードは「hello!」とは書きません。これが私がやりたいことです。execv と echo を使用してこれを行う別の方法はありますか?

編集:解決策として dup2 も使用してみました: #include #include #include

ただし、これでも私が望む結果は得られません。これは「こんにちは!」と書きます。ファイルに追加されますが、ファイルに既に書き込まれている他のすべてのものも上書きされます。どうすれば「こんにちは!」ということを保証できますか? ファイルの END に書き込まれますか?

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

ffmpeg - execv を使用して ffmpeg 取り込み rtmp ストリームを実行する方法

Linuxで次のコマンドを正常に実行できます:

しかし、次のコードでは機能しません:

誰かが理由を知っていますか?

0 投票する
2 に答える
439 参照

c - C プログラムが待機ステートメントから戻らない

C プログラムを OpenVMS から Linux に移行する必要があり、サブプロセスを生成するプログラムで問題が発生しています。サブプロセスが生成されます (fork は正常に動作します) が、execve は失敗します (間違ったプログラム名が指定されているため、これは正しいことです)。

しかし、アクティブなサブプロセスの数をリセットするために、後で wait() を呼び出しますが、戻りません。ps 経由でプロセスを見ると、これ以上サブプロセスがないことがわかりますが、wait() は思ったように ECHILD を返しません。

サブプロセスがもうないことを待機コマンドに伝えるために何かしなければならないことはありますか? OpenVMS では、プログラムは正常に動作します。

ご協力ありがとうございました