본문 바로가기

전체 글55

crackme4 crackme4 프로그램을 실행시켜보면 다음과 같은 창을 볼 수 있다 어떤 값을 입력해도 Registered 버튼이 활성화 되지않는다.Serch for 에서 All intermodular call을 하면 프로그램에서 call하는 모든 함수를 볼 수 있다. 어떤 값을 Check한다는 함수가 보이는 곳으로 들어가면 strcmp 문장을 비교하는 부분이 보인다.이부분에 break point를 걸고 입력을 시작하면 strcmp 부분에서 걸리는것을 확인할 수 있다.이때 스택에 EAX 와 ECX 값을 넣고 비교를하는대 ECX 값을보면 '2186275' 값이 있다.이 값을 넣어보면 문제가 해결되는것을 확인할 수 있다. 2015. 5. 27.
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.