이 사이트의 예제들을 눈으로 훏어보고 포인터를 활용하는 간단한 프로그램들을 만들어보면서 기억을 되살렸다.
또한 이전에 풀었던 해킹 문제 writeup 글들과 리눅스 라이브러리 코드 글들을 보면서 해킹 지식을 기억하려고 노력했다.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define BUF_SIZE 100
int main()
{
FILE *fp = NULL;
FILE *fp2 = NULL;
int nbyte=0;
char buf[BUF_SIZE]={0, };
// file open
fp = fopen("./proto.c","rb");
if ( fp == NULL )
{
printf(" fopen() error \n");
exit(0);
}
fp2 = fopen("./p.txt","wb");
if ( fp2 == NULL )
{
printf(" fopen() error \n");
exit(0);
}
// Read data from proto.c : BUF_SIZE
while(1)
{
memset(&buf, 0, BUF_SIZE);
// file read
nbyte = fread(buf, 1, BUF_SIZE, fp);
if ( nbyte <= 0 ){
break;
}
// new file write
fwrite(buf, 1, nbyte, fp2);
}
fclose(fp);
fclose(fp2);
}
이 코드를 작성하면서 memset, scanf, FILE IO, socket 등에 대한 지식을 되살렸다.
이 코드 외에도 github에서 C언어로 짜여진 프로그램 분석을 열심히 했다.
'1인 1프로젝트' 카테고리의 다른 글
동작방식 설계 (0) | 2021.04.26 |
---|---|
구조체 설계 (0) | 2021.04.20 |
환경구성 (0) | 2021.03.23 |
프로그램 구조 및 언어 계획 (0) | 2021.03.22 |
프로젝트 계획서 작성 완료 (0) | 2021.03.15 |