pwnkidhn.github.io

고정 헤더 영역

글 제목

메뉴 레이어

pwnkidhn.github.io

메뉴 리스트

    • 분류 전체보기 (194)
      • memo (0)
      • Pwnable Exploitation (19)
        • 01.Shellcode (4)
        • 02.Return to Shellcode (1)
        • 03.RTL(Return to libc) (2)
        • 04.Frame faking(Fake ebp) (1)
        • 05.Frame Pointer Overwrite (2)
        • 06.ROP(Return Oriented Prog.. (3)
        • 07.SROP(Sigreturn-oriented .. (2)
        • 08.JOP(Jump-Oriented Progra.. (1)
        • 09.Return-to-csu(__libc_csu.. (0)
        • Malloc - glibc(ptmalloc2) (3)
      • Pwnable Write-Up (54)
        • 00.CTF (0)
        • 01.hackerschool F.T.Z (20)
        • 02.hackerschool L.O.B (21)
        • 03.dreamHack (13)
        • 04.HackCTF (0)
      • Reversing Write-Up (38)
        • 01.Abex's crackme (5)
        • 02.CodeEngn Basic (20)
        • 03.CodeEngn Advance (13)
      • Fuzzing (1)
        • Theory (1)
      • Programming (22)
        • Data Structure (0)
        • Windows System (22)
      • Computer Science (60)
        • Computer Architecture (18)
        • OS Concepts (29)
        • Linux System (5)
        • Reverse Core (8)

    검색 레이어

    pwnkidhn.github.io

    검색 영역

    컨텐츠 검색

    Reversing Write-Up/01.Abex's crackme

    • [Write-up] Abex-crackme 5

      2020.01.15 by RACC8N

    • [Write-up] Abex-crackme 4

      2020.01.15 by RACC8N

    • [Write-up] Abex-crackme 3

      2020.01.15 by RACC8N

    • [Write-up] Abex-crackme 2

      2020.01.14 by RACC8N

    • [Write-up] Abex-crackme 1

      2020.01.14 by RACC8N

    [Write-up] Abex-crackme 5

    실행파일을 실행시킨 모습이다. 디버거를 실행시켜서 해당 문자열을 검색해 보자. 다음과 같이 찾을 수 있었고, 해당 위치로 가보겠다. lstrcmpiA함수로 Serial과 비교하는 것 같다. 아무것도 입력하지 않았기 때문에 Enter your serial과 실제 Serial같이 보이는 L2C-57816784-ABEX을 비교하여 같을경우 well Done 메세지를 띄울 수 있다. 그럼 Serial 코드는 어떻게 만들어 지는지 알아보자. 눈에 띄는 함수 GetVolumeInformationA함수가 있다. 이 함수의 2번째 인자에는 Volume의 이름이 들어가는걸 알 수 있다. 그럼 C드라이브의 이름을 바꿔보자. 이름을 AAAA로 바꿨다. GetvolumeInformationA함수가 끝나고 40225C를 확인하..

    Reversing Write-Up/01.Abex's crackme 2020. 1. 15. 16:19

    [Write-up] Abex-crackme 4

    파일을 실행시키면 다음과 같은 창이 뜬다. Serial창에 정확한 값을 입력해야 Registered 버튼이 활성화 되는것 같다. 디버거를 실행시켜보자. 원하는 위치로 가기위해 우선 문자열 검색을 해보자. Well done! 이라는 문자열을 발견했다. 뭔가 Serial을 맞게 입력했을 경우 뜨는 창에 적혀있을 문자열 같다. 해당 위치로 가보자. 해당 문자열이 있는 함수의 프롤로그에 BP를 걸고 실행시켜봤지만, BP에 접근할 수 없었다. 아무래도 Serial이 일치할 경우에 실행되는 함수이기 때문일 것이다. 그렇다면 이번엔 함수를 검색해보자. vbaStrCmp 함수가 눈에 띈다. Serial을 검사하는 경우엔 결국 Cmp함수를 써야하기 때문이다. 해당 함수 위치로 가보자. EAX와 ECX를 인자로 받아 cm..

    Reversing Write-Up/01.Abex's crackme 2020. 1. 15. 06:20

    [Write-up] Abex-crackme 3

    실행파일을 실행시키면 다음과 같은 화면이 나온다. file을 찾을 수 없다고 한다. 디버거를 실행시켜보자. MessageBox를 생성해주는 함수를 볼 수 있으며, 밑에 CreateFileA 함수를 확인 할 수 있다. 아무래도 abex.l2c 파일을 인자로 주어 CreateFileA를 호출 하는 것 같다. CreateFileA의 리턴값을 0xFFFFFFFF과 비교하여 ZF가 True이면 File을 찾을 수 없다는 Error가 발생한다. abex.l2c 파일을 만들어 보자. abex.l2c 파일을 만들고 실행시킨 결과 해당 분기문을 통과할 수 있었다. 하지만 바로 밑에 File의 Size를 얻어오는 GetFfileSize함수가 있다. 이 함수의 리턴값을 0x12와 비교하여 같지 않은 경우 즉 File의 Si..

    Reversing Write-Up/01.Abex's crackme 2020. 1. 15. 02:31

    [Write-up] Abex-crackme 2

    프로그램을 실행 시키면 다음과 같은 창이 뜬다. Check를 눌러보면, About을 눌러보면, 아무 Name과 Serial을 넣고 Check를 눌러보면, Name을 입력하고 Serial을 맞추면 되는것 같다. 디버거를 실행시켜보자. Main 함수를 찾아야한다. 위에서 파일을 실행시켰을 때 생긴 메세지박스가 힌트가 될 수 있다. 문자열 검색을 해보자. 위에서 보았던 문자열과, Congratulations와 Yep, 과 같은 Serialkey가 맞았을 때 뜰 것 같이 생긴 문자열까지 확인 할 수 있다. 해당 위치로 가 보자. 403332부분의 조건문을 통과하면 Congratulation 메세지박스가 뜰 것 이다. 위로 올라가서 이 함수가 무엇인지 확인해 보자. 함수 프롤로그 부분을 찾았다. 이부분은 프로그램..

    Reversing Write-Up/01.Abex's crackme 2020. 1. 14. 21:19

    [Write-up] Abex-crackme 1

    .exe를 실행시켰을때의 모습이다. Make me think your HD is a CD-Rom. HD를 CD-Rom으로 인식하게 바꾸면 될 것 같다. 디버거로 실행파일을 분석해 보자. EP에 도착하니 위에서 봤던 문자열을 확인 할 수 있다. (abex'1st crack~, make me~) 문자열을 인자로 받아 MessageBoxA 함수를 호출하는 것 같다. 그리고 바로 402094에 있는 값("C:\\")을 인자로 받아 GetDriveTypeA 함수를 호출한다. 함수가 끝난 다음 EAX와 ESI를 CMP 하여 ZF가 TRUE이면 YEAH! OK라는 MessageBox를 띄울 것이고, ZF가 FALSE라면 Error.. Nah 라는 MessageBox를 띄울 것이다. 그럼 GetDriveTypeA 함수..

    Reversing Write-Up/01.Abex's crackme 2020. 1. 14. 19:11

    추가 정보

    페이징

    이전
    1
    다음
    TISTORY
    pwnkidhn.github.io © rvkhun
    페이스북 트위터 인스타그램 유투브 메일

    티스토리툴바