0xSEUNGJU
CodeMonkie
0xSEUNGJU
전체 방문자
오늘
어제
  • 분류 전체보기 (15)
    • linux (8)
    • web (2)
    • android (0)
    • data science (1)
    • algorithms (3)
    • 보안 (1)
    • hardware (0)

블로그 메뉴

  • github
  • playground

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
0xSEUNGJU

CodeMonkie

RE:Lenas tutorial #1 Olly + 어셈블러 + 기본 reverseme 패치
보안

RE:Lenas tutorial #1 Olly + 어셈블러 + 기본 reverseme 패치

2022. 10. 25. 11:57

ReverseMe 파일을 실행해보면 평가 기간이 만료되었으니 새 라이센스 구입하라는 메세지 박스가 뜬다.

OllyDbg로 열어보자.

CreateFileA

HANDLE CreateFileA(
  [in]           LPCSTR                lpFileName,
  [in]           DWORD                 dwDesiredAccess,
  [in]           DWORD                 dwShareMode,
  [in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [in]           DWORD                 dwCreationDisposition,
  [in]           DWORD                 dwFlagsAndAttributes,
  [in, optional] HANDLE                hTemplateFile
);

  • READONLY: 읽기모드
  • OPEN_EXISTING: 파일이나 장치가 있는 경우에만 엽니다. (Keyfile.dat 파일이 없기 때문에 실패)

 

그 다음 실행결과를 -1(실패했을때)과 비교해서 다를 경우, 즉 성공했을 때 40109A 주소로 점프하고 실패했을 때 메세지 박스 호출 부분으로 점프한다.

 

ReadFile

BOOL ReadFile(
  [in]                HANDLE       hFile,
  [out]               LPVOID       lpBuffer,
  [in]                DWORD        nNumberOfBytesToRead,
  [out, optional]     LPDWORD      lpNumberOfBytesRead,
  [in, out, optional] LPOVERLAPPED lpOverlapped
);

  • hFile
    • 장치에 대한 핸들
    • 매개변수 는 읽기 액세스 권한으로 생성되어야 합니다. 
    • 비동기 읽기 작업의 경우 CreateFile 함수에 의해 FILE_FLAG_OVERLAPPED 플래그로 열린 핸들이거나 소켓이거나 accept 함수에서 반환된 소켓 핸들일 수 있습니다.

 

그 다음 ReadFile의 결과를 검사하는데 eax가 0일 경우, 즉 실패했을 때 4010F7로 이동한다.

"Keyfile is not valid. Sorry."라는 키 파일이 정상적이지 않다는 메세지 박스를 띄운다.

 

OllyDbg에서 우클릭후 Search for > all referenced text strings를 클릭하면 문자열들을 볼 수 있다.

401205에서 성공 메세지를 발견할 수 있다. 

401205까지 가려면 ReadFile을 수행한 후 쭉 내려와야된다.

 

간단히 점프하는 부분을 수정해서 401205까지 가도록 만들어보자.(빨간 색이 수정한 부분)

 

수정한 부분을 드래그한 뒤 copy to executable > selection > 우클릭 > save file 하면 crack한 파일을 따로 저장할 수 있다.

 

Reference

  • lenas tutorial
    0xSEUNGJU
    0xSEUNGJU

    티스토리툴바