execve

    1

    1答えて

    26: execve(prog[0],prog,env); 27: return 0; execve() does not return on success, and the text, data, bss, and stack of the calling process are overwritten by that of the program loaded

    0

    3答えて

    関数execve(x86_64 Linuxの下で)の実装を見るには、ライブラリunistdにありますか? execveを呼び出さずに、アセンブラを使用して外部プログラムを呼び出す方法を知りたいので、これが必要です。 私はexecveという名前のシステムコールがあることを知っていますが、私はそれをどのように使うことができるのか分かりません。 変数char *と型char * []をレジスタに入れるに

    0

    1答えて

    私はexecveコマンドでファイル記述子を渡してから、それを他の側にアクセスする方法を知りたいと思います。私はファイル記述子をリダイレクトするためにdup2を使うことができますが、私はそれを行うことはできません。実際にファイル記述子を子に渡し、子で使用する必要があります。 親がパイプ+そうのような引数を行います: int pfd[2]; if(pipe(pfd) == -1) exit

    0

    1答えて

    64bit AsmでSecurity Tubeのexecveチュートリアル(http://hackoftheday.securitytube.net/2013/04/demystifying-execve-shellcode-stack.html)を模倣しようとしています。バスエラーがどこから来ているのか分かりません。私はGDBのアプリケーションを踏みとどったが、エラーは私がフレーム外になるまで起

    2

    2答えて

    引数なしでunix外部コマンドを呼び出す方法が見つかりました(例: "ls"、 "pwd")。そのようにそれを行く: //Child process char cwd[1024]; getcwd(cwd, sizeof(cwd)); char *argv[] = {*args, NULL}//(ex.) {"ls", NULL} char *env[] = {cwd, NULL}; //

    2

    1答えて

    2つのプログラムXとYがstdinからの入力を求めているとします。 XとYはfork()を使用して実行され、次にexecve()がAから3番目のものから実行されます。 Xが最初にスケジュールされていることが起こっています。 Xがscanfステートメントに達すると、Yはスケジュールされ、Xは決して入力を取得しません。どのように私はそれを世話しますか?

    2

    2答えて

    fork()を使用していくつかのプログラムを実行し、次に第3のプログラムからexecve()を実行します。これらのプログラムはすべて実行されていましたが、最終的には3番目のプログラムは戻りません。つまり、コマンドプロンプトが表示されません。 呼び出しプログラムでwait()コマンドを使用した場合、execveのプログラムは、waitステートメントの順序がexecveプログラムの終了の順序と一致する

    1

    2答えて

    私はexecveにいくつか問題があります。私はbashシェルのように機能するシェルを作ろうとしていますが、forkした子がコマンドを実行する際に問題があります。ここで私は子供のために持っているものです。 。cmdは、私がこのプログラムを実行すると、私はperrorはこのエラーを取得し、しかし、ユーザーが入力したコマンドを使用してのchar *である:私は簡単なのlsを使用してプログラムを試してみま

    8

    3答えて

    私たちは先生の通訳に苦労しています。私たちは、あなたができる、そのようにエクスポートした変数とそれに環境あなたのセットアップを送信し、/ binに/ bashののサブシェルを起動するための組み込みコマンドを作成し、明確化を求め、バック彼から はexecveについては、次のですenvを使用してエクスポートされた変数を確認してください。 (彼はここで独自の環境変数を作成しています) はい独自の作成しま