Profile

youngsouk

youngsouk

코딩 중

데이터의 패킹&언패킹 함수 구현과 process함수의 동작방식을 자세하게 구상해보았다.

내가 구현한 패킹&언패킹 함수는 이렇다.

unsigned long long * p64(unsigned long long value){
    unsigned long long * tmp = malloc(sizeof(unsigned long long) + 1);
    *(tmp) = value;
    *(char *)(tmp + sizeof(unsigned long long)) = '\0';

    return tmp;
}

unsigned int * p32(unsigned int value){
    unsigned int * tmp = malloc(sizeof(unsigned int) + 1);
    *(tmp) = value;
    *(char *)(tmp + sizeof(unsigned int)) = '\0';

    return tmp;
}

 

Process함수의 동작방식은

1. pipe함수를 2번 사용하여 읽기&쓰기용 파이프를 만든다

2. fork()를 통해 자식 프로세스를 실행한다.

3. 자식프로세스와 & 부모 프로세스는 자신에게 불필요한 파이프를 닫는다.

4. 자식프로세스에서 execl()함수를 통해 해킹 대상 프로그램을 실행한다.

5. 자식프로세스에서 자신의 표준 입력 & 쓰기를 닫고 1번과정에서 생성한 파이프로 표준 입력&쓰기를 재설정한다.

이정도로 구상하고 있다.

'1인 1프로젝트' 카테고리의 다른 글

코딩&디버깅 중  (0) 2021.06.08
코딩중  (0) 2021.05.25
코딩 중  (0) 2021.05.10
코딩시작  (0) 2021.04.27
동작방식 설계  (0) 2021.04.26