OutDoorFrog의 리버싱 이야기
배우지 못했던 일부의 "윈도우즈 시스템 프로그래밍" 본문
안녕하세요! 블로그의 주인장인 OutDoorFrog입니다!
오늘 다뤄볼 주제는 바로!! 배우지 못했던 "윈도우즈 시스템 프로그래밍" 입니다!!
제가 독학을 할 때 따로 공부하지 못한 부분들이 있습니다.
윈도우 빠돌이를 자처하는 사람으로써, 오늘은 이 중대한 문제를 거론하고자 합니다.
제가 Windows API에 입문했을 때 같이 즐겨보았던 책입니다.
악성 코드를 분석하기 위해서 반드시 알아야할 개념, 함수를 정리해놨습니다.
악성코드를 분석하기 원한다면 반드시 한 번 쯤은 봐야할 책으로써
WDK, MFC, ATL 등 상위 단계를 공부할 때 반드시 필요합니다.
제가 책을 꼼꼼히 안 읽고, 유튜브를 덜 활용하는 경향이 있었습니다.(외부 활동도 안하고)
이끌어주던 선배님이 취업을 나가신 후 저 혼자 독학을 하게 됬습니다.
그 때 모르는 개념은 건너 뛰면서 공부했는데 그 개념 공부를 아직도 안하고 있었네요;;
(아마 이건 WaitForSingleObject와 곁들여서 설명할 듯 싶네요.)
(이건 아직 이해를 못한 상태일 겁니다.)
쓰레드 동기화의 개념/임계 영역 접근 동기화
(세마포어와 뮤텍스 스레드풀에 관련된 이야기 겠군요. 생략했을 겁니다.)
(예외 처리 기법에 대해서 설명해주셨습니다.)
이후 내용은 요약해서 언급하겠습니다.
힙 컨트롤(안 배움),
가상 메모리 컨트롤(음.. 한 적은 있는듯)
알림 가능한 상태, APC(뭔지 모름),
캐쉬와 캐쉬 알고리즘
C++에서 사용하는 문법들까지 합해서
적어도 구현은 해봤을 수도 있지만
리버싱까지는 해본 적이 없는 부분들입니다.
악성코드분석을 취미로 가진 고등학생으로써 말씀을 드리자면
악성코드 분석에 사용해야 하는 기초적인 지식들이 있습니다.
사용되는 언어, 운영체제에 간섭할 수 있는 매개체(API),
리버스 엔지니어링, 취약점, 악성코드에 대한 지식...
이런 기초적인 지식들이 부족할 때 기본은 버티지 못하고 무너집니다.
'A','N','T' 중에 T를 몰라서 'ANT'를 다 못 쓰는 꼴이지요.
고교 생활이 바빠지기 전 기초, 기본이
부족한 자신을 보충할 수 있는 기회인듯 싶습니다.
기본이 부족한 사람, 응용을 조금 경험한 사람이 한 말씀을 드리자면
기본이 없다면 응용이 안됩니다.
테크트리라는 단어가 우연히 생긴 단어가 아닙니다.
제가 응용 이해할려고 그 부분을 7번 이상 읽었고...
기본 다지는데 그 노력을 쏟아 부으면 나중에 후회를 안합니다.
'취미 > 나를 되돌아 보는 시간' 카테고리의 다른 글
공부해야할 목록 (1) | 2018.09.17 |
---|---|
그동안 봐왔던 리버싱 문제 유형 정리 (0) | 2018.09.17 |
앞으로의 CTF 대비 및 환경 구성, 공부 방향 및 계획 (0) | 2018.09.10 |
CTF에 대해서 생각하다 (0) | 2018.09.06 |
내일 2개는 적어도 삽질하자. (0) | 2018.09.05 |