먼저 crakme4를 실행해보았다. 다음 줄에서 실행이 시작된다. 아무 구문을 입력했을 때는 fail이라는 구문이 뜨게 되고 F8을 통해 실행 창이 뜨는 부분에 들어가보기로 했다. 아래 줄(00401481)을 지나가게 될 때 값을 입력해주라고 뜬다. 값을 입력해주고 파란줄 아랫줄인 00401120까지 들어가본다. 타고 타고 쭉 들어가보면 이 부분에서 글자 길이수를 알 수 있었다. (( esi와 eax를 비교하여 결과에 따라 je 함수가 실행하게 된다고 나와있다.)) 오른쪽 레지스터 값을 보게되면 아래와 같이 나온다. 먼저 eax가 내가 입력한 값의 글자수라는 걸 알수 있었다. (계속 풀다보니 입력한 값의 글자수가 eax에 보이는 것을 알 수 있었음) esi의 값은 계속 7이라는 것을 알 수 있었고 eax..
crackme3 crakcme3을 올리디버그를 통해 열어보았다. crackme3의 첫화면이고 항상 그랬듯 먼저 F9를 통해 전체 실행을 먼저 해보았다. F9 실행시 crackme2와 같은 메세지창이 떴고, key값이 아닌 다른 값을 입력했을 때 Wrong word!!! 가 뜨는 것을 확인할 수 있었다. 이 부분을 지나가면 아스키코드 값에 해당 문구가 뜨는데 전에 crackme 풀이를 했을 때 처럼 키워드인 것 같아 하나씩 넣어보았다. infinity를 입력했을 때 maximin 값이 뜨는 것을 확인할 수 있었다. 그치만 정석 풀이가 아니므로 다시 한번 시도해본다. 먼저 f8로 한줄씩 내려가 먼저 실행이 되는 부분에 들어가보았다. 먼저 무한루프가 있는 곳을 확인하고 계속 쭉 내려가다 보니 익숙한 GetDi..
crackme2 crackme2 실행 파일을 올리디버그를 통해 확인해보았다. 먼저, crackme1과 같은 방식으로 파일을 F8로 한줄 실행을 해보았고 0040149B 에서 메세지 박스를 출력하는 것을 알 수 있었다. 그리고 출력되는 메세지 박스의 OK와 exit 버튼을 눌렀을 때 아무런 변화가 없는 것을 확인했다. 메세지 박스가 뜨는 0040149B에 어셈블리어 call CrackMe2.00401000를 확인하고, 00401000부터 차례대로 읽어보기로 했다. 00401000부터 쭉 읽어내리다 보니 위에서는 볼 수 없었던 ASCII코드 값 "HackFun"이 보였고 아스키코드 값인 HackFun 값을 입력했을 때 SEP 값이 뜨는 것을 확인할 수 있었다. 너무 표면적으로 보이는 답이라 얻어 걸린 듯하지..
2023/03/13 crackme #1 먼저, crackme1 실행 파일을 올리디버그를 통해 확인해보았다. F9로 파일 전체 실행을 했을 때 두 개의 메세지 박스(Make me think your HD is a CD-Rom. , Nah, This is not a CD-ROM Drive! )가 뜨는 것을 확인할 수 있었다. 그래서 F8로 한줄씩 실행시켜보다 메세지 창을 뜨게해주는 줄을 찾게 되었다. 주소 00401036로, 어셈블리어를 확인해보니 CALL 이었다. 이 메세지 창을 뜨지 않고 종료를 해보면 될 것 같아, (마지막 종료 문자가 있는 exitprocess로) jmp 함수를 사용하여 종료되는 곳의 주소인 jmp 00401050으로 주소값을 변경해주었다. (두번 클릭) 00401036의 원래 있었던..