반응형

crackme 5

Crackme5

crackme 5 crackme5.exe을 실행시키면 다음과 같이 나온다. 임의의 값을 넣어서 check 해보니 error가 나온다. Ollydbg로 살펴보자 가장먼저 string값들을 살펴본다. Search for -> All referenced text strings로 간다. Error와 올바를 때의 string들이 있다. error의 주소로 가서 breakpoint를 걸어 주었다. 그 후 실행하였다. 아무 값이나 넣어주었다. 그러자 조금 위로 올렸더니 위의 주소값들에서 입력했던 값과 함께 어떤 값을 볼 수 있다. 자세한 값은 다음과 같다. Serial 값에 이 값을 넣어 주었다. 올바른 결과를 얻을 수 있었다.

Crackme4

crackme 4 crackme4.exe을 실행시키면 다음과 같이 나온다. Serial 번호를 입력하도록 되어있지만 registered 버튼이 활성화되지 않는다. Ollydbg로 확인해보자. 이번 단계는 jmp문을 찾기가 어렵다. 오른쪽 마우스를 누르고 Search for -> All intermodular calls를 누른다. 이 중에서 Serial로 입력하는 값과 비교를 하는 module을 찾는다. 중간에 vbaStrCmp가 비교하는 module인 것 같다. 더블클릭을 해서 해당 주소에 breakpoint를 걸어주었다. 그 후 실행을 해 보니 ECX값에 무언가 써있는 것이 보인다. 그 값을 Serial 값으로 넣어 주었더니 registered 버튼이 활성화 되었다. 버튼을 클릭하니 올바른 결과가 출력..

Crackme3

crackme 3 crackme3.exe을 실행시키면 다음과 같이 나온다. Keyfile을 찾을 수 없다는 내용이 나온다. Crackme3.exe를 Ollydbg로 확인하자. 중간에 CreateFileA라는 부분이 보이고 파일 이름은 abex.l2c로 보인다. abex.l2c 파일을 임의로 만들어 주었다. 그랬더니 다른 결과 창이 나왔다. 찾은 파일이 올바른 파일이 아니라고 나온다. breakpoint를 걸고 살펴보았다. 윗부분에는 EAX와 12를 비교하여 같은 경우 올바른 결과의 주소로 가는 것으로 보인다. EAX의 값을 살펴보면 18로 되어있다. 만들어주었던 내용의 길이를 살펴보니 24글자로 이는 16진수 18에 해당한다. 그럼 이 값을 16진수 12인 18글자로 변경해보자. 18글자를 입력해주고 저..

Crackme2

crackme 2 crackme2.exe 파일을 실행하면 다음과 같이 나온다. Name과 Serial에 아무 값이나 넣어서 check 버튼을 눌러보면 오류 창이 뜬다. 해당 Name에 맞는 올바른 Serial값을 넣어야 하는 것으로 보인다. 그럼 이 파일을 Ollydbg에서 실행을 해보자 여기서 올바른 Serial 값을 넣었을 때 출력되는 내용을 찾아보자 오른쪽 마우스를 눌러 Search for -> All referenced text strings를 눌러준다. 그러면 String 값들이 나오게 되고 내리다 보면 Congratulation 이라는 성공 했을때의 문자열이 보인다. 그럼 break point를 걸어 실행을 해보자 Wrong serial! 이라는 string이 써 있는 곳에 F2를 눌러 bre..

Crackme 1

crackme 1 abex' crackme #1.exe 파일을 실행하면 다음과 같이 나온다. 처음엔 HD를 CD-Rom으로 생각하도록 하라고 나오고 확인을 누르면 error창이 나오면서 이것은 CD-Rom이 아니라고 출력 되는 것을 볼 수 있다. 해당 파일을 Ollydbg에 올려보면 다음과 같이 나온다. Messagebox 부분이 끝나면 call이 실행되면서 messagebox가 나오게 된다. 다음 부분을 보면 EAX와 ESI를 비교하고 같다면 주소를 점프하도록 되어있다. 점프하는 주소는 올바른 결과가 출력되는 곳의 주소로 보인다. 그렇다면 점프하는 부분을 EAX와 ESI가 같을 때 점프하는 것이 아닌 무조건 점프하도록 바꾸어주자. 해당 줄을 더블클릭하면 다음과 같이 나온다. 원래의 내용으로 해당 내용을..

반응형