본문 바로가기

리버싱

ABEX CRACKME 3

코드:

ABEX CRACKME 3 은 ABEX CRACKME 1과 같이 아주 간단하게 짜여진 프로그램입니다

401000부터 메시지박스를 호출하기 전까지 인자를 역순으로 넣어주고 있고 메시지 박스를 띄웁니다

그리고 CreateFileA라는 것을 호출하고 있는데

파일을 읽거나 쓰는데 사용하는 함수입니다

그리고 인자로 전달해 주는 OPEN_EXISTRING은 파일을 읽고 파일이 없으면 에러를 반환합니다

파일이 없는경우:

파일이 있는경우:

만약 파일이 없으면 CMP EAX,-1이 참이 되기 때문에 401075로 점프가 되어 에러 메시지 박스를 띄우게 됩니다

그러면 우리는 파일이 있어야 에러 메시지 박스를 우회 할 수 있기때문에

abex.l2c 라는 파일을 생성해 줍니다

파일이 있으면 위의 코드가 차례대로 실행 되게 되는데 GetFileSize는 지정된 파일의 크기를

바이트 단위로 반환 해 줍니다

파일 생성만 하고 아무것도 안적었을때 :

a라는 글자 하나를 적어주었을때 :

파일의 크기를 반환 받은 뒤에는 반환값이 저장된 레지스터인 EAX가 12(18)인지 확인하고 있고

만약 맞으면 점프가되지 않아 yep, keyfile found!를 출력하고 아니면 틀렸다는 메시지 박스를 띄웁니다

그러면 abex.l2c에 영문이랑 숫자를 합해서 총 16글자를 적어 보겠습니다

12가 18인 이유 :

cheesephotophoto12

성공!

abex.l2c
0.00MB
crackme3.exe
0.01MB

'리버싱' 카테고리의 다른 글

ABEX CRACKME 5  (0) 2020.07.04
ABEX CRACKME 4  (0) 2020.07.01
ABEX CRACKME 2  (0) 2020.06.28
ABEX CRACKME 1  (0) 2020.06.28