질문/답변 게시판을 1년에 하나씩 새로 추가하는 것 같습니다. ^^

많은 분들께서 방문해주시고 질문/답변을 남겨주셔서 정말 감사합니다.

* 되도록 이면 '비밀 댓글' 보다는 '일반 댓글'을 이용해서 질문해 주시기 바랍니다. 비슷한 궁금증을 가지신 분들께도 널리 공유되면 좋겠습니다.

* 예전 질문/답변 코너 링크입니다. (원하시는 내용이 있는지 검색해 보세요~)
=======================================================

리버스 엔지니어링 분야에 대해 질문이 있으시면 아래의 댓글로 올려주세요. 역시 댓글로 답변을 올려드리겠습니다. 공개하기 어려운 내용은 '비밀글' 에 체크해주세요.

"비도덕적, 불법적" 인 내용은 답변 드릴 수 없음을 이해해 주시기 바랍니다.


댓글, 방명록, 이메일 등으로 많은 분들께서 여러 가지 질문들을 해주십니다. 
그중에 정말 좋은 질문들이 많아서 여러분들과 공유하면 좋겠다고 생각하였습니다.

이제부터 저에게 들어오는 모든 질문과 답변들을 이곳으로 모을 것입니다.
앞으로 질문과 답변은 이곳에서 해주세요~

질문에 대한 답변은 저 뿐만 아니라 제 블로그에 오시는 모든 분들께서 하실 수 있습니다.
문제 해결을 위한 방법은 다양합니다. 저 말고도 다른 분들의 답변은 언제나 환영입니다.

"질문은 좋은 것 입니다. 많이 해주세요. ^^ "

* 댓글로 질문하기 어려운 내용들(긴내용, 첨부파일 등)은 제 이메일(reversecore@gmail.com)로 문의해 주세요.

* 제가 사용하는 GMail 은 PE 파일을 첨부하면 전송 거부를 합니다. (압축을 시켜도 그걸 열어서 확인하지요.)
   => 실행 파일을 첨부해서 보내실때는 확장자를 exex, dllx, zipx 등으로 변경해서 보내주세요.

* 댓글이 너무 많이 달리면 제가 질문/답변 빈 포스트를 또 올릴 겁니다. 그쪽으로 계속 질문 댓글 달아주시면 됩니다.

감사합니다.


ReverseCore

'q&a' 카테고리의 다른 글

질문/답변 코너입니다. (3)  (394) 2011.04.13
질문/답변 코너입니다. (2)  (250) 2010.01.28
질문/답변 코너입니다.  (295) 2009.09.21
    이전 댓글 더보기
  1. yO Kang 2014.03.27 15:29 신고 댓글주소 | 수정 | 삭제 | 댓글

    PE FILE에서 IAT 부분에 대해서 질문좀 할게요.
    IAT에서 나오는 IMAGE_IMPORT_DESCRIPTOR 구조체에서 OriginalFirstThunk 멤버 변수와
    FirstThunk 멤버 변수는 각 각 INT, IAT를 가리키고, 그 INT와 IAT는 IMAGE_THUNK_DATA 구조체 배열로 구성되어 있잔아요.

    제가 궁금한 부분은 이 IMAGE_THUNK_DATA 구조체는 유니온으로 멤버변수들이 선언되어 있어서
    상황에 따라 사용하는 멤버변수가 다르다고 알고있는데요. AddressOfData 변수가 사용될 때
    AddressOfData가 IMAGE__IMPORT_BY_NAME 구조체를 가리키는 포인터로 사용된다고 하던데,
    AddressOfData 변수를 사용하지 않을 시엔 IMAGE_IMPORT_BY_NAME 구조체를 사용하지 않는건가요??? IAT 자료들을 여러개 찾아봤는데 모식도나 구조도 같은거 보니까, 일반적으로 모두 IMAGE_THUNK_DATA 구조체에서 IMAGE_IMPORT_BY_NAME 구조체를 가리키게 되있더라구요. 당연하다는 듯이... 이부분이 지금 무척 궁금합니다. 다른 변수를 사용할때는 어떻게 되는것인가에 대해서.

  2. hoho313 2014.06.10 20:46 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요 ㅎㅎ

    공부하던 중에 여쭤볼게 생겨서요~

    제가 이해를 못한건지 아니면 그림이 잘못 캡쳐가 된것인지
    그림 18.24의 내용이 잘린거 같은데 맞나용??

    그리고 146페이지에 IMAGE_DOS_HEADER 구조채의 크기는 40 이라고 나와있는데 64아닌가용??

    그럼 즐거운 하루 보내세요 ^0^***

    • reversecore 2014.06.14 22:36 신고 댓글주소 | 수정 | 삭제

      안녕하세요.

      3쇄의 18.24 그림은 잘 못 되었습니다. 아래 errata 페이지에 제대로된 이미지를 올렸습니다.
      http://reversecore.com/105

      16진수 40 => 10진수 64 맞습니다~
      리버싱에서는 16진수 표현이 더 자연스러워서 그렇게 표시하였습니다.

      감사합니다.

  3. shiri 2014.06.25 12:34 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요

    Hello World! 리버싱을 해보려고 Ollydbg 110으로 실행을 했는데 CALL 0040270C는 안보이고

    774A01B8 895C24 08 MOV DWORD PTR SS:[ESP+8],EBX 이런게 먼저 나오네요...

    200버전으로 다시 실행해도 책에 있는 것처럼 나오지 않아서 책 따라하기가 힘들어요

    제 운영체제가 64비트인데 혹시 이것 때문인가요?

  4. ㅇㅇ 2014.07.08 13:26 신고 댓글주소 | 수정 | 삭제 | 댓글

    p.165 Q3문제에서
    rva를 raw로 변환했는데, 그 값이 초과되어 rva의 섹션과 raw의 섹션이 다르게 나왔고
    그 이유가 VirtualSize값이 SizeOfRawData보다 크기 때문이다.
    라고 나와있는데요.
    이거 잘못된 것 아닌가요
    위의 섹션이 다르게 나오는 경우는
    VirtualSize > SizeOfRawData 가 클 때가 아니라
    RVA - VA > SizeOfRawData일 때 아닌가요?

    반례를 들면, data섹션의 파일 옵셋이 0~1000, VA가 0~1100이고
    RVA는 100이라고 가정했을 때
    위의 설명대로라면 VirtualSize(1100) > SizeOfRawData(1000) 이므로 RVA->RAW 변환했을 때 섹션이 다르게 나와야 하지만
    RVA-VA=100 RAW=100, RVA와 RAW의 섹션은 data로 동일합니다.

  5. ㅇㅇ 2014.07.08 13:26 신고 댓글주소 | 수정 | 삭제 | 댓글

    p.165 Q3문제에서
    rva를 raw로 변환했는데, 그 값이 초과되어 rva의 섹션과 raw의 섹션이 다르게 나왔고
    그 이유가 VirtualSize값이 SizeOfRawData보다 크기 때문이다.
    라고 나와있는데요.
    이거 잘못된 것 아닌가요
    위의 섹션이 다르게 나오는 경우는
    VirtualSize > SizeOfRawData 가 클 때가 아니라
    RVA - VA > SizeOfRawData일 때 아닌가요?

    반례를 들면, data섹션의 파일 옵셋이 0~1000, VA가 0~1100이고
    RVA는 100이라고 가정했을 때
    위의 설명대로라면 VirtualSize(1100) > SizeOfRawData(1000) 이므로 RVA->RAW 변환했을 때 섹션이 다르게 나와야 하지만
    RVA-VA=100 RAW=100, RVA와 RAW의 섹션은 data로 동일합니다.

  6. ssss 2014.07.12 21:27 신고 댓글주소 | 수정 | 삭제 | 댓글

    리틀엔디언 질문이요.
    책에보면 메모리 값을 읽을 때
    어떤건 리틀엔디언 적용해서 거꾸로 읽고
    어떤건 적용안하고 메모리 값 그대로 읽고
    하던데 왜이러는건가요?

    가령
    파일을 hxd로 열었을 때
    0x00 10 00
    0x02 20 00
    이고
    0x00은 구조체 멤버1의 값
    0x02는 구조체멈버2의 값
    라고 했을때
    책에서
    이 구조체멤버의 값을 읽어줄때
    구조체멈버1: 1000
    구조체멤버2: 0020
    이런식으로 하나는 리틀엔디언 적용안하고
    하나는 적용하고
    이러는데 왜 이러는건가요??

  7. battlecoalla 2014.07.19 01:07 신고 댓글주소 | 수정 | 삭제 | 댓글

    작가님 책 잘 보고있습니다.
    다름이 아니라, 제가 공부를 하는데 지금 사용하는 운영체제가 우분투입니다..
    혹 책보면서 공부하기 좋은 툴이 있는지요? 찾아봐도 우분투쪽은 잘 안나오네요 ㅠㅠ

  8. eeee 2014.07.20 08:35 신고 댓글주소 | 수정 | 삭제 | 댓글

    페이지 225 PE파일 재배치원리 설명 부분을 보면 "TypeOffset 값이 0이 되면 하나의 IMAGE_BASE_RELOCATION구조체가 끝납니다"라는 문장이 있는데
    이 문장의 뜻이 IMAGE_BASE_RELOCATION구조체의 마지막 TypeOffset 멤버의 값이 0이라는 얘기인가요?

  9. RedCode 2014.07.22 14:19 신고 댓글주소 | 수정 | 삭제 | 댓글

    2.2.4 세션 20470C 함수따라가기 에서 막히네여

    제 Pc는 Win7 32bit 입니다.

    제Pc에서보면 시작번지가 00426479 로 시작해서 쭈욱 시퀀스 생기네여

    아무리 봐도 40270C 가없네여

  10. Say-Y 2014.09.01 01:13 신고 댓글주소 | 수정 | 삭제 | 댓글

    책204쪽 notepad_upx.exe 의 ep code 부분에
    예/아니오 중에 아무거나 선택해서 넘어가면 그림 15.3과 같이 upx ep 코드가 나타납니다.
    라고 되있는데 바로 notepad.exe 의 ep코드와 같은 부분으로 넘어갑니다. 물론 0101532f의 upx ep코드가 있긴 합니다만. ollydbg 신버젼2.0인가 를 사용해서 그런가요? 그렇다면 upx ep에서 시작하려면 어떻게 해야하나요?

  11. Seo 2015.01.07 14:23 신고 댓글주소 | 수정 | 삭제 | 댓글

    p76 ~ 77에 있는 StackFrame에 대해 질문이 있습니다.
    StackFrame.cpp를 비주얼스튜디오를 이용해서 exe 파일을 생성했습니다.
    (최적화 옵션을 off 했습니다.)

    올리디버거로 StackFrame.exe 파일을 열고, 401000 주소로 이동하려고 했습니다.
    그런데 401000 주소는 보이지 않아요.
    제 컴퓨터에서는 00401000 주소가 아니라 002C1000으로 나타납니다.

    어셈블리 내용들은 교재와 똑같이 나오는데,
    주소가 다르게 출력되는 상황이에요.
    00401000으로 출력되게 하려면 어찌해야 하는지 궁금합니다!!

  12. yOkang 2015.01.13 16:36 신고 댓글주소 | 수정 | 삭제 | 댓글

    DLL 인젝션, 처음 부분인 메시지 후킹 실습 관련 질문좀 드릴게요.
    HookMain.cpp / KeyHook.dll 이용해서 , 메모장 열어서 키보드 입력시
    입력은 안먹히긴하는데, HookMain.exe 가 뻗어버리고, 내용상으로는 노트패드명
    확인해서 노트패드인 경우에만 입력을 후킹하는걸로 되어있는데,
    다른 프로그램에서 키보드 입력을 해도 먹히지 않으면서 뻗어버리네요.
    그리고, 프로세스 익스플로러에서 dll 인젝션됬는지 확인하려고 계속 체킹하는데.
    노트패드에 KeyHook.dll이 인젝션되지 않은건지 됬는데 뻗어서 안뜨는건지...
    확인이 안되네요. 뭐가 문제일까요?

  13. 쉬리 2015.02.08 23:15 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요. 현재 코드 인젝션(27장)을 공부하고 있습니다. InjectionCode() 함수에서
    dwSize = (DWORD)InjectionCode - (DWORD)ThreadProc; 처럼 함수의 크기를 구하는 것이
    MS Visual C++에서 사용된다면 다른 컴파일러에서는 어떠한 방법으로 함수의 크기를 구하는지
    알고싶습니다. 답변주시면 감사하겠습니다.

  14. 이경묵 2015.06.30 12:38 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  15. 이시 2015.07.18 03:38 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  16. 나작소 2015.08.04 16:34 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  17. 엄기영 2015.09.23 19:52 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  18. 엄기영 2015.09.23 23:32 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  19. 로기리 2015.11.07 07:57 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  20. 151127 2015.11.28 04:54 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다



질문/답변 코너를 만든 이후로 많은 분들께서 질문을 해주시고, 답변도 도와 주셨습니다.

모든 분들께 정말로 감사를 드립니다.

댓글로 질문/답변을 진행하고 있는데요, 너무 댓글이 길어져서 사용하기 불편해졌습니다.
그래서 새로 추가하였습니다.

이후부터는 이쪽에 질문/답변을 올려주세요~
감사합니다.

* 예전 질문/답변 코너 링크입니다. (원하시는 내용이 있는지 검색해 보세요~)

질문/답변 코너입니다.

=======================================================

리버스 엔지니어링 분야에 대해 질문이 있으시면 아래의 댓글로 올려주세요. 역시 댓글로 답변을 올려드리겠습니다. 공개하기 어려운 내용은 '비밀글' 에 체크해주세요.

"비도덕적, 불법적" 인 내용은 답변 드릴 수 없음을 이해해 주시기 바랍니다.


댓글, 방명록, 이메일 등으로 많은 분들께서 여러 가지 질문들을 해주십니다. 
그중에 정말 좋은 질문들이 많아서 여러분들과 공유하면 좋겠다고 생각하였습니다.

이제부터 저에게 들어오는 모든 질문과 답변들을 이곳으로 모을 것입니다.
앞으로 질문과 답변은 이곳에서 해주세요~

질문에 대한 답변은 저 뿐만 아니라 제 블로그에 오시는 모든 분들께서 하실 수 있습니다.
문제 해결을 위한 방법은 다양합니다. 저 말고도 다른 분들의 답변은 언제나 환영입니다.

"질문은 좋은 것 입니다. 많이 해주세요. ^^ "

* 댓글로 질문하기 어려운 내용들(긴내용, 첨부파일 등)은 제 이메일(reversecore@gmail.com)로 문의해 주세요.

* 제가 사용하는 GMail 은 PE 파일을 첨부하면 전송 거부를 합니다. (압축을 시켜도 그걸 열어서 확인하지요.)
   => 실행 파일을 첨부해서 보내실때는 확장자를 exex, dllx, zipx 등으로 변경해서 보내주세요.

* 댓글이 너무 많이 달리면 제가 질문/답변 빈 포스트를 또 올릴 겁니다. 그쪽으로 계속 질문 댓글 달아주시면 됩니다.

감사합니다.


ReverseCore

'q&a' 카테고리의 다른 글

질문/답변 코너입니다. (3)  (394) 2011.04.13
질문/답변 코너입니다. (2)  (250) 2010.01.28
질문/답변 코너입니다.  (295) 2009.09.21
    이전 댓글 더보기
  1. 쿠크다스ss 2015.04.15 02:28 신고 댓글주소 | 수정 | 삭제 | 댓글

    34장 IE접속제어(553page) 부분을 공부하고있는데요 ollyDbg110 을 이용하여 익스플로어를 attach 하였는데 internetConnectW함수에 BP를 걸걸었는데도 불구하고 멈추질 않네요 그런데 또 올려주신 dll 인젝션 하면 또 후킹이 되고... 뭐가 문제인지 도통 모르겠습니다.

  2. sammysl 2015.05.05 17:49 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  3. 바이낸 2018.02.10 20:46 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  4. 여우마담 2018.12.13 17:18 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  5. 투지 2018.12.13 20:34 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  6. 골인벳 2018.12.14 11:11 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  7. 사황벳 2018.12.14 13:33 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  8. 레턴시 2018.12.14 21:43 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  9. 레턴시 2018.12.15 22:13 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  10. 스코어 2018.12.16 01:10 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  11. 이벤실장 2018.12.16 13:30 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  12. 케이벳 2018.12.16 16:18 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  13. 에요벳 2018.12.16 19:11 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  14. 무료관전 2018.12.21 15:58 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  15. 무조건 2018.12.28 15:49 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  16. 화연 2019.01.04 18:36 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  17. 좋은 생각 2019.01.16 16:55 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  18. 인터넷가입 2019.01.19 23:33 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  19. 적토마블랙게임 2019.01.21 03:30 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  20. 인터넷가입 2019.01.21 06:24 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다




리버스 엔지니어링 분야에 대해 질문이 있으시면 아래의 댓글로 올려주세요. 역시 댓글로 답변을 올려드리겠습니다. 공개하기 어려운 내용은 '비밀글' 에 체크해주세요.

"비도덕적, 불법적" 인 내용은 답변 드릴 수 없음을 이해해 주시기 바랍니다.


댓글, 방명록, 이메일 등으로 많은 분들께서 여러 가지 질문들을 해주십니다.
그중에 정말 좋은 질문들이 많아서 여러분들과 공유하면 좋겠다고 생각하였습니다.

이제부터 저에게 들어오는 모든 질문과 답변들을 이곳으로 모을 것입니다.
앞으로 질문과 답변은 이곳에서 해주세요~

질문에 대한 답변은 저 뿐만 아니라 제 블로그에 오시는 모든 분들께서 하실 수 있습니다.
문제 해결을 위한 방법은 다양합니다. 저 말고도 다른 분들의 답변은 언제나 환영입니다.

"질문은 좋은 것 입니다. 많이 해주세요. ^^ "

* 댓글로 질문하기 어려운 내용들(긴내용, 첨부파일 등)은 제 이메일(reversecore@gmail.com)로 문의해 주세요.

* 댓글이 너무 많이 달리면 제가 질문/답변 빈 포스트를 또 올릴 겁니다. 그쪽으로 계속 질문 댓글 달아주시면 됩니다.

감사합니다.


ReverseCore



'q&a' 카테고리의 다른 글

질문/답변 코너입니다. (3)  (394) 2011.04.13
질문/답변 코너입니다. (2)  (250) 2010.01.28
질문/답변 코너입니다.  (295) 2009.09.21
    이전 댓글 더보기
  1. RCE 2013.12.31 09:57 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요
    리버싱 공부 중인 학생입니다.
    인라인 패치를 하고 있는데 책에 나와 있는데로가 아닌
    rdata 영역 또는 data 영역을 이용해서 패치하려는데 패치가 잘 안 되서 질문드립니다.
    401083의 JMP 영역은 XOR 7로 잘 바꾸어 주었는데
    아마도 패치 영역이 문제인 것 같습니다. 바꾸고 저장해도 다시 디버깅을 해보면
    패치했던 부분이 그대로 0000 으로 되어 있더군요
    제가 패치한 부분은
    rdata 영역일 때 메모리상 pointer to offset은 402000을 시작으로 402B38까지 rdata 내용, 그 뒤로
    402B38~403000을 Null 영역으로 계산하였고 그 중 패치는 402B38~402200사이에 했습니다.
    (Pointer To Rawdata : 800 / VirutalSize : 138 / SizeOfRawdata : 200)
    그런데 제대로 패치가 되지 않아 저의 계산이 틀린 것 같은데 어떻게 계산을 해서 Null영역에
    패치를 해야 하는지 궁금합니다.
    <data 영역일 경우 403000을 시작으로 40302C 까지 data 내용, 그 뒤로 40302C부터 404000까지
    Null 영역으로 잡고 패치했었습니다.>

  2. James 2014.01.05 22:36 신고 댓글주소 | 수정 | 삭제 | 댓글

    처음 공부시작하는학생입니다...
    올리디버거 글자크기가 너무 작아서요... 눈이 아픈데요
    Option의 Appearence의 Fonts를 들어가서 Font parameters의 change를 눌러 폰트사이즈를 변경해도 바뀌지가 않습니다..
    글자를 좀 크게볼수있는 방법이 있나요?

  3. choi 2014.01.19 11:20 신고 댓글주소 | 수정 | 삭제 | 댓글

    처음 리버싱을 공부하는 학생인데 공부하던 도중 IA-32 매뉴얼은 어디에서 얻을 수 있나요?

  4. galois 2014.02.02 13:59 신고 댓글주소 | 수정 | 삭제 | 댓글

    음 올리디버그로 헬로월드 디버깅 하는 예제를 책을보고 따라해볼려고 올리디버그를 다운받고 예제 HelloWorld.exe도 다운받아서 올디에서 파일을 여는데 이런 에러가 뜨네요.

    Unable locate to file " 파일 경로"

    이거는 어떻게 해결하나요??

    그리고 올리디버그를 관리자 계정에서 사용하는데 그냥 실행하면
    you do not have administrative rights on this computer ~~ 라는 메시지 박스가 뜨길래
    관리자 권한으로 실행을 해본 결과 메시지박스가 안뜨는 걸 알게 됬는데
    이렇게 사용하는게 맞는지요??

    질문 읽어주셔서 감사합니다.

  5. 2014.04.24 13:22 댓글주소 | 수정 | 삭제 | 댓글

    비밀댓글입니다

  6. shiri 2014.06.25 12:34 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요

    Hello World! 리버싱을 해보려고 Ollydbg 110으로 실행을 했는데 CALL 0040270C는 안보이고

    774A01B8 895C24 08 MOV DWORD PTR SS:[ESP+8],EBX 이런게 먼저 나오네요...

    200버전으로 다시 실행해도 책에 있는 것처럼 나오지 않아서 책 따라하기가 힘들어요

    제 운영체제가 64비트인데 혹시 이것 때문인가요?

  7. ㅇㄹㄴㅇㅁㄹ 2014.07.12 22:33 신고 댓글주소 | 수정 | 삭제 | 댓글

    datadirectory export값이요.
    NT Header - optional header의 멤버를 설명하는 부분에선
    datadirectory[0]의 값, 그러니까 Export의 Size값과 RVA값이 모두 00 00 00 00, 00 00 00 00
    이라고 나오는데

    EAT를 설명하는 부분에선 Size=00 00 6d 19, RVA=00 00 26 2c라고 값이 바뀌어 있습니다.
    이유가 뭔가요.

  8. ㅇㄹㄴㅇㅁㄹ 2014.07.13 19:17 신고 댓글주소 | 수정 | 삭제 | 댓글

    아 위의 질문 취소입니다. 파일이 다른거였네여 ㅈㅅㅈㅅ

  9. 전국수석 2014.07.16 02:31 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요
    올해 5년차 Windows 개발자 입니다
    주로 C/C++ 사용해서 개발은 하고 있습니다 ~ 응용프로그램개발, 시스템 프로그래밍을 했습니다
    지금 분야를 보안개발이나 정보보안전문가로 가고 싶은데요
    현재 리버싱책을 사서 공부중인데요 IDA Pro 정품을 구매해서 제대로 공부해보고 싶습니다
    정품구매 요령하고 어디서 구매하는지 패키지가 얼마정도 하는지 좀 알려주세요
    감사합니다 ~

  10. 한숨만나온다 2014.07.22 07:53 신고 댓글주소 | 수정 | 삭제 | 댓글

    저자분 블로그 관리 너무 안하시는것 같아요.
    리버싱이란게 생소하고, 변수가 많은 분야이기 때문에
    당연히 수많은 독자들이 수많은 질문을 할텐데, 그 부분을 생각지 못하고
    저자분 혼자 답변하겠다는 생각으로 메일과, 블로그에 QA게시판을 만들면...
    지금 저자분처럼 일일이 답변해주는거 포기하고, 블로그도 뜸하게 들어오게 되고
    덕분에 독자들만 개고생하는 결과가 나는거죠.
    윤성우님처럼 저자의 개입없이 독자들끼리 정보공유해서 해답을 찾을 수 있게끔
    커뮤니티 카페를 만들었다면 좋았을텐데 말입니다.
    다시 한번 윤성우님을 찬양하게 되는 부분입니다.

  11. 한숨만나온다 2014.07.22 07:53 신고 댓글주소 | 수정 | 삭제 | 댓글

    저자분 블로그 관리 너무 안하시는것 같아요.
    리버싱이란게 생소하고, 변수가 많은 분야이기 때문에
    당연히 수많은 독자들이 수많은 질문을 할텐데, 그 부분을 생각지 못하고
    저자분 혼자 답변하겠다는 생각으로 메일과, 블로그에 QA게시판을 만들면...
    지금 저자분처럼 일일이 답변해주는거 포기하고, 블로그도 뜸하게 들어오게 되고
    덕분에 독자들만 개고생하는 결과가 나는거죠.
    윤성우님처럼 저자의 개입없이 독자들끼리 정보공유해서 해답을 찾을 수 있게끔
    커뮤니티 카페를 만들었다면 좋았을텐데 말입니다.
    다시 한번 윤성우님을 찬양하게 되는 부분입니다.

  12. 2014.08.12 12:56 댓글주소 | 수정 | 삭제 | 댓글

    비밀댓글입니다

  13. 애독자 2014.09.29 19:00 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요. 애독자이며, 정말 많은 도움을 받고있습니다. 감사합니다.
    다름 아니오라 한가지 궁금하게 있어서 질문하게 되었습니다.

    a.dll 에서 aaa라는 함수를 실행하면 그 함수안에서 c:\ccc 라를 폴더에서 ccc.ini 불러오고있습니다. 그런데 a.dll 은 제가 LoadLibrary로 실행중에 로드 하는 상황입니다.
    a.dll 의 aaa라는 함수에서 c:\ccc 라는 폴더 말고 c:\ccc\sub 라는 폴더로 수정하고싶은데,
    책에서 보면 별도의 exe를 만들어서 만들어서 pid를 얻고 그 다음 실행중에인젝션하는 것 같습니다.

    a.dll 자체를 수정해서 인젝션 따로 필요없이 하는 처리하는 방법은 없을까요?


  14. 좋아요 2014.10.28 22:31 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하십니까, 저자님의 ollydbg.ini 파일을 적용시킨 후, 실행하고 F7나 F8을 누르면
    다른 경고창으로 HelloWorld가 작동하지 않습니다 또는 중지되었습니다 따위의 오류가 발생합니다. 어떻게 해야됩니까??

  15. 이리x 2014.11.18 13:59 신고 댓글주소 | 수정 | 삭제 | 댓글

    리버싱의 핵심원리를 공부하다가 궁금증이 생겨서 문의 드립니다.
    어떻게 보면 아주 간단한거고, 어떻게 보면 아주 간단하지 않은 질문이지만요^^
    제가 궁금한것은 hooking의 기초, SetWindowsHookEx 함수입니다.
    (리버싱의 핵심원리 21장, 294~297페이지 소스를 같이 봐주시면 이해가 더 빠르실지도.. ㅎㅎ)
    소스 내용은 대충 이러합니다.
    콜백함수를 통해 메시지 발생 시(키보드 누르는 메시지 발생 시) notepad일 경우 메시지를 후킹하여 전달하지 않아 키보드 입력이 안되게 하는 알고리즘으로 되어 있습니다.

    자 여기서 질문입니다.
    1. 부모프로세스가 explorer인 notepad는 정상적으로 후킹이 됩니다. 후킹이 되어 키보드 입력이 되지 않는데요.. 하지만 부모프로세스가 ollydbg인 notepad에는 후킹이 되질 않습니다.(키보드 입력이 정상적으로 됩니다.) 또한 다른 컴퓨터에서 진행해도 똑같이 정상적으로 입력이 됩니다. 이유가 무엇일까요?
    2. process explorer를 보면 ollydbg의 자식 프로세스 notepad에는 dll을 클릭해도 아무것도 출력되지 않습니다. 그 이유는 무엇일까요?
    3. 정확하게 dll이 붙는 곳은 어디일까요?(이 질문을 하는 이유가 뭐냐면 hookmain 프로그램과 메모장, 그리고 스티커 메모장 실행 시 키보드 메시지를 발생시키자 keyhook.dll이 붙는 것을 확인할 수 있었습니다. -> 이 말은 콜백함수가 우선적으로 호출된 후 injection 된다는 얘기입니다. dll injection 코드가 정확하게 어딘지 모르겠네요.. 올리디버거로 분석하려고 해도 붙질 않으니.. ㅠㅠ) 콜백 함수가 실행되고 dllmain이 실행되는 걸까요..? 흠..
    그래서 제가 고민끝에 내린 추측은
    콜백함수나, dll injection 과정을 거칠때 ppid가 같아야한다?
    아니면 애초에 keyhook.dll이 로드되지 않았다??(process explorer를 볼 시 아무것도 출력이 되지 않아서..)
    dll이 정상적으로 injection 되지 않았기 때문에..?? 그 이유는..??
    이정도 입니다..
    혹여 이 부분을 실습하다가 안되신 분들 계시면 답변 부탁드리고, 아시는 내용이 있으면 댓글 부탁드립니다.

  16. 쉬리 2015.02.08 23:12 신고 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요. 지금 코드 인젝션을 공부하고 있습니다. InjectCode() 함수에서
    dwSize = (DWORD)InjectionCode - (DWORD)ThreadProc; 이 부분에서 질문이 있습니다.
    위의 코드가 MS Visual C++에서 사용되는 코드라면 다른 컴파일러를 사용했을땐 어떤식으로
    함수의 크기를 구하는지 알고싶습니다. 답변해주시면 감사하겠습니다.

  17. 2015.07.13 16:24 댓글주소 | 수정 | 삭제 | 댓글

    비밀댓글입니다

  18. 2015.07.13 16:24 댓글주소 | 수정 | 삭제 | 댓글

    비밀댓글입니다

  19. 디디딛 2015.07.21 17:03 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다

  20. 김준영 2015.09.25 22:46 댓글주소 | 수정 | 삭제 | 댓글

    관리자의 승인을 기다리고 있는 댓글입니다