[2024.09.03]
오늘 실습 진행은 reverseMe 파일로 진행한다
시작하기 전에 String를 확인 시 성공 메시지가 존재하고,
현재 브레이크 포인트가 걸려 있는 곳에서 시작하는 걸 알 수 있었다
현재 위의 CreateFileA의 경우
실제 파일을 만들거나 열어 사용하는 명령어라고 한다
결국 조건에 맞는 파일이 존재하고 있어야 실행된다고 보면 된다
각각의 부분에서 JE와 JG로 수정시킨 다음 crack 파일을 생성한다
생성한 crack 파일을 열어 실행시키면 성공 메시지를 확인할 수 있다
현재의 방법을 실제로 파일을 생성하지 않고 코드 명령어만 변경하여
성공 메시지를 볼 수 있도록 조작한 상태다
이번에는 실제 파일을 만들어서 진행해 보려고 한다
이번에는 ReadFile이 나오게 되는데
ReadFile의 경우 파일을 읽어들인다는 뜻으로 실제 파일을 읽어들인다는 뜻이다
하지만 현재 파일은 생성했으나, 내용이 입력되지 않아
마지막 부분까지 실행시켜도 키 파일이 맞지 않는다고 나온다
그렇기 때문에 이와 같은 화면에서 확인할 수 있는 것은
현재 Size가 70이라고 나온다
이는 70 바이트를 뜻하기 때문에 생성한 파일의 바이트 수도 70으로 맞춰야 된다
파일의 크기를 맞추기 위해 1234567890을 7번 입력하고 저장했다
*파일 저장 시 ollydbg가 열려 있으면 저장되지 않는다
그런 다음 해당 부분에 브레이크 포인트에서 실행시키고,
아래를 JG로 변경시킨 다음 그대로 쭉 실행시켜 준다
그렇게 되면 성공 아까와 같이 성공 메시지를 확인할 수 있다
이번에는 reverseMe2를 가지고 실습을 진행했다
reverseMe 파일과 코드가 유사하기 때문에
이번에도 70 바이트의 파일 크기를 맞춰 reverseMe2 디렉터리에 생성한다
그런 다음 JG로 변경시키고 실행시키게 되면
이번에도 성공 메시지가 나타나는 걸 확인할 수 있다
강의 소감
오늘도 반복 연습을 통해 crack 파일을 만들고,
그 crack 파일을 이용하여 실행하면 성공 메시지 창을 띄우는 실습을 진행했다
아직 혼자서 찾아내지는 못하지만 성공할 수 있을 때까지
Strings와 함수를 들여다 보고 있다
강사님께서 풀어 주신 방법 외에도 다른 방법이 많이 존재하기 때문에
복습을 통해 많이 연습해야 될 것 같다