리버싱 (5) 썸네일형 리스트형 리버싱 #04 abex crackme 2 분석 crackme2 실행 파일을 실행시키면 로그인 창(?) 같은 것이 출력됩니다. name에는 abcd를 Serial에는 1234를 입력한 후 check를 누르게 되면 시리얼 번호가 틀렸다는 오류 메시지 박스가 출력됩니다. 이문제에서의 목표는 crackme1과 같이 성공 메시지 박스가 출력되도록 하는 것과 올바른 시리얼 번호를 찾는 방법입니다. 디스 어셈 코드로 돌아와서 시작 주소는 00401238입니다. 스택에 00401 E14 주소를 입력하고 다음 수행 명령어인 CALL 명령어의 변숫값 출력 창을 보게 되면 어떤 함수를 call 하는지 알 수 있습니다. 변숫값 출력 창은 어셈블리 코드 창 바로 아래에 위치하고 있습니다. CALL명령어에서는 00401232 주소에서 JMP명령어로 ThunRTMain() 함.. 리버싱 #03 abex crackme 1 분석 crackme1을 실행시키면 이전 hello world! 보다 코드수가 적은 것을 알 수 있습니다. 왜냐하면 crackme는 어셈블리어로 만들어졌기 때문에 이전과 다르게 복잡하지 않습니다. 우선 프로그램을 실행시켜보면서 무엇을 하는지 확인하겠습니다. [F9]을 통해 프로그램을 수행하면 "Make me think your HD is a CD-ROM"이 적힌 MessageBox가 출력됩니다. 우선 [확인]을 누르고 계속 진행하면 에러 메시지 박스가 출력되며 프로그램이 끝나게 됩니다. crackme1은 HD를 CD-ROM으로 인식해야 합니다. 저도 쓰고도 무슨 말인지 잘 모르겠습니다. 하나 정확한 것은 crackme1 어셈블리 코드를 보았을 때 Error 메시지 박스 대신 YEAH! 성공(?)을 의미하는 메시.. 리버싱 #02 Hello world 디버깅 2장에서는 처음 프로그래밍을 배울 때 만드는 hello world를 출력하는 프로그램을 디버깅할 것이다. 프로그램을 올리 디버거를 통해서 열고 실행시키게 되면 Hello World! 메시지가 적힌 메시지 박스가 나타난다. 이번 장에서는 메시지 박스에 출력되는 Hello World를 다른 문자로 변환시켜 Hello World가 아닌 다른 문자가 출력되게 하는 것 까지 수행해 볼 것이다. [Ctrl + F2]를 통해 프로세스를 재실행하게 되면 실행파일의 코드가 004011A0 주소부터 시작하게 된다. 첫 시작 코드 주소인 004011A0 주소에는 CALL명령어가 있다. [F7]를 통해 함수 안으로 따라 들어가게 되면 0040270C주소로 이동하게 된다. MessageBox()에 Hello World! 를 변.. 리버싱 #01 리버싱 스토리 1장 리버싱 스토리 리버스 엔지니어링이란 시스템이나 구조 등을 분석하여서 원리를 이해하고 그 구조 분석을 통해 발견하는 과정입니다. 이런 리버싱(분석) 방법에는 정적 분석과 동적 분석으로 구분됩니다. 정적 분석: 실행 파일을 실행시키지 않고 분석하여 파일의 종류, 내부 문자열, 헤더 정보 등의 정보를 얻는 것입니다. 또한 디스 어셈블러를 통해 내부 코드 및 구조를 확인하는 것 또한 정적 분석에 포함됩니다. 동적 분석: 실행 파일을 실행시키면서 프로그램의 행동과 동작원리를 분석하는 것입니다. 소스코드, 바이너리 코드의 관계 대학교 1학년 때 C언어를 배우면서 컴파일러에 대해 간단히 짚고 넘어갔을 겁니다. 1장 마지막에서는 이후 리버싱을 할 때 사용할 소스코드와 바이너리 코드 그리고 추가로 어셈블리 코드에 .. 리버싱 #00 intro 오늘부터 리버싱 핵심원리 책을 통해 리버싱 공부를 하고자 합니다! 사실 이전에 리버스 엔지니어링 바이블( 방독면 책)이랑 레나 튜토리얼이랑 같이 병행하면서 공부했지만 리버싱 문제를 혼자 풀어보게 되면 기초에 대한 부족함이 많이 느껴지더라고요.. 물론 1000페이지가량의 베개로 써도 될 정도로 두꺼운 책이지만 저는 개인적으로 방독면 책 보다 좋은 것 같습니다. 또한 실습 코드 예제 또한 있어서 직접 실습할 수 있는 게 좋은 것 같고요 처음 블로그 작성인데 뭔가 빈 무대에서 혼자 떠드는 느낌이 많이 들어서 C언어 포인터 공부하고 있던 고등학생 때의 저와 대화한다고 생각하고 적어 내려가겠습니다. 실습 코드가 필요하시다면 댓글에 이메일 적어주시면 보내드리겠습니다. www.yes24.com/Product/Good.. 이전 1 다음