시스템 보안/실습

시스템 보안/실습

[System] crackme4번 풀이

crackme4 사실 엄청나게 쉽게 푸는 방법이 있다. "0040112A" 의 값인 "JE SHORT test.0040113B" 의 값중 "JE"를 "JMP" 바꿔주면 된다. 하지만 이렇게 풀면 실력이 안오를것 같다. 먼저 코드분석을 위해 serial 값이 딱 들어가기 직전에 Break Point를 걸었다. 첫번째로 중요한 부분은 여기 부분이다. "ESI"의 값과 "EAX"값을 비교하면 참, 거짓 결과에 따라 JE 함수가 실행된다. 현재 "EAX" 의값은 "7", "ESI"의 값 또한 "7"이다. 여기서 "ESI" 의 값은 "hACKErS" 의 문자길이 이고, "EAX"의 값은 내가 입력한 값의 문자열 길이이다. 즉, 내가 입력해야 할 문자열의 길이는 7글자이다. 두번 째로 중요한 부분이다. 바로 이분이..

시스템 보안/실습

[System] crackme3번 풀이

crackme3 crackme3번 먼저 프로그램을 돌려서 아무 값이나 입력해보았다. "asdasd" 라는 값을 입력하였을 때 "Wrong word!!!" 라는 값이 나왔다. 이제 OllyDbg 에서 파일을 분석해보자 가장 먼저 Search for -> All intermodular calls 에서 GetDlgItemTextA 라는 수상한 부분을 발견하였다. (물론 결과론적인 이야기지만 엄청난 삽질 끝에 발견한 부분이다.)\ 해당 부분에 브레이크 걸고 실행해보았다. 마찬가지로 asdasd 라는 값을 넣고 F8을 연타해보았다. 현재 "EDX"에 내가 입력한 "asdasd" 라는 값이 들어가있었다. 계속 위의 "LEA EDX" 를 통해 내가입력한 값을 EDX 주소에 저장하였고, "LEA EAX"를 통해 EAX..

시스템 보안/실습

[System] crackme2번 풀이

음..... 이렇게 푸는게 맞나 싶을정도로 좀 어이없게 풀렸다. 여느때와 같이 디버깅을 하려고 실행시켰고 "PgUp" 키와 "PgDown" 키를 연타하고 있었다. 그렇게 한 1분 좀 넘었나,,,,, 그냥 누가봐도 뭔가 수상한 키워드가 있었다. 그냥 "HackFun" 이라는 키워드가 보였다. 그래서 입력했더니 평소에는 아무 키워드도 안나왔는데, "SEP" 이라는 키워드가 나왔다. 성공이겠죠?

시스템 보안/실습

[System] crackme1번 풀이

시스템 보안을 공부하고 처음 풀어보는 예제이다. crackme1번은 1번 문제답게 아주 친절하게 설명이 되어있다. 다음 화면을 보자. 처음 실행시키면 나오는 화면인데, 오른쪽에 주석문으로 쓰인 부분을 읽어보면, 프로그램을 실행 시켰을 때 CD-ROM으로 인식을 시켜야 하는 문제인것 같다. 먼저 그냥 프로그램을 실행시키면, 다음과 같은 화면이 나온다. 나는 여기서 아주 간단하게 문제를 풀었는데 바로 아래 사진의 빨간색 박스에 있는 코드를 수정해주었다. je는 값을 비교했을 때 같으면 원하는 레이블로 이동한다. 위의 구문을 값을 비교했을 때 같으면 0040103D 즉, 성공으로 가게된다. 그래서 나는 je를 jmp로 바꾸어 값이 같지 않아도 즉, CD-ROM이 아니라도 성공을 하게 만들었다. 결과는 다음과 ..

snowjeon2
'시스템 보안/실습' 카테고리의 글 목록