반응형


[리버싱 핵심 원리] 질문과 답변 게시판 입니다.


책에 관하여 궁금하신 점이 있으시면 댓글로 질문을 올려주시기 바랍니다.


다른 사람들의 질문에 대해 답변을 달아주셔도 되고요, 남들과 다른 해결 방법이 있으신 경우 공유해 주시면 감사하겠습니다.


다양한 사람들의 아이디어가 많이 모여 같이 생각하고 발전할 수 있는 기회가 되면 좋겠습니다.



반응형
  1. 이전 댓글 더보기
  2. 박준우 2014.07.29 10:55

    섹션 헤더 추가
    - 파일에서 마지막 섹션 헤더 뒤에 Pedding이 없어서(IMPORT Table 내용이 바로 나옵니다.) 섹션헤더 공간을 추가하려고 하는데 그럼 뒤로 주소가 전부 밀리잖아요 그럼 밀린쪽 섹션을 가리키는 RVA는 전부 변경해야 하나요?

    • 박준우 2014.07.29 11:41

      -자답-
      패딩 영역이 있는데 BOUND IMPORT TABLE의 내용이 위치해 있지만 중요한 내용이 아니어서 덮어 써도 됨! 어차피 Directory Table의 인덱스 1번째에 동일한 내용이 존재!, BOUND IMPORT TABLE은 11번째 인데 값을 지웠으므로 Directory의 RVA 및 SIZE 정보도 삭제하면 정상적으로 추가 및 실행됨

  3. 박준우 2014.07.29 11:04

    올리디버거 설정
    - 웹에 올려놓으신 설정 파일로 올리디버거를 실행하면 comments 항목에 좀더 상세한
    내용(주소의 값 같은..)이 나오던데 어떤 옵션인지 모르겠습니다.ㅜㅜ

  4. Backer 2014.08.09 03:21

    안녕하세요
    책 공부하다 모를것이 있어서 여기에 질문합니다.
    209페지에서 압축해제루프 탈출하고 첫번째 섹션(UPX0) 영역(01007000)에 압축해제된 코드가 씌여져있는것을 확인한다고 하셨는데...
    여기서 01007000이 어떻게 나왔는지 궁금합니다.
    해제루프 탈출후 해당 Register들의 값을 따져보아도 그 값이 없는데...
    그리고 첫번째 섹션 01001000 위치에 가보면 아직 NULL로 설정되여있고 0100136C부터 코드가 씌여져있습니다.

    01007000이 어떻게 구해졌는지 자세히 답변 부탁드립니다.
    감사합니다.

  5. 2014.08.25 19:03

    비밀댓글입니다

  6. 초보개발자 2014.09.09 14:44

    keyhook에 관련되어 문의드립니다.
    exe와 dll 코드를 각개의 프로젝트를 통해생성한다음 exe프로젝트에서 set as a project? 를 누르는게 맞는건가요?..

    자꾸 '경로\Keyhook.dll'을 unable to program이 뜨네요.. 이거 도대체 무슨문제 인가요 ?

  7. 바우와우 2015.02.04 00:58

    안녕하세요^^

  8. 김진명 2015.03.07 15:07

    궁금한점이있어요
    Dll인젝션을통해 실행프로그램내의 함수를 이용하려면 dll이 어떤식으로 짜여져야하나요?

  9. 류호찬 2015.03.12 10:57

    2장 helloworld실행파일을 ollydbg로 실핼시켰는데 Entry Point Alter라는 경고창이 뜨네요!
    왜이런걸까요??

  10. 아지다 2015.03.25 21:27

    안녕하세요..
    교재 32 계산기, 한글을 배우다 를 실습 진행하고 있는데요.
    hookiat.dll을 제가 직접 컴파일 하려고 하는데 계산기에 잘 적용이 되지 않습니다.
    혹시 컴파일 할 때, 비쥬얼스튜이오에서 특별히 지정해야되는 옵션이 있는지 궁금합니다.

    • 아지다 2015.03.25 21:32

      다운받은 실습예제로 hookiat.dll 만 교체하여 진행하면 잘되는데.. 제가 컴파일 하면 안됩니다.
      hookiat.dll 안에 hook_iat() 함수도 잘 적용되는 것을 확인했습니다. (DebugView 를 통해서)
      이상한 점은 제가 컴파일한 hookiat.dll은 잘 실행이 된것 같은데.. Process Explorer로 확인하면 hookiat.dll이 calc.exe에 로딩되어 있지 않습니다.

  11. root 2015.04.27 20:41


    64 환경이구요
    책에 제시되어있는 예제는 제일 처음 예제인 helloworld 리버싱 메인 찾는 기초리버싱 음 15페이지에 나와있는 그림 2.3에 코드 윈도우 창,어드레스가 004011A0 으로 시작이 되는데 제 작업환경에는 어드레스가 00425000 으로 시작이 되네요

    이렇게 되니 책이랑 비교해가며 공부하기가 좀 힘들어서 어떻게 해야할지 궁금하네요.. 이럴땐 제가 32 비트 환경으로 컴퓨터를 바꾸거나 가상머신을 돌려야 하는 건가요?? 위에 저와 같은 말씀을 드린분이 계시는데 같은 질문 인것 같아서 정확하게 알고 싶습니다 책과 다르게 나오니 공부하기가 쉽지 않네요 ... 환경탓이긴 하지만요 ㅎㅎ...

    일단 리버스코어님의 첫머리 말씀이 진짜 마음에 와 닿습니다 무엇부터 시작해야 할지 고민보다는
    이것 역시 여러 기술중 하나로써 배워가는 것이며 이걸 함으로써 곧 다른것들 역시 하게 되는 거라는 말씀이 아주 큰 힘이 되고있습니다 ㅎㅎ 그렇게 기쁜맘으로 출발을 하려는데 처음부터 발목이 잡혀서... 그 기대를 놓치고 싶지가 않네요 !...

    몇달전에 쓴 글이지만 질문게시판이 아니어서 답변이 없으셨던것 같아서 다시 올려봅니다.. 부디
    답변좀 해주세요 ㅠㅠ

  12. 조준명 2015.07.28 15:07

    안녕하세요~
    164p RVA->RAW 변환 문제 질문입니다.
    마지막 Q3에 RVA와 RAW의 값이 속한 섹션이 다를 경우 값을 정의할 수 없다고 하는데요
    만약 섹션은 같은데 RAW의 NULL영역에 속한 값이 된다면 그런 경우도 값을 정의할 수 없는가요
    아니면 비록 NULL영역이지만 섹션이 같기 때문에 RAW값을 해당 값으로 정의할 수 있는건가요?
    RVA->RAW convert 함수를 만들다가 의문이 들어 질문 올립니다~

  13. dslab 2015.08.01 16:01

    안녕하세요
    2013년 대학졸업 후 이곳에서 인턴조금... 저곳에서 시스템보안 엔지니어로 조금 일을하며
    막연히 보안전문가가 되고 싶다는 마음만으로 사회에 발을 내딛었다가 얼마전 감사하게도
    대학원에 합격하여 늦은 20대 후반에 연구실에 들어가게되었습니다.

    하지만 그 동안 악성코드분석이나 리버싱에 대해 전혀 접해보거나 공부해본적이 없는 저로써는
    두려움과 초조함 조급함이 먼저 앞서네요. 잘 해낼 수 있을까? 내가 해보지 않았던 분야인데라는
    생각이 앞서다보니 저자님께서 책 초반부에 도움이 되지 않는 것들 중 하나가 조급함이라고
    적어주셨던 것이 생각나네요.

    책을 펴고 이제 23쪽까지 읽어봤는데 명령어를 하나씩 따라가면서 설명해주시는 것들은 이해가
    잘되는데 올리디버거 툴이라든지 헥사코드 등은 정말 범접하기 어려울 정도로 공부하는데
    두려움을 심어주네요 ㅜㅜ

    열심히 배워보고 싶습니다. 대학원 2년동안... 이곳에 많이 질문도 하고 도움도 구하게 될거 같아요. 군에서 정보보호병으로 보안관제업무를 수행하며 보안전문가가 되어 사회전반에 악영향을 끼치는 보안사고들로부터 국민들을 지키고 싶다는 마음으로 취업에 도전했었는데 실패도 맛보고 또 이런 제 결심을 비웃는 분들도 너무나 많아서 보안분야를 완전히 떠나고 싶었을때도 있었지만
    마지막이라 생각하고 리버싱과 악성코드분야로 공부를 해보려고 합니다.

    많이 도와주세요. 책 보면서 하나하나 따라가보려합니다.
    이야기가 너무 많이 길어졌네요. 질문하고 싶은 것이 있어서 글 남기려했던건데..ㅎ

    실행파일을 올리디버거에서 불러오면 EP주소에서 시작한다고 책에 쓰여있었는데
    저자님께서 제공해주신 HelloWorld.exe 파일을 불러오면 책에 표시된 주소와
    제 노트북에서 보여지는 주소가 다른 것 같은데 메모리 주소는 책에 보여진 것처럼 나오는게
    정상인가요? (개인적으로 올리디버거에서 실행파일을 불러와서 직접확인하는 내용까지 책에 포함되어 있었으면 좋았을텐데 하는 아쉬움이 남네요 ^^)

    책으로는 직접 주소를 하나씩 따라가보면서 이해를 하였는데 정작 툴을 이용해서는 주소를 못찾아서 헤매고 있는 상황이네요 답변 기다릴게요 !

  14. toor 2015.08.17 14:24

    책을 사서 독학하고 있는 학생입니다. 처음 PE HEADER 까지는 어떻게 됬지만 DII 파트로 가니 배경지식이 너무 부족해 이해도가 점차 떨어지기 시작했습니다. WIN32 API나 배경지식에 도움 줄만한 책을 추천 받을수 있을까요?

  15. 2015.08.31 10:11

    비밀댓글입니다

  16. 수강생 2015.09.01 23:59

    제 OS는 Windows8 64 Bit 입니다...
    Entry Point Alert Error가 발생해서 Olly Debugger 2.0 버전 설치 후
    해결이 됐습니다 하지만 리버싱 핵심원리의 책처럼
    HelloWorld 파일을 올리디버거로 열면 유니코드가 표시가 안되내요
    이 부분은 어떻게 해결을 해야 할까요 ?
    혹시 OS가 호환이 안되서 문제가 있는건가요 ? 아니면 문제 해결 방법 좀 알려주세요
    첫장부터 막혀서 막막합니다

  17. M0n900se 2015.09.02 19:06

    현재 책에 나와있는데로 값들을 확인하려면 실습환경을 어떻게 구축해야하는지 알려주시면 감사합니다. 현재 Windows 8.1 64bit에서 vmware 이용해서 windows 7에서 디버깅해서 .exe파일 ollydbg로 확인하는데 ... 전혀 다르게 나와서 책 보면서 공부하는데 한계가 있네요. 완벽하게 비슷하지는 않아도 책에 나온것과 최대한 비슷한 결과가 나오게 하려면 어떻게 환경을 구축해야하는지 알려주시면 감사합니다.

  18. emppu 2015.12.03 19:22 신고

    4쇄 74쪽 Abex Crackme #1 Q&A에서

    "Q. NOP으로 패치한 후 그냥 실행하면 크랙이 안 되고 디버거에 올려 실행해야 크랙이 되었다고 나옵니다. 왜 이런 현상이 나타나나요"
    "A. 시도는 좋지만 if문을 패치하는 것이 좋습니다"

    답변이 이상하네요. 그래서 왜 이런 현상이 나타나는건가요?

  19. 2016.02.06 23:27

    비밀댓글입니다

  20. 필명♬ 2016.02.16 16:36 신고

    책 내용에 관련된 질문은 아니고 리버싱 핵심원리를 읽고 나서 이 책과 겹치지 않는 기초적인 내용이라든가 좀 더 심화된 내용을 담고 있는 리버싱 서적 추천해주실 수 있나요?

  21. swha2001 2018.01.21 17:13

    왜인지는 모르겠으나 책에서의 올리디버거 주소와 실제로 했을때의 주소가 다릅니다.
    64bit라 그런가요?

+ Recent posts