본문 바로가기

Study/Reversing14

crackme3 먼저 crackme3 프로그램을 실행시켜보면 다음과같은 메세지박스를 볼 수 있다. 그리고 실행시켜보면 두번째 메세지박스 가 뜬다 back to user mode로 이 메세지박스의 위치로 보면 다음과 같은 화면을 볼 수 있다. 보면 Well done 이라는 메세지 박스를 출력하면 성공하는것 같다.저 메세지박스를 출력하기위해선 우선 JNZ SHORT Crackme_.00401060을 점프하지 않아야된다.분기문 위의 조건을 보면 먼저 CreateFileA 함수의 결과에따라 분기문이 하나 있는대 조건을 보면 CMP EAX, -1의 결과가 같을시 점프를 한다고한다.EAX의 값은 CALL CreateFileA에 의해 변조되는대이 함수의 기능들을 위에서 살펴보면 OPEN_EXISTING FileName = "abex.. 2015. 5. 26.
crackme2 crackm2 를 켜보면 다음과 창을 볼 수 있다. name과 serial을 입력하면 검사를 한 뒤 어떤 메세지박스를 띄울것인지 결정한다. back to user 모드로 를 이용해 이 Wrong serial! 메세지박스의 위치를 찾아보자. CALL DWORD PTR DS: [] 함수를 실행하고TEST AX AX 뒤에 이 메세지박스를 출력할지 결정한다.그리고 더 위로 올려보면 Congratulations 메세지박스를 출력할지를 결정하는 분기문이 보인다. 00403329 . FF15 58104000 CALL DWORD PTR DS:[]0040332F . 66:85C0 TEST AX,AX00403332 . 0F84 D0000000 JE Crackme_.00403408 이 부분의 분기문을 점프하지 않고 들어가야.. 2015. 5. 25.
nag 제거, PE 헤더 tuts4you 에 있는 Lena 라는 제작자가 40장 정도의 분략으로 플래시 강좌를 만들어 놓은 것을 검색으로 찾을 수 있다.3번 강좌에 있는 RegisterMe.exe 와 RegisterMe.Oops.exe 프로그램을 실행시켜보면 다음과 같은 nag 창이 나오는 것을 볼 수 있다. 그리고 프로그램이 종료될 때 다시한번 nag 창이 나온다. 총 2곳 존재한다.nag 메세지 박스가 나오는 부분을 강제로 jump 시켜 nag 창이 나오지 않도록 할 수 있지만. PE구조의 EP 주소를 수정하여 nag 가 뜨는 부분과 만나지 않도록 수정해 보자. M(Memory Map) 으로 표시된 버튼을 클릭해서 PE 헤더 부분을 확인해 보자. 00400000 주소의 사이즈가 1000(16진수)까지가 PE 헤더이다. 해당 .. 2015. 5. 21.
KeyFile 체크 문제 풀이, 바이너리 수정 crackme 15 를 올리디버거로 열어본 뒤all reperenced text string 을 보면 solved 라는 문장과File Monitor 라는 눈에띄는 문장이 보인다. FileMonitor 를 실행시키면 다음과 같은 창을 볼 수 있는대project1.exe를 입력하면 문제에 관한 이벤트만 볼 수 있다. C:\Document and Settings\Adminstrator\바탕화면\keyfile\kernel32.dll 파일을 찾고있는대아무 텍스트파일을 이름을 바꿔서 같은 위치에 넣어두면 다음과 같은 결과를 얻을 수 있다. 이재 디버거로 가서 solved 스트링의 위치로 가보자. EDX에 solve 를 넣고 call 하는것을 볼 수 있다. 그럼 이 넣는 부분을 실행하기 위해서는 이 함수부분에 진입해.. 2015. 5. 19.