본문 바로가기

리버싱6

리버싱) abexcm1.exe#2 - abex crackme 두번째 더보기 어휴 두번째 편이 뭐이리 오래 걸릴까 반성하고 일주일에 세번 올리기 다시 시작한다. 진짜로 진짜 진짜 스택 분석하기 스택 : 변수를 스택에 저장해서 함수로 전달할 수 있고 서브루틴에서 사용되는 변수를 저장하는 공간으로 활용할 수 있음. 서브루틴을 수행하기 전에 메인 루틴의 레지스터를 스택에 저장할 수도 있음 디버링 시 문자열 중심으로 스택을 분석하기 주석 영역을 보면 주소 0040237C에는 "Please enter at least 4 chars as name!"이 존재 주소 004023D0에는 "Error!"이 존재 스택 분석을 하기 위하여 주소 00403054에 브레이크포인트 설정 완료 프로그램 실행을 해서 이름(ab)과 일련번호(1234)를 입력하여 프로그램 실행흐름이 브레이크 포인트가 설정.. 2021. 5. 30.
리버싱) abexcm1.exe#2 - abex crackme abex crackme#2 : 프로그램을 분석해서 사용자가 입력한 이름과 관련있는 일련번호를 찾아내기 이름과 시리얼 번호가 너무 짧아도 안됨 이름과 시리얼 번호가 매치가 안될 때 생기는 화면 프로그램 실행 프로그램 실행 시 사용자 입력을 기다리는 창 확인 가능 F9 입력 시 우측 하단에 Debuggee Status가 Running으로 바뀐 것 확인 가능 현재 상태가 running이기 때문에 꺼지지 않음 문자열 검색 [All referenced strings] 메뉴 클릭 시 프로그램에서 사용하는 전체 문자열을 확인 가능 찾고 싶은 문자열 더블클릭하면 해당 문자열로 바로 이동 가능 위 내용을 보고 0040237C를 스택에 복사하려는 것을 확인 가능 즉 Please enter at~~~ 이 내용은 004023.. 2021. 5. 13.
리버싱) abexcm1.exe#1 - abex crackme http://crackmes.de 여기에서 다운로드 받으면 되는데 왜인지 들어가지지가 않는다 그래서 첨부파일을 따로 첨부한다. 사실 나도 다른 블로그에서 받은 것이기 때문에 뭐...가상머신에서만 틀길 바랍니다. '파일을 틀자마자 확인되는 화면 아 진짜 티스토리는 글쓰기 너무너무 불편해 이씨 문제 1 - 프로그램을 실행 시 하드 디스크가 CD롬으로 인식되도록 변경하게 하기 ****모든 글은 사진 밑에가 설명이다*** 1. MessageBox() 함수 구조 int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ); https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winu.. 2021. 5. 1.
리버싱) 올리디버거 사용법 (abex crackme #1) - 단축키, 올리디버거 필수 사전 지식 더보기 http://crackmes.de 여기에서 다운로드 받으면 되는데 왜인지 들어가지지가 않는다 그래서 첨부파일을 따로 첨부한다. 사실 나도 다른 블로그에서 받은 것이기 때문에 뭐...가상머신에서만 틀길 바랍니다. 더보기 '파일을 틀자마자 확인되는 화면 아 진짜 티스토리는 글쓰기 너무너무 불편해 이씨 문제 1 - 프로그램을 실행 시 하드 디스크가 CD롬으로 인식되도록 변경하게 하기 쓰다보니 올리디버거 기초라서 해당 글은 다음 글에 작성하겠다. 우선 PEview를 통해 확인 IMAGE_OPTIONAL_HEADER에서 - Address of Entry Point 항목의 데이터가 00001000인 것을 확인 가능 = 메모리에 저장될 때 사용될 상대 주소가 1000이라는 의미 - Image Base가 004.. 2021. 4. 25.
리버싱) 리버싱의 기초_2 올리 디버거의 기본 명령어(code window에서 동작) Restart : 다시 처음부터 디버깅 시작(디버깅을 당하는 프로세스를 종료하고 재실행) - ctrl+f2 step into : 하나의 OP code 실행(call 명령 시 함수 코드 내부로 따라 들어감) - f7 step over : 하나의 OP code 실행(call 명령 시 함수 코드 내부로 따라 들어가지 않고 그냥 함수 자체를 실행) - f8 execute till return : 함수 코드 내에서 retn 명령어까지 실행(함수 탈출) - ctrl + f9 명령어 실행 시 어셈블리어 코드 확인 가능 RETN은 함수의 끝에서 사용되며 이 함수가 호출된 원래 주소 쪽으로 되돌아 가는 명령어 어셈블리어에서 'JMP 0040104F를 실행하라'라.. 2020. 12. 24.
리버싱) 리버싱의 기초_1 더보기 취약점 진단을 하고 싶은 건지, 모의해킹을 하고 싶은 건지, 리버싱을 하고 싶은 건지 나도 잘 모르겠다.ㅎㅎ 그냥 다 해보는 수밖에......맞나 몰라이씨......그래도 블로그에 꾸준히 누가 들어온다 적어도 8명씩은ㅋㅋㅋ 영국에서도 오던데 뭘 보고 오는 거지 신기하다. 리버싱을 올려도 관심이 있으려나 모르겠네..각설하고 본론 시작~ 틀린 정보 지적 언제나 환영합니다~ 1. 리버스 엔지니어링 Reverse Engineering. 역공학 시스템 등의 구조, 기능, 동작 등을 분석하는 일련의 과정 2. 리버스 코드 엔지니어링 소프트웨어 분야의 리버스 엔지니어링 = 리버싱 3. 리버싱 방법 - 정적분석 파일의 겉모습을 관찰, 정적 분석 단계에서는 파일을 실행하지 않음, 내부 코드와 그 구조를 확인하는 .. 2020. 12. 11.