이번 예제는 너무 간단하고, 방법도 여러가지다.
간단하게 점프문을 바꿔도 상관이 없고,
소스에 나타난 파일을 생성해줘도 상관이 없다.
이번예제를 실행시키면, 특정파일을 찾고, 용량을 확인해서 같지 않으면 에러메세지를 뿌려준다.
CreateFileA를 이용해서 찾거나,
string 을 찾아서, 에러메세지를 찾아내서 따라 들어가도 된다.
기본적으로 보면, 00401060 부터 시작되는 소스가 에러메세지를 뿌려주는 부분이다.
우리가 그냥 실행시켜보면 나타나는 부분들...
바로 위에 보면, 점프되어서 오는 부분이 보인다.
00401037에서 점프되어서 오는 걸 확인할수 있는데,
바로 위에 비교문이 보인다.
cmp eax,-1
즉, 파일을 비교해서 없으면 리턴값이 -1이 되는데, 결국 파일이 없으면, 아래 주소로 점프하게된다.
여기서 크랙을 하려면, 아래 점프문을 강제로 점프시켜 버리면 될것이고,
굳이 파일을 만들려고 하면, 어떤파일을 찾는지 확인해보면된다.
위에 찾아보면, 00401025에 보면, abex.l2c 파일을 찾는게 보인다.
결국 파일명은 abex.l2c가 되고,
아래쪽 00401046에 보면, 비교문이 보이는데, cmp eax,12
파일사이즈가 12(즉 18이 된다.)가 되는지 확인을 한다.
결국 abex.l2c 를 만들고, 간단하게 아무문자나 넣어서 사이즈를 맞추면 된다.