티스토리

리버스코어 ReverseCore
검색하기

블로그 홈

리버스코어 ReverseCore

reversecore.com/m

-= 리버스코어 =-

구독자
7
방명록 방문하기
공지 [실습예제 & 소스] 모두보기

주요 글 목록

  • HxD.exe 프로세스에 새로운 기능 추가 (2) 어플리케이션 후킹(Application Hooking) 설계(디자인)에 대한 설명입니다. 후킹 방법을 결정하고, 검증하는 과정을 보여드립니다. 후킹 방법 결정 - 무엇을? 어떻게? 후킹 할 것인가? 우리의 목표는 [HxD.exe 프로그램에서 PE 파일을 열었을 때 상태바의 "Offset: XXXX" 문자열에 "RVA: YYYY" 문자열을 추가하기] 입니다. 기존 어플리케이션에 어떤 기능을 추가(혹은 수정) 하려고 마음을 먹었다면 그 다음에는 구체적인 방법에 대해 고민을 해야 합니다. 즉, 후킹 설계 과정으로 들어가야 합니다. 윈도우즈 OS의 대표적인 후킹 기법은 "메시지 후킹(Message Hooking)" 과 "API 후킹(API Hooking)" 입니다. 둘 중에서 목표 달성에 더 적합하고 구현이 편.. 공감수 1 댓글수 45 2012. 7. 14.
  • HxD.exe 프로세스에 새로운 기능 추가 (1) 리버싱 기술을 이용하면 기존 어플리케이션의 버그를 수정하거나, 새로운 기능을 추가시킬 수 있습니다. 간단한 실습 예제를 통하여 동작원리를 소개하도록 하겠습니다. 리버싱 기술의 활용 리버싱 기술이 꼭 다른 프로그램을 분석하는 용도로만 사용되는 것은 아닙니다. 약간의 아이디어와 끈기만 있다면 여기서 조금 더 나아가 개발자들이 시도하지 않는 방법으로 작업을 진행할 수 있답니다. '개발 관점' 에서는 어렵게 보이는 문제이지만 오히려 '리버싱 관점' 에서는 쉽게 해결할 수 있는 경우도 있습니다. * 참고 어플리케이션에 추가 기능을 삽입하는 것은 마치 "API Hooking - 계산기, 한글을 배우다. (1)" 와 비슷한 맥락의 작업 이라고 볼 수 있습니다. 자신이 개발하지 않은 (소스 코드를 가지고 있지 않은) .. 공감수 1 댓글수 8 2012. 6. 23.
  • "Hello World!" - 내 생애 첫 디버깅 (3) 문자열 패치 목표 달성이 눈앞에 다가왔습니다. MessageBoxW 호출하는 부분을 찾았으니 이제 "Hello World!" 문자열을 "Hello Reversing!" 으로 패치시킬 차례입니다. 디버깅을 재실행[Ctrl+F2] 시키고, main 함수 시작 부분까지 실행합니다. (401000 에 BP 를 설정[F2]하고 실행[F9] 하세요. - 이 주소를 2 번째 베이스 캠프라고 하겠습니다.) 문자열을 패치하는 2 가지 방법 가장 쉬운 2 가지 방법을 소개합니다. 문자열 버퍼를 직접 수정 다른 메모리 영역에 새로운 문자열을 생성하여 전달 1) 문자열 버퍼를 직접 수정 MessageBoxW 함수의 전달인자 4092A4 의 메모리 주소 내용("Hello World!\)을 직접 수정해 버리는 것입니다. 메모리 .. 공감수 3 댓글수 42 2009. 2. 28.
  • "Hello World!" - 내 생애 첫 디버깅 (2) 원하는 코드를 빨리 찾아내는 4가지 방법 자신이 원하는 코드를 빨리 찾아내기 위해서는 여러가지 자신만의 노하우가 있습니다. 여기서는 가장 기본이 되면서 가장 유용한 4가지 방법을 소개합니다. 코드 실행 방법 문자열 검색 방법 API 검색 방법 (1) - 호출 코드에 BP API 검색 방법 (2) - API 코드에 직접 BP 0) 이미 아는 사실 4가지 방법을 소개하기 전에 먼저 한번 생각을 해봅시다. 우리는 HelloWorld.exe 프로그램이 "Hello World!" 메시지 박스를 출력한다는 것을 이미 알고 있습니다. 물론 우리가 코드를 만들었기 때문이지만, 이 경우에는 그냥 실행만 해봐도 누구나 알 수 있는 것입니다. C 언어 개발자들이라면 MessageBox 계열 함수가 머릿속에 떠오를 것입니다... 공감수 2 댓글수 64 2009. 2. 28.
  • "Hello World!" - 내 생애 첫 디버깅 (1) Level 초급 Content "Hello World!" 프로그램을 디버깅 해보고 간단한 패치를 해보도록 하겠습니다. 이를 통하여 디버깅에 대한 감을 잡으실 수 있습니다. Goal - 기본적인 디버거 사용방법의 이해 - 간단한 Disassembly code 이해 - 간단한 프로그램 패치(patch) Tool Visual C++ 2008 Express Edition OllyDbg 1.10 Hello World! 모든 C 프로그래머가 최초로 만들어 본 프로그램 Hello World! 를 최초의 디버깅 프로그램으로 결정하였습니다. SW 업계에서의 차지하는 Hello World! 의 의미, 처음 C 를 배울때의 두근거림 그리고 소스 코드의 간결함까지... 이 모든 것이 최초의 디버깅 프로그램으로써 더 할 나위 .. 공감수 1 댓글수 121 2009. 2. 26.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.