>> Edit article
이름
제목
패스워드
안녕하세요.. 조기.. 밑에 답변달았던 넘인데요.. 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