>> Delete Reply from No. 49144 article
No. RE: [프로그래밍] 왜 이리 막히는게
많은지..도와주세요

등록 2002-05-16 09:03:00 By localhost     조회 1
이름 송관선    

		안녕하세요..
조기.. 밑에 답변달았던 넘인데요..
execve에서 /bin/sh 말구여
딴걸로 테스트 해보심이..
sh를 다시 호출하면 부모 프로세스가 사라지지 않나 생각됩니다.
그래서 밑에 있는 프린트문이 안찍히는것 같네요..
그리고, argvr[2]에서요, /bin/ls -a를 실행시키시려고 한것 같은데
이게 execve의 첫번째 아규먼트로 와야 하지 않나요?
에궁.. 잘 몰르것심다..
 : 우선 밑에 답변 달아주신분 감사합니다.
: 너무 바빠서 감사답변도 못달겠네요. 너그러이 생각해주세요.
:
: 다시 묻게 됐습니다. ㅡㅜ
: 시스템 콜함수 때문인데요..
: system을 쓰다가 안되서 execve을 씁니다.
: system을 쓰니까 어느부분에는 system을 인식하고
: 어떤부분에서는 system을 아예 무시하고 다음줄 소스부터
: 실행하더군요. 무슨 조화인지..
:
: 일단 소스 보여드릴께요
:
: main()
: {
:
: 	char co1<>="/bin/ls";
: 	char co2<>=" -al";
: 	char st2[100]={0};
:
:
: 	char *argvr[4];
: 	argvr[0]="bash";
: 	argvr[1]="-c";
: 	argvr[3]=0;
:
: 	strcat(st2,co1);
: 	strcat(st2,co2);
: 	argvr[2]=st2;
: 	execve("/bin/sh",argvr,(char *)0);
: 	printf("complete message!!! i want see.pleas");
:
: }
: 문제가 어떤거냐면 이놈을 실행시키면 execve까지 실행하고
: 그다음 printf절을 무시해버립니다. 혹시나해서 다르게 소스도
: 고쳐봤지만 execve실행하고 그다음 종료하고 빠져나가버리는것같더군요.
: 왜 이런거죠?
: execve저거 man페이지 뒤지면서 쓴건데 ㅡㅜ.. 틀렸나요?
:
: 시스템 콜함수에 대한 지식도 없는대다가 프로젝트는 해야겠고..
: 기한은 임박해오고 자꾸 질문드리는게 죄송스럽지만..
: 이렇게 밖에 해결할수가 없군요..
:
: --
:
: 좋은 하루되세요.--빡/센/여/름/을/보/내/장
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved