목록Reversing (19)
Iriton's log
이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가? 필요 개념 정리 TEST EAX, EAX: EAX의 값이 0인지를 판별하는 코드이다. 풀이 프로그램을 실행시키면 일정 시간이 지남에 따라 "정상"이라는 문구가 출력된다. 올리 디버거로 열어 보았다. 올리디버거를 통해 실행시키니 "디버깅 당함"이라고 출력을 한다. 올리디버거를 통해 F8을 누르면서 코드 흐름을 따라가 보았다. 그러다 00408454 부분에서 어떤 함수를 CALL하니 문자열이 무한반복으로 출력된다는 것을 알게 됐다. [Ctrl + G]를 눌러 해당 주소(0040100F)로 이동하였다. IsDebuggerPresent라는 함수가 의심스러워서 실행시켜 보니 EAX 값이 0에서 1로 변한다. 그..
패스워드로 인증하는 실행파일이 손상되어 실행이 안 되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오. 필요 개념 정리 HxD: 헥스 에디터 프로그램. 평균적으로 16진술 표현된 이진파일을 읽을 수 있게 보여주는 프로그램. 주로 파일 및 프로그램의 내부 데이터 값을 분석, 수정, 복구, 삭제 등을 할 때 사용. 풀이 프로그램을 실행시키면 위와 같은 사진이 뜬다. 올리디버거로도 열리지 않아서 검색해 보니 HxD라는 헥스 에디터 프로그램을 사용해야 된다는 것을 알았다. 헥스 에디터 다운로드 링크 Downloads | mh-nexus Downloads I am looking for new translators, if you want to help, here is a list of unmaintained tra..
HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가 풀이 프로그램을 실행하자, HDD를 CD-Rom으로 인식하게 만들라고 뜬다. 올리디버거로 열어보았다. EAX와 ESI를 비교하여 일치하면, 즉 EAX - ESI 값이 0이면 점프문이 실행된다. GetDriveTypeA 함수가 실행되고 나면 EAX 값이 3으로 바뀌는데 CMP 코드로 인해 점프문이 실행되지 않았다. EAX 값은 3이 아니라는 뜻이다. CMP 코드 전에 ESI 증가 코드가 세 번, EAX 감소 코드가 두 번이 나왔다. EAX가 ESI 값인 3이 되기 위해서 리턴값이 5가 되어야 한다.