해당 시리즈에서는 책 "리버싱 입문(조성문 지음/프리렉 출판사)"를 공부하며 배운 내용을 정리한다.
abex crackme의 첫 번째 예제 문제를 통해 배울 수 있는 개념 2가지를 정리해보겠다.
처음에 실행하면 위의 두 창이 순서대로 나온다. 컴퓨터가 하드디스크를 CD-Rom이라고 착각하게 만드는 것이 문제이다.
문제를 해결하고 나면 이와 같이 창이 뜨게 된다.
주의할 점!
프로그램 실행 위치가 변경하고 싶은 코드 위에 있을 때 비로소 코드를 변경한다. 그 전까지는 계속 실행시켜준다. 미리 변경하면 안 된다.
예를 들어 아래와 같은 명령어를 실행한다고 하자.
CMP EAX, ESI
이때 결과가 같다고 나오면 1이, 다르다고 나오면 0이 제로 플래그 레지스터에 저장된다.
오른쪽의 Registers (FPU)칸의 알파벳 옆 숫자를 0에서 1로, 혹은 1에서 0으로 바꿔준다.