목록분류 전체보기 (167)
GaGe
해봤지만 생각보다 길고 아무생각없이 엔터만 눌러서 뒤로 갈 수 없었으므로 이따 새벽에 다시 도전해서 정리해서 올려보겠습니다 ㅎㅎ....
SISS 겨울학기 스터디 정리 ##(필독 >ㅂ트레이너 2주간동안 끝내기(보고서 동일) 2) C언어 & 리눅스 리눅스 아직 덜 공부 했으니까 C언어부터 1주일에 1문제씩 나감(보고서 제출 동일) -> 회의 때 낸 사람이 풀이 해 줌 (4주차 이후에는 리눅스 문제 나감) 과제 제출->보고서 제출(막 자세하게 쓰라는 것은 아니지만 1번은 학습일지? 처럼 제출 해 줬으면 좋겠어 나중에 또 꺼내보게 되더라고) // 나한테 개인톡으로 1,2 보고서 제출 // (선택) 블로그에 개인 스터디 내용 정리해서 올리기 -->나중에 스펙이 될 수 있어서 권장하긴 하지만 필수는 아님 발표 -> 회의 때..
일단 문제! 이 프로그램의 등록키는 무엇인가? 프로그램을 실행시켜보자! 이런 실행창이 뜬다. 올리디버거로 열어보자 그리고 함수문장들을 쭉 보자 딱히 눈에 띄는 함수가 없어보였다. 그렇다면 아까 오류창에 나오는 메세지를 텍스트 찾기로 찾아보자. 실행시키고 해보자 이거밖에 없다. 뭘까 시간이 더 필요하다... 다시 공부해서 수정해서 올리겠다..
일단 문제 본문이다. 디버거를 탐지하는 함수의 이름을 올리디버거로 열어서 찾아보자. 일단 파일을 실행해보았더니 정상만 계속 뜬다. 디버깅을 탐지하지 못하는 것 같다. ?? 왜 여기서 실행하면 디버깅 당함으로 바뀔까 함수 이름 찾기로 debugger와 관련되어 보이는 함수를 찾는다 계속 찾아보니 여기서 문제가 있는 듯한데, .... 어.. 왜일까.. 일단 디버깅과 관련된 함수로 보이는 isdebuggerpresent가 보인다. 이 함수는 디버깅을 감지하면 EAX에 1을, 정상이면 0을 대입해준다. 그렇다면 EAX에 1이 감지되어서 계속 디버깅이 뜨는 거 같은데 이 EAX를 0을 감지하게 만들면 정상이 뜨지 않을까? EAX를 0으로 감지하도록 바꿔준다. 실행시켜보니 올리디버거로 실행시켜도 정상으로 뜬다!