전체 글 (187) 썸네일형 리스트형 리버싱 #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 ··· 21 22 23 24 다음