반응형




"리버싱 핵심 원리" 2쇄를 찍었습니다~ 

성원해 주신 독자 여러분들께 감사드립니다~ ^^~


많은 독자분께서 블로그와 이메일을 통해 "리버싱 핵심 원리"에 대해 격려와 조언을 해주셨습니다.

정말 감사드립니다~~~



+---+



기억에 남는 이메일들이 많이 있는데요.

의외로 초/중/고 학생중에서 리버싱에 관심을 가지고 열심히 공부하시는 분들이 계시더군요.


어린 학생분들이 인생의 목표를 세우고 한 걸음씩 실천하는 모습을 보면서 가슴이 뭉클하고 절로 숙연해 졌습니다.

새삼 제 자신에 대해 돌아보게되고 삶의 자세에 대해 많이 생각할 수 있었습니다.

덕분에 많이 배웠습니다.



+---+



제 주변에도 제 책으로 공부하시는 분들이 계신데요.

1/3 분량 정도부터 어려움을 느끼시더군요. 

생소한 Win32 API 설명이 나오면서 그 부분이 좀 힘드셨나봐요.


Windows 리버싱이란 API 위주로 프로그램의 동작을 파악해가는 과정의 연속이기 때문에...

API 공부를 피할 수는 없습니다.


한 가지 팁을 알려드리자면 책과 구글 검색을 통해 API에 대한 대략적인 설명을 접한 후 디버깅 실습까지 진행해 보세요.

하나하나 디버깅 하면서 해당 API 의 기능을 익혀 보시기 바랍니다. 억지로 외울 필요 없습니다.

자주 반복해서 나타나기 때문에 나중에 가면 저절로 외워진답니다.


이렇게 하나씩 장애물을 넘어가다보면 자연스럽게 '리버서'가 되는 것입니다.


그리고 어려울땐 질문을 해보세요~

같이 고민하다보면 꼭 해결할 수 있을겁니다~



모두 화이팅 하세요~~~

여러분의 꿈이 다 이루어지길 기원합니다~ ^^



반응형
  1. 이전 댓글 더보기
  2. 퐈니아 2013.02.03 22:17

    드디어 책을 구매했습니다.
    열심히 보겠습니다..ㅎㅎ

  3. 탄마지 2013.02.21 21:44

    축하드립니다^^ 리버싱 처음접하는데 많은 도움되길 기대하고있어요

  4. 매지구름 2013.02.23 11:40

    도서 제목이 리버싱 핵심 원리: 악성 코드 분석가의 리버싱 이야기였군요.. ^^
    제가 사정이 있어서 초판에는 구입못하고 오늘 2쇄를 구입했네요.. 구입못한 사정은 뭐...개인적인...
    페북하면 친추나 합시다.
    요즈음 AhnLab 분위기는 어떤지요? 제가 존경하는 안철수교수님의 횡보가 궁금하군요..
    엘다드에일람(리버스엔지니어 비밀을 파헤치다)도 아직다 마스터 못했는데.
    또 리버스코어님이 내 신책이라 반가운 마음에 바로 충동?구매했네요.
    먹고 살기 바빠서... 돈만 많으면 ㅎㅎ
    이승원님 저두 독서와 공상을 좋아하고, 늘 새로운 도전을 꿈꾸고 있습니다.
    댓글이나 페북친추 부탁드립니다. ^^
    근데 님 블로그에 트랙백이 안가는지요? 저 차단 하셨는지? ㅡ,.ㅡa

    • reversecore 2013.02.25 22:16 신고

      안녕하세요~

      페북 계정이 있기는 한데요~ 그냥 회사 사람들 근황을 보는 수준이고 그나마 잘 들여다 보지도 않는답니다. ^^

      블로그 트랙백 차단이요? 아뇨~ 사실 그런거 할 줄도 몰라요~ ^^

      감사합니다.

  5. 2013.02.25 10:18

    비밀댓글입니다

    • reversecore 2013.02.25 22:14 신고

      안녕하세요.

      선행학습에 대한 제 의견은 이렇습니다.

      C, Win32 API, Assembly, Windows 내부구조, 디버거 동작 원리, PE 파일 등을 미리 잘 알고 있다면 선행 학습이 잘 되어 있는 것입니다. 근데 이미 리버싱도 잘 알고계신 상태인거죠. 이정도 선행학습이 되어 있다면 그 다음은 실전만 남은겁니다. ^^

      저 모든 것을 공부하는 것이 리버싱을 배우는 과정이라고 생각합니다. 그런데 프로그래머보다 더 전문적으로 C, Win32 API, Assembly 를 공부하기도 어렵고... 커널 드라이버 개발자보다 Windows 내부구조, 디버거 동작 원리 를 공부하기도 어렵습니다.

      보통 리버싱 초보자들은 선행학습만 하다가 그 엄청난 양에 지쳐서 포기한답니다. 그래서 저는 리버싱의 재미를 맛본 다음에 필요한 것을 필요한 정도 만큼만 찾아 공부하는 방식을 권해드립니다.

      체계가 약간 없어 보일 수 도 있지만... 어느정도 수준으로 올라가면 스스로 알아서 필요한 부분을 찾아서 깊이 공부하게 된답니다. 저와 제 주변의 모든 리버서들은 다 이런식으로 배웠습니다. ^^

      감사합니다.

  6. joon 2013.02.25 12:00

    2쇄 구매자입니다. ㅋ
    공부 할겸 겸사겸사 검색하다보니 이곳까지 왔네요. ㅎㅎ
    좋은 정보 많이 보고 갑니다. 종종 올께요 ^^

  7. 매지구름 2013.02.26 16:07

    안녕하세요 드뎌 오늘 도서가 왔네요...^^
    저두 티스토리 블로그 오픈한지 얼마 안되어서, 사실 밤벌레로 활동하다가 접고 다시 아는 지인에게서 초대장부탁하여 티스토리 블로그 재오픈하였네요..^^
    제 블로그에 도서구입받은 사진 올렸어요.. 댓글이래도 부탁..^^
    저두 블로그에 좋은 컨덴츠를 많이 올릴예정이구 주가가 우상향으로 갈 블로그에요..ㅎㅎ
    꼭 들러주셔서 댓글이래두 남겨 주셨으면 고맙겠습니다. ^^
    오늘도 행복하시구요. 자주 와서 괴롭혀드릴께요,,ㅎㅎ

  8. ㅎㅎ 2013.03.03 18:36

    존경해요

    꼭 살겁니다!

  9. hans 2013.03.06 17:24

    시스템 엔지니어에서 보안파트로 업무를 변경되고
    악성코드를 찾다보니 백신벤더만으로 한계가 있어서
    책을 구입한지 3개월째...

    대다수 악성코드가 DLL Injection 방식이라 text 결과물로 맨날 쳐다보니 눈도 아프고
    마음도 지치고 편하게 하고자 툴을 만들고 있느라 책을 못보고 있네요 ㅠㅠ

    어여 마무리하고 책을 봐야겠네요 ㅠㅠ

    ps 툴이 어느정도 만들어지면 시험삼아 한번 봐주셨으면 감사하겠습니다. ^^

    • reversecore 2013.04.01 21:28 신고

      안녕하세요.

      네, 툴이 완성되면 저도 보고싶네요~

      리버싱 공부 재밌게 하시기 바랍니다.

      감사합니다.

  10. REng 2013.03.07 20:05

    안녕하세요?

    승원님 블로그 글을 자주 찾다가 오늘 드디어 책을 샀습니다.^^

    책이 두껍고 내용이 많아 좀 비싸더군요. ㅎㅎ ( 가치에 비해서 비싸다는 뜻이 아닙니다 오해하지 마세요^^)

    감사히 열심히 잘 보겠습니다! 궁금한 점 있으면 자주 들를께요~

    • reversecore 2013.04.01 21:27 신고

      안녕하세요. 반갑습니다.

      재밌게 공부하시기 바랍니다~ ^^

      감사합니다.

  11. Ksg12 2013.04.02 23:12

    안녕하세요.!!
    리버싱 잘보고있습니다.
    아직 첫장이라서 제가 잘못생각하는걸 수도있는데
    더좋은 IDA 같은 디버깅 프로그램을 갔고
    꼭 올리디버거를 추천하시는게 이유가 있나해서요.

    그리거 어셈블리언어 강의는 없나요 ㅠㅠ

    책 잘보고있습니다.
    두꺼워서 약간 겁을 먹긴했는데 열심이 화이팅해서 보고있습니다 !!
    이런책 써주셔서 감사합니다.

  12. hansu9911 2013.04.25 23:06

    C언어 포인터까지 공부하고 바로 이책을 들어갈려고 하는데, 어셈블리어를 하나도 몰라도 진행하는데 문제가 없을까요?
    서점에서 초반부를 봤더니 윈도우 환경이다보니 API 도 나오고 하던데 API 라도 하고 봐야 정상적인 공부가 가능할까요?

  13. BoN 2013.05.20 22:42

    후킹이라는 기법을 우연히 알게되어
    간간히 리버스코어님의 블로그에서 이것저것 도전해보고 시도하다가
    포기했었는데
    책이 나왔다는 소식을 듣고 구매했습니다!
    2판 축하드려요 ^^

    목표, 열정 그리고 구글!! :)

  14. 이정욱 2013.05.31 18:39

    안녕하세요... "리버싱 핵심원리" 책을구매해서 공부하는학생입니다.
    "PE 헤더" 에서 "IAT" 에서 제가 이해를 잘한건지 안한건지를 알고싶습니다..
    기술 자체에는 이해는 가지만.
    DLL 부분에서 a.dll/b.dll 저걸 예시로 들어서 설명을햇는데 그부분이 이해가안갑니다...

  15. 김낙현 2013.06.04 21:42

    안녕하세요... 이 책을 구매해서 공부하는 학생입니다.
    30페이지에서 all referenced text strings 메뉴에 들어갔는데도 불구하고 어떠한 것도 화면에 출력되지가 않네요... api 검색도 마찬가지입니다.. 이 문제를 어떻게 해결해야 할까요?

  16. 최찬희 2013.06.13 23:48

    아 저도 컴퓨터 수리하는것과 프로그램 분석하는게 취미인데
    책이 너무 비싸요 ㅠㅠ

    지금은 c언어배우고있긴한데 c언어보단 리버싱을좋아하는터라..

    언능 돈모아서 사야겠네요 ㅋㅋ

  17. 최찬희 2013.06.19 19:15

    책샀어요 괜찮고 좋은 지식배우고있습니다 ㅎㅎ

  18. 최찬희 2013.06.19 19:15

    책샀어요 괜찮고 좋은 지식배우고있습니다 ㅎㅎ

  19. Lim 2013.11.08 18:03

    열심히 리버스 핵심원리를 읽으며 공부하고 있는 학생입니다. 좋은 책 감사합니다. ^^

  20. katarn 2014.01.02 13:51

    축하드립니다. 오랜만에 와봤는데 출판하셨군요. 지름신 발동해서 질러야겠다 ㅋㅋ

  21. Ani Gil 2018.12.08 21:49 신고

    개인적으로 생각해보지만 저는 이 책 베스트셀러 아닐까 싶습니다. 현재 판매되고 있는 기초 리버싱? 아무튼 해골문양 그러진 책 있잖아요. 그책하다가 넘어오면 딱 맞지 않을까싶습니다. 어려운 내용만 많이 쌓아 올린 두껍고 이해하기 어려운 딱딱한 책인줄 알았지만 왠걸 생각보다 많이 부드러운 책이네요. 잃어버리면 재구매 의사 있습니다 ㅋㅋ 현재 예비 고1 AniGil이 남겨봅니다

반응형


가상 인터뷰 형식을 빌려 저와 책에 대한 소개를 합니다. 그리고 블로그와 책의 독자님들께 받은 질문들에 대한 답변을 정리하였습니다.



- 안녕하세요? 본인 소개를 부탁 드립니다.


안녕하세요~ 리버스 엔지니어 '리버스코어' 입니다.    

대학 시절부터 컴퓨터 프로그래밍에 매력을 느껴 공부를 했던 계기로 IT 에 입문하였구요.

소프트웨어 업체에서 3년 동안 네트워크 솔루션을 개발하였습니다.

그 후 보안회사로 이직하여 그때부터 쭉 악성 코드 분석업무를 하고 있습니다.

몇 년 전부터 리버스 엔지니어링 전문 블로그(ReverseCore.com)를 운영하고 있지요.



- 이번에 리버스 엔지니어링 분야의 책을 쓰셨는데요, 간단한 책 소개를 부탁 드릴께요.


'리버싱 핵심 원리' 라는 소프트웨어 리버스 엔지니어링 입문용 기술 서적입니다.


컨셉은 다음과 같습니다.


1) 쉽게 쉽게 쉽게

2) 기술 동작 원리의 이해

3) 흥미와 도전 욕구를 자극


이를 위하여 방대한 분량(1,020 페이지), 풍부한 그림(889개), 실습 예제 및 관련 파일(114개), 소스 코드(62개)를 제공하였습니다. 



대부분의 리버싱 기술은 기초적인 동작 원리를 이해하고 나면 그 뒤부터는 변형과 응용의 연속입니다. 따라서 원리를 이해하기 위한 개념 설명과 실습 예제 분석에 대부분의 지면을 할당하였습니다. 



그리고 리버스코어 블로그를 운영하면서 받았던 질문 중에서 초보자에게 유용한 질문과 답변들을 추려서 FAQ 형식으로 각 장의 뒤쪽에 배치 했고요. 리버스 엔지니어링을 처음 배울 때의 어려움과 고민에 대한 제 생각을 곳곳에 넣어 두었습니다.



- 책을 쓰게 된 계기가 있으실 것 같은데요.


리버스 엔지니어링이라는 기술을 처음 접한 이후 그 매력에 완전히 빠져 들었습니다.


실행 파일(PE File)의 구조와 프로세스의 동작 원리를 공부한 후 다른 프로그램의 내부 구조와 동작 원리를 파악할 수 있다는 사실에 엄청난 희열을 느꼈지요. 처음에는 악성 코드를 분석하여 악의적인 행위를 파악하는 일을 주로 하였습니다. 다양한 악성 코드의 기발한 리버싱 기법들을 보고 배우면서 정말 즐거웠습니다. 


하지만 이렇게 획기적이고 가능성이 무궁무진한 기술들이 주로 나쁜 의도를 가진 사람들에 의해 악용되고 있었습니다. 즉, 리버싱 기술 자체는 매우 쓸모가 많은데 그걸 나쁘게 사용한 사람들에 의해서 '어둠의 기술'로 저평가 되고 있고 별다른 활용 방안이 없다는 사실이 매우 안타까웠습니다.


그때부터 이 리버스 엔지니어링 기술을 좋은 쪽으로 활용할 수 없을까 궁리하게 되었지요. 그러다가 프로그램의 내부 동작 원리를 '분석'하는 차원을 뛰어 넘어 프로그램에 존재하는 버그를 수정하고, 새로운 기능을 추가하는 '패치' 작업까지 관심이 확대되었습니다. 리버스 엔지니어링 기술이 반드시 IT 산업에 큰 도움을 줄 수 있을 거라는 확신이 들었습니다.


제 나름대로 리버스 엔지니어링 기술을 전파시키고 싶어서 블로그 활동을 시작하였습니다. 그러던 중 많은 분들께서 체계적인 학습 방법에 대해 목말라 한다는 것을 알게 되었죠. 그래서 리버스 엔지니어링 입문용 기술 서적을 써보자고 마음먹게 되었습니다.



- 리버싱 기술을 배우면 뭘 할 수 있는지 얘기해 주시겠어요?

    

다른 프로그램의 내부 구조와 동작 원리를 파악할 수 있습니다.

예를 들어 악성 코드의 동작 원리를 파악하여 감염 경로, 악의적인 행위를 알아내고, 진단 및 치료 방법에 대한 아이디어를  얻을 수 있습니다. 특히 다른 파일을 감염 시켜 실행 파일 형태를 바꿔 버리는 기능을 가진 Virus 류의 악성 코드는 상세한 분석이 이루어져야만 진단과 치료 코드를 작성할 수 있습니다.


프로그램의 버그를 수정하고 새로운 기능을 추가 시킬 수도 있습니다. 

예를 들면 제작자가 업데이트를 중단한 유틸리티의 버그를 수정할 수 도 있고, 자신만의 독창적인 아이디어를 적용해 새로운 기술을 추가 시킬 수 도 있는 것이죠. (실제로 개발 업무를 담당하시는 분들께서 자신들의 프로젝트에 DLL Injection 과 API Hooking 기술을 활용하는데 조언을 구해오시는 경우가 종종 있습니다.)


제가 최초로 패치시킨 유틸리티는 출시된지 오래된 fhred 라는 이름의 hex editor 였습니다. 마우스 휠 스크롤 기능이 없어서 매우 불편했습니다. 그래서 마우스 메시지 후킹 기법을 사용하여 휠 스크롤 기능을 추가시켰습니다. 



사실 이때 이미 최신 버전의 frhed 에서는 마우스 휠 기능이 지원되고 있었습니다. 제가 가진건 아주 옛날 버전이었던 겁니다. 그냥 최신 버전을 사용하면 되는 거였지요. 


하지만 제가 배운 기술을 활용하여 제 손으로 직접 패치하고 싶었습니다. 결과적으로 이 작업을 계기로 리버스 엔지니어링 기술의 '패치' 활용 가능성에 대해 눈을 뜨게 되었습니다.



- 리버스 엔지니어링 분야의 진로에 대해서 소개해 주시겠어요?


최근에는 국내 기준으로 보안업체, 게임업체, 게임퍼블리싱업체, 대기업/금융업, 국가 행정 부서, 국가 연구 기관 등이 있습니다. 리버스 엔지니어로써 파일을 상세 분석하는 업무를 하시려면 보안업체, 게임업체, 사이버수사대 등을 고려하시면 될 것입니다. 각 업체별로 다양한 업무 직군으로 세분화되기 때문에 사전에 자신이 원하는 분야의 일을 맡을 수 있을지 확인하셔야 겠지요.


참고로 하드웨어 분야(자동차, 모바일, 반도체, 기타)에서는 리버스 엔지니어링의 역사가 오래 되었습니다. 경쟁사에서 신제품을 출시하면 바로 구입하여 상세 분석에 들어갑니다. 치수를 측정하고, 재질을 조사하고, 회로 기판 구조를 파악하는 등의 작업을 하지요. 기구의 설계 관점과 제품의 성능 관점에서 다양한 분석과 테스트가 이루어 집니다. 소위 말해서 벤치 마킹 작업입니다. 


향후 소프트웨어 분야에서도 전문 리버스 엔지니어가 이런 식의 벤치 마킹 업무를 수행하지 않을까 조심스레 예상해 봅니다. 



- 책 얘기로 돌아가서요, 책 출시 후 반응은 어떻습니까?


너무나 감사하게도 반응이 좋습니다. 인상 깊었던 점은 비슷한 시기에 출시된 리버싱, 디지털 포렌직, 해킹 관련 보안 서적들이 골고루 판매 순위 상위권에 자리잡고 있다는 것입니다. 아마 국내에서도 리버싱, 해킹, 보안에 관한 관심이 그만큼 커진게 아닐까 하고 생각해 봅니다. 


기술서적의 저자들은 자신들이 가장 자신있는 부분에 대해서 아주 자세하고 쓰게 됩니다. 따라서 책마다 저자들의 강점과 개성이 녹아있을 수 밖에 없습니다. 앞으로 더 다양한 리버스 엔지니어링 기술 서적들이 출시되어 전반적인 리버싱 기술 수준이 올라가길 희망합니다. 



- 이 책의 장점에 대해서 알려주시죠.


장점으로는 앞에서 소개한 쉬운 설명, 기술 동작 원리의 이해에 초점, 독자의 흥미와 도전 욕구를 자극하는 것입니다. 


추가적인 장점과 특징에 대해 알고 싶으시다면 책의 서문을 참고하시면 될 것 같습니다.


[리버싱 핵심 원리] 서문



- 책의 세부 내용에 대해서 좀 더 구체적으로 알려주실 수 있을까요?


좀 더 정리해서 다음 포스팅에 올릴께요~



- 기술 서적을 집필하면서 여러가지 에피소드가 많았을것 같은데요. 몇 가지만 소개해 주시겠어요?


어쨌든 집필 과정, 에피소드, 시행착오 등에 대해서 한번은 정리하고 싶었는데요. 

이것도 따로 올리는게 좋겠네요... ^^



- 인터뷰에 응해주셔서 감사합니다. 저자님의 향후 계획은 어떠신지요?


"리버싱 핵심 원리"의 AS (질문/답변)를 하면서 계속 지켜보고 싶습니다. 이 책은 제가 쓰긴 했지만 이제 정식으로 출시되어 제 손을 떠나 독자님들의 손으로 보내어졌습니다. 앞으로 독자님들에 의해서 얼마나 흥미진진한 일이 펼쳐지게 될지 저자로서 너무 궁금하고 설레입니다. (마치 책이 살아서 움직이며 자신의 운명을 개척해 나가는 것처럼 생각됩니다. ^^)


그리고 ReverseCore 블로그에 새로운 컨텐츠를 올릴 예정입니다. 일단 hxdhook 연재를 잘 마무리하고, 그 다음에는 64bit API 후킹에 대해 다뤄볼 생각입니다. 그 이후는 바이러스 파일 분석이 될지, 다이알로그 리소스 패치가 될지 아직 결정하지 않았습니다. (둘 다 너무 재미있는 주제입니다~ ^^)



- 마지막으로 리버스 엔지니어를 목표로 열심히 공부하시는 독자분들께 한 말씀 해주세요~


초반에 어려움을 느끼시는 분들께 이야기를 하나 들려드릴께요~ ^^

정지 마찰력(static friction)과 운동 마찰력(kinetic friction)의 얘기입니다.

정지한 물체를 밀어서 움직이게 하려면 처음에는 높은 저항력(정지 마찰력)때문에 힘이 많이 듭니다. 그런데 일단 물체가 '움찔'하고 움직이기 시작하면 그때부터 저항력(운동 마찰력)은 많이 낮아지면서 훨씬 수월하게 밀고 갈 수 있습니다. (주차장에서 차를 밀어본 경험이 있으시다면 금방 이해하실 겁니다. ^^*)

즉, 정지 마찰력 > 운동 마찰력 의 관계가 성립합니다.

Wiki : 마찰력
Google 이미지 검색 : 정지 마찰력

뭐든지 마찬가지라고 생각합니다. 처음에는 힘들지만 일단 시작하고 나면 탄력을 받아 일이 쉬워집니다. "시작이 반이다" 라는 속담은 정말 정확한 표현이었던거죠.

리버스 엔지니어링도 마찬가지입니다. 처음에는 힘들지만 그 정지마찰력 시기를 잘 넘기고 운동마찰력 영역으로 들어가면 속도가 붙고 재미도 생깁니다. 

저도 똑같이 그 과정을 거쳐왔답니다. 그러니 모두들 용기를 내세요~ ^^*


ReverseCore


반응형
  1. 이전 댓글 더보기
  2. 2012.11.08 17:15

    비밀댓글입니다

    • reversecore 2012.11.10 00:23 신고

      안녕하세요.

      E-Book 은 아직 계획이 없답니다. ^^

      감사합니다.

  3. 2012.11.08 21:14

    비밀댓글입니다

    • reversecore 2012.11.10 00:22 신고

      안녕하세요.

      네, 블로그 포스트를 정리하면서 같이 지웠습니다.

      키로거는 좀 민감한 부분이 있어서 블로그에 다시 올릴지는 계획이 없습니다.

      감사합니다.

  4. DarkByte 2012.11.08 23:04

    안녕하세요. 어렵지만 꿋꿋히 책을읽는 초보입니다. 혹시 언제 날잡아서 오프라인 질문답변이나 강의가 가능할련지요? 싸인회도 한번열어주시면 좋은기회가 될거라생각합니다 ㅎㅎ

    • reversecore 2012.11.10 00:20 신고

      안녕하세요~ ^^

      오프라인 만남이 확실히 도움이 될 것입니다만, 제 개인 사정때문에 어려울 것 같습니다.

      대신 이곳에 질문을 올려주시면 답변해 드릴께요~ ^^

      감사합니다.

  5. ssongil 2012.11.11 00:27

    리버싱에 관심만 가지다가 책을 찾다보니 딱 제가 찾고 있던 책이 떡하니!!!
    바로 구매해서 열심히 보고 있습니다.

    어서 공부해서 질문을 올릴 수 있었으면 좋겠네요^^

    • reversecore 2012.11.11 22:46 신고

      안녕하세요.

      즐겁게 공부하시고 질문도 많이 올려주세요~ ^^

      감사합니다.

  6. R 2012.11.11 12:05

    포맷하면서 이왕이면 리버싱에 최적화된 운영체제로 다시 설치하고 싶은데
    어떤걸 추천하시나요? XP 32비트?

    • reversecore 2012.11.11 22:45 신고

      안녕하세요.

      ^^ 악성코드 분석할 때는 확실히 XP 32bit 가 주력입니다.

      감사합니다.

  7. set 2012.11.12 14:01

    안녕하세요 이번에 좋은책이나왔다고해서 구매하고 공부중인데
    정말 좋은책이네요 ㅎ
    그런데 저자님의 올리디버거 설정파일은 어디있나요?
    홈페이지에 있다고 나왔는데 찾기어렵네요 ㅠ

    • reversecore 2012.11.12 22:58 신고

      안녕하세요.

      소스코드 압축을 해제하시면

      01_기초_리버싱\02_Hello_World!_리버싱\etc\ollydbg.ini

      위 경로에 존재합니다.

      OllyDbg 설치 경로에 복사해주시면 됩니다.

      감사합니다.

  8. 양동표 2012.11.17 12:08

    기다리고 기다렸는데 드디어 나왔군요!

    밖에서 보고 싶었는데 군대 입대 후 오랜만에 들어와보니 책이 나와있네요.

    그래서 싸지방에서 바로 구매했습니다!

    군생활 동안 열심히 공부하겠습니다!!

    • reversecore 2012.11.20 12:56 신고

      안녕하세요.

      와~ 군생활도 힘드실텐데... 리버싱 공부까지... ^^~
      의욕이 대단하십니다.

      공부하시다가 질문 있으시면 올려주세요~

      감사합니다.

  9. 송혜영 2012.11.19 21:56

    129p에 add명령어는 3바이트 call명령어는 5바이트 라고 나와있는데
    여기서 사용하는 바이트와 스텍의 크기와는 아무 상관이 없는건가요?
    그리고 각각의 명령어가 사용하는 바이트를 어떻게 알수있나요?

    • reversecore 2012.11.20 12:55 신고

      안녕하세요~

      네, Instruction 명령어의 길이는 스택과는 상관이 없습니다.
      명령어의 바이트(내용), 길이는 OllyDbg 에서 직접 보셔도 되고요.
      그 해석 원리를 이해하시려면 49장 IA-32 Instruction 을 참고하시면 됩니다~

      감사합니다.

  10. 송혜영 2012.11.21 18:27

    안녕하세요 132p목표(2)에서

    registration code를 찾는 부분에서 입력스트링과 정답을 한번 비교해서
    맞으면 정답부분으로 틀리면 틀린 부분으로 가면 되는데
    왜 여기선 입력스트링과 정답을 정답부분에서도 하고 틀린부분에서도하는지 잘모르겠습니다.

    • reversecore 2012.11.25 00:53 신고

      안녕하세요.

      ^^ 크랙미를 만드신 lena 님께서 그렇게 프로그래밍을 하셨다고 밖에는 설명드리기 어렵겠습니다.

      저라면 말씀하신 대로 한번만 비교하도록 프로그래밍 했을 것 같습니다.

      감사합니다.

  11. 임영철 2012.11.28 16:00

    안녕하세요 리버싱 핵심원리 p384 그림 27.2 의 내용과
    본문의 내용이 상이 하다고 생각되어 질문을 드립니다.

    코드 인젝션 단원 부분 인데요
    그림 27.2 에서
    10001002 주소에서는 PUSH 1000781C
    10001007 주소에서는 PUSH 10007828
    1000100E 주소에서는 CALL DWORD PTR DS:[100060E4]

    이렇게 되어있는데 본문 설명과 그림 27.3, 27.4 에서는
    10001002 주소 PUSH 10009290
    10001007 주소 PUSH 1000929C
    1000100E 주소 CALL DWORD PTR DS:[100080F0]

    이렇게 기입 되어 있습니다.
    그림과 본문이 달라서 몇번을 봐도 잘 이해가 되지 않습니다.
    제가 놓친 부분이 있는 걸까요? ㅠ_-

    • reversecore 2012.11.29 00:15 신고

      안녕하세요.

      매우 죄송하게도 그림이 잘 못 되었습니다.
      errata 페이지에 정확한 그림을 올려두었으니 참고하시기 바랍니다.

      불편을 끼쳐 드려 죄송합니다~

      추가적인 질문있으시면 또 올려주세요~

      감사합니다.

  12. 2012.11.30 21:08

    비밀댓글입니다

    • reversecore 2012.12.02 19:01 신고

      안녕하세요.

      ㅎㅎㅎ 지금 하신 방법이 올바른 방법이라고 생각됩니다.

      어떤 드라이버라도 XP ~ 7, 32/64bit 를 모두 지원할 수 는 없답니다.
      그 OS 에 맞는 전용 드라이버를 사용하는 것이 원칙입니다.

      감사합니다.

  13. 2012.12.03 23:55

    비밀댓글입니다

    • reversecore 2012.12.04 21:23 신고

      안녕하세요.

      1. Themida 는 프로텍터 중에서도 지존이기 때문에 다양한 안티 디버깅 기법이 적용되어 있습니다. 어떤 식으로 왜 튕기는지에 대해서는 저도 답변 드리기 어렵습니다.

      2. 설치 프로그램(Installer)에서 각 OS 버전별로 가지고 있다가 해당 OS 에 맞는 드라이버를 설치합니다. 프로그램에서 매번 하는게 아니라 인스톨러에서 최초 설치 시 한번 수행하는 거라고 생각하시면 됩니다.

      감사합니다.

  14. null0305 2012.12.04 23:37

    안녕하세요
    오늘 리버싱핵심원리 를 구입하여 읽어보앗더니
    제가 아는거와 모르는 방법이 있어서.
    열심히 공부하기로 다짐하고 악성코드 분석쪽으로 도전할려고합니다.
    (사실은 처음부터 분석쪽 이 어릴적 꿈이여서 인터넷을 통해 공부를 하엿습니다)
    좋은책 을 써주셔서 정말로 감사합니다 ㅠㅠ
    악성코드 분석쪽 으로 일을 갈려면
    궁금한게 있습니다.
    자격증(?) 하고 무엇이 필요한가요?
    악성코드 분석한걸 모아서 포트폴리오 로 하여도 가능할까요?
    긴댓글 읽어주셔서 감사합니다^^~ 좋은하루 되세요~ㅎㅎ

    • reversecore 2012.12.12 06:50 신고

      안녕하세요.

      악성코드 분석 꿈나무를 뵙게 되서 반갑습니다. ^^~

      좋은 분석 문서를 많이 작성해서 그걸로 포트폴리오를 만든다면 확실히 면접에서 좋은 인상을 줄 수 있다고 생각됩니다. 실력과 열정을 보여줄 수 있는 확실한 방법이 되겠네요~ ^^

      제가 아는 신규직원들 중에는 그러한 포트폴리오를 가지고 있는 친구들은 없었습니다.

      언제 제가 한번 블로그에 분석 문서를 공개하면 좋겠네요~ ^^
      (악성코드는 민감한 사항이라서 일반 파일을 대상으로 해야죠.)

      감사합니다.

  15. 12ㄴㄴ 2012.12.05 10:17

    책이 분량이 너무 많은 것 같은데..
    한권을 2~3권으로 분(分)권 되어잇으면..
    훨씬 좋을 것 같습니다..

    • reversecore 2012.12.12 06:46 신고

      안녕하세요.

      분권을 하면 휴대성은 좋아지는데요.
      가격이 같이 오르더라구요. ^^

      다음번 2nd Edition에서는 한번 고려해 보도록 하겠습니다.

      감사합니다.

  16. 2012.12.05 23:52

    비밀댓글입니다

    • reversecore 2012.12.12 06:44 신고

      안녕하세요~

      Driver 파일은 크게 9X계열의 vxd 와 NT계열의 sys 파일 두 종류가 맞습니다. 그러나 특정 OS 에 특화된 기능(추가된 기능)들을 쓰기 위해서는 각 OS 별로 전용 Driver 를 만들어서 사용합니다. (저희 제품만 봐도 각 OS 별 Driver 를 별도로 제작합니다.)

      물론 간단한 기능의 Driver 라면 어찌어찌 공용으로 쓸 수 도 있겠죠~

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

      감사합니다. ^^

  17. -_-;; 2012.12.11 11:00

    요즘 책 잘보고 있습니다.
    해외 나가기 전에 가져가고 싶었지만 조금의 차이로 해외에서 받게되었네요.
    두께와 내용과 정성에 만족합니다.

    좋은 책 감사합니다.

  18. 매지구름 2013.02.20 18:28

    안녕하세요, 예전에 밤벌레 아이디로 티스토리 운영하다 다시 닉네임을 바꾸었어요, 매지구름으로요...^^ 책 드뎌 나온건가요? 얼릉 구입해야 겠습니다. 전 요즘 주식에 빠져있어가지고요..
    데이트레이딩으로 수익본다고요... 리버싱관련 도서와 요번에 신설 자격증 정보보안기사.산업기사 자격증이 나왔죠... 쭉 해오던터라 별로 생소한 건 못느끼고요...빨랑 따야죠..ㅎㅎ 님 도서구입링크좀 부탁드려요. 재가 귀찮으니즘에 빠져서,,,,,ㅎ ㅈㅅ 리버스코어님 블로그 제링크에 추가했습니다. *^^*
    앞으로 자주 왕래했으면 싶습니다........^^ 주식하시면 저랑 더욱더 친해질수도..*^^*

    • reversecore 2013.04.01 21:58 신고

      안녕하세요~ ^^

      저도 주식에 관심 생기면 꼭 매지구름님께 조언 받도록 하겠습니다~

      감사합니다.

  19. 껌나무 2013.03.09 08:27

    책 구매해서 잘 보았습니다. 책에 보니까 64bit 디버깅하려면 Windbg, IDA pro툴을 이용하라고 하시던데 제가 필요한 기능이 되는 지 알고 싶습니다.
    32bit dll을 ollydbg에서 assembly code jnz-> jump로 변경해서 패치를 하였습니다. 64bit dll파일도 Windbg나 IDA Pro에서 assembly code 변경이 가능한가요? 조언 부탁드립니다.

  20. sdfkj 2014.07.20 03:23

    혹시 컬러 책으로 출판안하나요???

  21. 2014.07.31 00:09

    비밀댓글입니다

반응형


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


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


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


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



반응형
  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라 그런가요?

반응형

"리버싱 핵심 원리" 책의 대부분의 예제는 32bit OS 에서 테스트 되었습니다.

("5부 - 64비트 & Windows Kernel 6" 의 실습 예제들은 64bit OS 환경이 필요합니다.)

64bit 환경을 사용하시는 독자님들께서는 아래에 소개되는 내용을 참고하여 실습을 진행하시기 바랍니다.



OllyDbg 1.1 은 기본적으로 64bit 환경을 지원하지 못합니다.


책의 디버깅 실습은 거의 대부분 OllyDbg 를 이용해서 진행됩니다. 

그러나 OllyDbg 1.1 은 64bit 환경을 지원하지 못합니다. 



<그림 1. Windows 7 64bit 에서 OllyDbg 1.1 실행시 예외 발생>


64bit OS 에서 "2장 Hello World 리버싱" 실습 예제 파일 HelloWorld.exe 를 OllyDbg 1.1 로 실행시키면 <그림 1>과 같이 예외가 발생하면서 ntdll.dll 모듈 영역의 코드에서 멈춰버립니다. (이것은 OllyDbg 1.1 의 버그입니다.)



64bit 환경에서 OllyDbg 사용할 수 있는 2 가지 방법


#1. 64bit OS + OllyDbg 2.0


OllyDbg 2.0 버전에서는 64bit에서 정상 실행 되지 않는 버그가 수정되었습니다.


다운로드 링크 : http://www.ollydbg.de/odbg200.zip


* 참고


최신 버전 OllyDbg 2.01 beta 2 는 실행 과정에 약간의 문제가 있습니다. 문제가 해결될 때까지는 OllyDbg 2.0 을 사용해 주시기 바랍니다.


위 링크에서 파일을 다운받아 압축을 해제한 후 실행하면 <그림 2> 와 같은 화면이 나타납니다.



<그림 2 - Windows 7 64bit 에서 OllyDbg 2.0 으로 HelloWorld.exe 를 띄운 화면>


<그림 2>의 화면을 책의 <그림 2.3> 처럼 보이게 하려면 다음과 같이 작업해 주시면 됩니다.



1) 내부의 CPU 윈도우를 최대화 시킵니다.


2) Code/Register/Dump/Stack Window 의 폰트를 변경합니다.

   (각각의 창에서 마우스 우측 메뉴 - Appearance - Font - System fixed font 메뉴 선택)


3) Code Window 의 Highlighting 을 변경합니다. (디스어셈블리 코드의 가독성이 좋아집니다.)

   (마우스 우측 메뉴 - Appearance - Highlighting - Jumps and calls 메뉴 선택)


4) OllyDbg 2.0 의 창 크기를 적절히 조절합니다.



OllyDbg 2.0 버전의 GUI 는 1.1 버전과 거의 차이가 없습니다. 이제부터 디버깅 실습을 진행하시면 됩니다.



#2. 64bit OS + OllyDbg 1.1 + "Olly Advanced" PlugIn


OllyDbg 2.0 이 발표된 후에도 OllyDbg 1.1 버전이 꾸준히 사랑받는 이유는 바로 다양한 플러그인(PlugIn) 때문입니다. 특히 안티 디버깅이 적용된 PE 프로텍터를 디버깅 할 때 다양한 플러그인은 유용하게 사용됩니다. (최근에는 OllyDbg 2.x 용 플러그인도 많이 개발되고 있습니다.)


64bit OS 에서도 "Olly Advanced" 플러그인을 적용하면 OllyDbg 1.1 버전을 사용할 수 있습니다. 


Olly Advanced v1.27.rar


다운로드 링크 : http://tuts4you.com/request.php?75


* 참고


Olly Advanced 플러그인은 OllyDbg 의 버그 패치, 다양한 안티 디버깅에 대한 방어 기능을 지원합니다. Olly Script 플러그인과 함께 가장 유명하고 사용자가 많은 플러그인 입니다.


Olly Advanced 플러그인 설치 방법은 다음과 같습니다.



1) 다운 받은 Olly Advanced v1.27.rar 파일의 압축을 해제하면 advancedolly.dll 플러그인 파일이 생성됩니다.


2) OllyDbg 1.1 설치 폴더에 advancedolly.dll 파일을 복사합니다.



<그림 3 - advancedolly.dll 파일 복사>


3) Olly Advanced 플러그인의 옵션 메뉴를 선택합니다.



<그림 4 - Plugins - Olly Advanced - Options 메뉴 항목>


4) Olly Advanced 옵션 다이알로그에서 "x64 Compatiblity-mode (single-step)" 항목을 체크합니다.



<그림 5 - x64 Compatiblity-mode (single-step) 항목 체크>


5) 이제 64bit OS 환경에서 OllyDbg 1.1 을 사용할 수 있습니다. HelloWorld.exe 실습 파일을 올려 보시기 바랍니다.



참고로 OllyDbg 의 플러그인들은 보통 자체 버그들이 있어서 디버깅할 때 OllyDbg 가 종료될 때가 있습니다. 그리고 기능을 잘 모르는 플러그인을 많이 설치하면 생각지도 않은 오동작을 할 때가 있기 때문에 주의 하시기 바랍니다.


* 참고


- 책의 실습 예제 파일들은 32bit OS 환경에서 실습 하시는 것을 권장합니다. (5부 실습 예제들은 64bit 환경만 가능)

- 위에 소개된 방법처럼 64bit 환경에서 디버깅 실습을 진행하실 때 책의 내용과 약간 다르게 동작할 수도 있습니다.



반응형
  1. 감염오리 2012.10.11 15:53

    오옷 조흔 정보군요!

  2. jongmin 2012.10.11 22:03

    46~47페이지 올디 ini 설정파일 올려놓으신다고
    써있었는데 어디에있나요~ 'ㅁ'?

    • reversecore 2012.10.11 22:21 신고

      안녕하세요.
      소스코드.zip 파일의 압축을 해제하시면 아래 경로에 있습니다.

      01_기초_리버싱\\02_Hello_World!_리버싱\\etc\\ollydbg.ini

      udd 와 plugin 폴더 세팅은 다시 해주셔야 할 겁니다.
      OllyDbg 옵션 메뉴에서 하셔도 되고, 간편하게 ollydbg.ini 파일의 'UDD path' 항목과 'Plugin path' 항목을 직접 편집하셔도 됩니다.

      분석가들은 자신만의 OllyDbg 환경을 가지고 있습니다. 분석가마다 전부 틀리죠. jongmin님 께서도 점차 자신만의 환경을 만들어 보시기 바랍니다. ^^~

      감사합니다.

  3. 개빨라 2012.10.26 09:33

    1장에 helloworld.exe 를 윈도우7+올리디버거 1.1 + 플러그인 으로 열었더니


    unable to open or read excutable file 'c\program files(x86)\nvidia corporation\coprocmanager\_etoured.dll'

    이런 에러가 뜨네요 무시해도 되는 에러일까요??

    • reversecore 2012.10.26 20:46 신고

      안녕하세요.

      Win 7 (64bit) 를 사용하시는군요.

      일단 OllyDbg 와는 관계 없는 에러입니다. nvidia 모듈에 뭔가 문제가 있는 것 같습니다.

      감사합니다.

  4. 김윤우 2012.11.01 05:44

    저기 혹시 저좀 도와주실수있으신가요..?...
    크랙할 프로그램이 있는데 2008년에 만들어진건데 아무것도 모르는상태라 어느정도 성공하고
    앞으로 못나가겠어요...
    오래된거라 정말 쉬울것 같은데 저는 도저히 모르겠네요...ㅠㅠ
    저랑 같이 좀 해주시면 안될까요.. 부탁드립니다....

    • reversecore 2012.11.04 01:05 신고

      어떤 것인지 잘 모르겠지만, 크랙을 의뢰받지는 않습니다.

      감사합니다.

  5. HAVU 2012.12.18 00:47

    아무래도 이 내용대로 하기엔 약간 부족한 점이 없지 않아 있을 것 같네요ㅠ
    64bit 레지스터 값을 볼 수가 없어서ㅠㅠ
    아, 그러고 보니 올리디버거 개발자가 64bit 버전을 따로 개발한다고 한 것 같네요.
    빨리 만들어지길ㅠ

    • reversecore 2012.12.27 21:42 신고

      위 방법은 64bit OS 환경에서 32bit OllyDbg 를 이용하여 32bit PE 파일을 디버깅 하는 방법에 대한 얘기 입니다

      64bit 레지스터는 64bit 지원 디버거에서만 볼 수 있습니다.
      당장은 IDA Pro나 windbg 를 쓰셔야 하지요.

      감사합니다.

  6. Ko 2012.12.27 16:20

    초보인 저에게는 쉽게 써주셨다 해도 어렵네요 ;;
    책 잘 써주셔서 감사합니다 책 잘 보고있습니다 ^^

  7. LoGeR 2013.01.31 15:33

    제가 64bit에서 사용중인데 책에 나온 예제에서 바로바로 주소로 이동하도록 설명해놓은 부분이 있는데 주소가 완전히 다르게 나오네요... 64bit라서 어쩔 수 없이 이런건가요??

    • reversecore 2013.02.08 17:43 신고

      안녕하세요.

      주로 스택/동적할당메모리/동적문자열 등에서 주소가 달라집니다.

      어떤 예제를 보고 계신지요?

      감사합니다.

  8. 강경태 2013.04.26 22:22

    운영자님 hookdbg.exe. 프로그램이 첨부됐다셨는데 대체 어디에 있다는말씀이신지.

    그거찾다가 하루다가겠네요...시간낭비 이런 소소한것만 조금더 신경써주셔도됄터인데

    첨부된 소스예제에는 cpp 파일밖에 없어요

  9. coffee 2013.06.06 10:37

    난 첨부된 소스예제 cpp찾는데, 소스를 찾아도 못찾겠음.
    거기다 win7용 64bit 올레디버거를 올렸다고 테스트 해봤는데, 안댐
    난 winserver 2008 r2를 사용하는데, 실행은 되는데, 올레디버거 실행되고 메뉴에서
    디버거 부분만 마우스 클릭이 안되요.

  10. 리버싱 2013.11.03 00:51

    HelloWorld.exe파일을 열면 unable to locate file 경로명 이 나오면서 파일이 열리지 않습니다..
    ollydbg 2.0쓰고 윈도우8 64bit 사용중 vc++ 2013 express 사용중입니다. 무슨오류일까요.... 구글링해도 없는것 같네요ㅠㅠ 공부하려고하는데 막혀서 너무 답답해요 답좀해주세요!

  11. root 2013.11.22 14:48

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

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

  12. root 2013.11.22 14:52

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

  13. asdf 2013.11.28 01:33

    사진으로 첨부해서 보여드리고 싶은데
    메일 한통만 보내주시면 안될까요?

    dale07@naver.com

    입니다. 죄송합니다 ㅠㅠ
    아예 올리디버거가 아예 실행이 안되서요...

  14. root 2014.01.04 11:42

    정확히 VA 버츄얼 어드레스가 책에는 0040110A 이런식이고 win7 64bit 환경인 저한테는 VA가 00425000 이렇게 다릅니다 해결책이 ..아직까지도 못찾고 있습니다..

  15. rnmn 2014.09.23 12:21

    IAT 부분을 따라하고 있는데요

    제 컴퓨터가 64BIT라서 그런지 Ollydbg로 notepad를 열려고 하면

    file notepad는 32비트 portable execuative가 아니라는 경고 메시지가 뜨고

    그대로 실행시키면 unable to start file ... 이라는 메시지가 뜨면서 실행이 되지 않습니다.

    Ollydbg 2.0을 설치했는데도 마찬가지네요

    어떻게 해결 할 수 있나요?

  16. Prabbit's archive 2017.05.09 02:04 신고

    오래 되어서 이 댓글을 보실런지 모르겠네요 2.0에서 Execute till Return [Ctrl+F9]를 하면 멈춤현상이 있는거 같은데 해결방법을 혹시 아시는지..

  17. LEON 2018.03.10 13:34

    Olly Advanced 플러그인 압축 비밀번호는 tust4you입니다.

    참조하시기 바랍니다.

  18. AA 2019.01.29 02:26

    비밀압축 파일에 비밀번호가 걸려있는데요..

  19. 광마야 2021.02.10 14:13

    안녕하세요 이번에 리버싱 공부를 처음 시작하려고 합니다.

    그런데 hello world.exe 파일을 올리디버거로 열면 unable to [파일경로] ~~~
    하면서 첫번째 부터 막혀버리네요 ㅠㅠ

    우선 올리디버거 201 200 110 버젼 전부 설치해서 해봤구요
    이 글에서 포스팅 된 2가지 모두 시도해보았습니다.

    운영체제는 windows 10 home 64bit 입니다.
    혹시나 시도해볼만것이 있을까요??

반응형


즐겁고 신나는 리버스 엔지니어링 세계를 여행하기 위한 가이드!



소프트웨어 리버스 엔지니어링이란 응용 프로그램의 내부 구조와 동작 원리를 탐구하는 기술입니다. 


신기한 모험과 흥미로운 도전 과제들로 가득한 리버스 엔지니어링의 길로 들어선 독자 여러분을 환영합니다.


리버싱을 잘 하면 프로그램의 속을 훤히 들여다 볼 수 있습니다. 자신이 만든 프로그램도 아니고 소스 코드조차 없는 상태에서 말이죠. 리버싱 기술을 잘 활용하면 개발/테스트 단계에서 미처 발견하지 못한 버그나 취약점을 파악할 수 있고, 파일이나 메모리를 직접 수정(패치)하여 문제를 해결할 수 있습니다. 그리고 더 나아가서 전혀 새로운 기능을 추가시켜 프로그램의 기능을 향상 시킬 수 도 있습니다. 마치 마법과도 같은 멋진 일을 할 수 있는 것입니다.



리버싱 공부를 시작할 때 거창한 사전 준비 같은 건 필요 없습니다. 


이야기를 하나 들려 드리겠습니다. 제가 수 년간 리버싱 블로그를 운영해 오면서 가장 많이 받은 질문은 “도대체 리버싱을 어떻게 공부해야 하나요?” 였습니다. 여러 가지 경험담과 실패 사례를 분석해본 결과 리버싱 공부를 실패하는 가장 큰 원인은 공부 자체의 분량이나 어려움이 아니었습니다. 오히려 “전 C언어도 모르는데요?”, “어셈블리를 마스터 해야 하나요?”, “저는 OS 구조를 잘 모릅니다”, “디버거를 사용할 줄 몰라요”, “이 많은 것들을 언제 다 공부하고 본격적인 리버싱 공부를 시작하죠?” 와 같은 막연한 두려움과 걱정 때문에 중도에 포기하는 것이 주요한 실패 원인이었습니다.


본격적인 리버싱 공부는 C언어, 어셈블리, OS구조, 디버거 사용법등을 공부한다는 것과 같습니다. 이런 것들을 이미 알고 있는 사람은 리버싱 입문 과정이 필요 없습니다. 이미 리버싱 전문가라는 뜻이니까요. 아직 리버싱에 대해 알고 있는 게 하나도 없다구요? 실망하지 마세요. 오히려 참 좋은 일입니다. 바꿔 말하자면 앞으로 머릿속에 입력될 지식이 많다는 뜻입니다. 지금보다 더 똑똑해지고, 더 가치 있는 사람이 될 테니 참 좋은 일이라고 할 수 있습니다.



이 책은 리버스 엔지니어를 꿈꾸는 리버싱 입문자들과 리버싱 기술에 흥미를 갖고 있는 개발자 등을 위하여 쓰여졌습니다. 


리버싱 기술들을 단순히 공식처럼 외우기만 해서는 필요한 순간에 제대로 응용 할 수 없습니다. 관련 지식을 얻고 내부 동작 원리를 이해하는 것이야말로 가장 중요합니다.  따라서 동작 원리를 설명하고 이해 시키는 데에 주안점을 두었습니다. 그럼 이 책이 왜 리버스 엔지니어링 입문서로 적합한지 제 소개를 곁들여서 설명해보도록 하겠습니다.


첫 째는 개발과 분석 경험입니다. 보통 리버스 엔지니어는 업무 과정에서 전문적인 리버싱 실력뿐만 아니라 어느 정도의 개발 실력도 갖추게 됩니다. 저는 네트워크 어플리케이션 개발자로 일하다가 악성 코드 분석 업무를 맡으면서 리버싱 기술을 익히게 되었습니다. 즉 전문 개발자에서 전문 리버서로  전향한 흔치 않은 케이스입니다. 이 두 기술은 그야말로 찰떡궁합처럼 상호 발전하고 보완하면서 기가 막힌 콤비 플레이를 보여줍니다. 평소에 이 둘을 양 날개에 비유하며 다양한 업무에 활용해 왔습니다. 따라서 자연스럽게 개발과 리버싱이라는 두 가지의 관점으로 프로그램을 분석하게 되었습니다. 이 책의 거의 모든 실습 예제는 리버싱 과정에서 얻은 지식과 노하우를 가지고 제가 직접 개발한 것으로서 군더더기 없이 각 장의 주제만을 집중해서 보여줍니다.


둘 째는 교육 및 발표 경험입니다. 회사에서 고참 직원이 되면서 점점 사내 교육/세미나, 외부 발표 기회가 많아졌습니다. 리버싱 입문자들에게 직접 리버싱 교육을 시키면서 그들의 어려움과 궁금증을 잘 파악할 수 있는 계기가 되었지요. 나름대로 어떻게 하면 쉽게 설명할 수 있을지 고민하면서 자연스레 리버싱 입문자를 위한 교육 노하우를 쌓을 수 있었습니다. 이 경험이 책의 구성, 내용, 예제 등 전반에 걸쳐 큰 영향을 끼쳐서 어려운 리버싱 기술을 비교적 쉽게 이해할 수 있도록 설명할 수 있었습니다.


셋 째는 다양한 커뮤니케이션 경험입니다. 몇 년 전부터 리버싱 전문 블로그를 운영하고 있습니다. 처음에는 제가 보유한 리버싱 기술의 정리 차원에서 가볍게 시작하였습니다. 그런데 방문객들이 조금씩 늘어 나면서 여러 가지 다양한 질문들이 올라오기 시작했습니다. 전 사실 이때 좀 놀랐습니다. 그 동안 우리나라는 리버싱의 불모지라고 여겼었는데 생각보다 많은 사람들이 관심을 보였고 관심 범위가 매우 다양했습니다. 그러면서 시야가 밖으로 넓어지는 계기가 되었습니다. 다른 리버싱 블로그도 방문하고 다양한 사람들의 글과 질문을 접하면서 그들의 관심사를 알 수 있게 되었는데요. 리버싱 입문자들은 체계적인 학습 방법을 알고 싶어 했습니다. 그리고 입문 과정을 지난 사람들은 좀 더 전문적인 리버싱 기술과 내부 동작 원리에 목 말라 하고 있었습니다. 블로그 활동을 어느 정도 한 이후부터는 체계적인 학습도구로서 기술 서적 집필을 고려하게 되었습니다.


결과적으로 저의 이러한 리버싱과 개발, 교육/발표, 다양한 커뮤니케이션 경험을 기반으로 하여 리버싱 입문 서적을 완성하게 되었습니다.



독자 여러분께 이 책을 이용한 리버싱 학습 방법에 대한 팁을 소개해 드리겠습니다.


첫째, 기술 서적은 책꽂이를 예쁘게 장식하는 용도가 아닙니다. 여러분의 기술력을 향상 시키기 위한 하나의 도구입니다. 따라서 책의 중요 부분에 밑줄을 팍팍 긋고, 여백에다가 여러분 자신의 생각과 느낌 등을 적어보시기 바랍니다. 연관된 기술, 주의 사항, 기술의 장단점, 저자와 다른 여러분 자신만의 아이디어 등을 신나게 기록하면서 여러분만의 책으로 만들어 보세요. 이런 리버싱 기술 서적을 한 권씩 독파하다 보면 어느 순간 여러분만의 독자적인 리버싱 세계를 구축하면서 리버싱 전문가가 될 수 있답니다.


둘째, 긍정적이고 여유 있는 마음 자세를 가지세요. 리버싱은 OS 의 가장 밑바닥까지 내려가는 심오한 기술입니다. 공부할 내용이 많고 그 특성상 대부분의 내용이 직접 실습하고 눈으로 확인해야만 이해 되는 경우가 많습니다. 이러한 과정을 긍적적인 마음으로 즐기시기 바랍니다. 그리고 리버싱 공부는 얼마나 머리가 좋은지가 아니라 얼마나 시간을 투자했는지가 더 중요합니다. 조급해 하지 말고 여유 있는 느긋한 마음 자세로 공부를 해나가시기 바랍니다.


셋째, 계속 도전하세요. 리버싱이 잘 안될 때는 멈추지 말고 다양한 방법으로 계속 시도해 보시기 바랍니다. 분명히 해결 방법은 존재합니다. 이미 몇 년 전에 누군가 성공시킨 일입니다. 관련 자료를 검색하고 다양하게 시도하면 자신의 실력도 향상될 뿐 아니라 문제가 해결되었을 때 엄청난 성취감을 느낄 수 있습니다. 이러한 성공 경험이 하나씩 쌓이면서 자신감이 생기고 리버싱 실력은 눈부시게 향상됩니다. 또한 경험을 통해 얻은 자신감은 무의식적으로 업무에 영향을 끼쳐서 일이 잘 풀리는 방향으로 나아가게 합니다.



이 책을 통하여 독자 분들의 위시 리스트가 하나씩 이루어 지고, 리버싱 기술이 다양한 IT 분야에서 널리 활용되기를 바랍니다. 감사합니다.



이 승 원

www.reversecore.com

reversecore@gmail.com


반응형
  1. reversecore 2012.10.10 00:52 신고

    "리버싱 핵심 원리"의 서문입니다.

  2. 악성코딩 2012.10.10 13:35

    책가격 시간이 지나면 떨어질까요?

  3. 리버싱입문자 2012.10.10 16:58

    안녕하세요.
    제가 공부를하면서 궁금한점이있습니다.
    리버싱엔지니어 기술을 배우려면 개발경험없이 리버싱분야로 취업이 가능한가요? 그리고 리버싱을 다루는 회사가 많이있나요? 안x 하x리 게임업체 정도로 나뉠수있나요? 저는 악성코드를 분석하고싶어서요 과연 진로로 일을할수있는 회사가 많은지 궁금해서요

    • reversecore 2012.10.11 00:39 신고

      안녕하세요.

      회사마다 자체 채용기준이 있기 때문에 취업 가능 여부는 제가 말씀드릴 수 있는 사항은 아닙니다.

      제가 아는 한도에서 악성 코드를 분석할 수 있는 곳은 말씀하신 보안업체, 게임업체, 국가 기관 정도입니다.

      그중에서도 악성코드 분석 전문 업체는 역시 보안업체입니다.

      감사합니다.

  4. 리셋 2012.10.10 19:13

    안녕하세요.
    리버싱에 입문하고자 책을 구매한 학생입니다^^
    http://test_r.blog.me/168393342

    그런데, 저는 책에있는 모든 예제파일을 구할 수 있을거라생각하고
    뒷면에 예제파일을 이 블로그에서 구할 수 있다는 글귀를 보고 들어왔는데
    어디에있는지 찾아볼 수 없네요 ㅠㅠ

    헬로월드부터 해보려고했는데..

    답변 기다리겠습니다!

    • 담벼락 2012.10.10 19:54

      http://www.reversecore.com/category/book/bin%26src
      카테고리 보시면 book +누르셔서 여시면 bin&src라는 곳에 예제가 있습니다.

    • reversecore 2012.10.11 00:32 신고

      리셋님, 안녕하세요~

      블로그의 책소개 감사합니다. ^^~

      말씀하신대로 실습예제 + 소스코드가 눈에 잘 띄지 않는 문제가 있습니다. 블로그 타이틀 부분에 걸 수 있다면 쉽게 찾으실 수 있을것 같습니다. 방법을 찾아보도록 하겠습니다.

      감사합니다.

    • reversecore 2012.10.11 01:01 신고

      담벼락님, 친절한 답변 감사 드립니다~~ ^^

      카테고리 이름을 한글로 고치면서 경로가 아래와 같이 변경되었습니다.

      http://www.reversecore.com/104

      감사합니다.

  5. 리버싱에한걸음 2012.10.11 21:57

    저희 부모님을 설득해서
    오늘 드디어 책구매를 하게됬네요 흐흐
    아빠한테 해커가 나쁜일을 하는게 아니라고 간신히 설득해서 사게됬다는 ㅠㅠ
    아 기분이 날아갈것만 같습니다 ㅋㅋ
    시험도 끝났으니 리버싱을 공부할수 있는
    좋은기회가 될것같네요
    학교가서 보고 집가서 보고 꾸준히 공부해야겠습니다
    제가 미래에 코어님같이 보안실력가 가 되있을거라 생각하니
    기분이 좋아진다는 ㅎㅎ

    • reversecore 2012.10.11 22:48 신고

      안녕하세요. ^^~
      해킹, 리버싱 꿈나무시군요~ 반갑습니다.

      리버싱에 대한 관심과 열정이 대단하신것 같습니다.
      가까운 미래에 틀림없이 저를 뛰어넘는 훌륭한 보안 전문가가 되실 것입니다.

      꿈을 크게 가지고 즐겁게 공부하시기 바랍니다. ^^~

      감사합니다.

  6. 불멸자 2012.10.13 23:03

    안녕하세요. 코어님 책을 공부하고있는 독자입니다.
    제가 책을 읽다가 갑자기 궁금한것이 생겨 댓글 달아봅니다.ㅋㅋ

    p.80의 내용에 4바이트의 크기를가지는
    두 변수를 저장하기위해 sub esp,8 을 한다고 써져
    있는데요 여기서 의문점이 공간을 확보하려면
    add esp,8 을 해야하지않나요? 어째서 sub를
    사용하는지 이해가 가지 않습니다

  7. 늙은초보 2012.10.14 17:19

    ESP 는 stack 포인터로 쓰입니다. 스택은 높은 메모리주소에서 낮은메모리 주소로 증가 합니다. 현재 스택에서(예로 현재 스택포인터는 100번지 스택메모리주소를 가리키고 있씀) 4byte * 2 (8byte) 공간을 확보하려면 100번지 - 8 로 낮은 주소로 내려 갑니다. 스택포인터는 높은 주소에서 낮은 주소로 이동할때 스택 메모리 공간이 커집니다.

    • 불멸자 2012.10.14 18:23

      아하 그렇군요
      이제 이해가갔네요 ㅎㅎ
      감사합니다.

    • reversecore 2012.10.14 23:39 신고

      안녕하세요~

      너무 멋진 설명 감사합니다. ^^~

  8. 불멸자 2012.10.14 22:46

    아 1강까지는 이해가 쉬웠는데
    스택프래임부터 시작해서 시리얼번호 크랙미 풀이는
    이해가 너무 힘드네 ㅠㅠ
    아무래도 직접실습하지않고 풀이만봐서 그런가
    이해갈때까지 계속 복습해야할거같네요

    • reversecore 2012.10.14 23:47 신고

      안녕하세요~

      말씀하신대로 직접 실습을 해보시면 이해의 폭이 달라지실 것입니다.
      엔지니어링이란게 그런것이겠죠? ^^

      조급하지 않게 한발 한발 나아가시면 됩니다.

      감사합니다.

  9. 질문요 2012.11.04 23:00

    오늘 첫 번째 정독 끝났습니다.

    동작원리, 개념에 대해서 꼼꼼하게 잘 설명해주셨더라구요. 그리고 질문하면 댓글도 달아주시고 정말 감사합니다. 덕분에 리버싱이라는 분야에 한발 더 내딛을 수 있게 되었습니다.

    국내에 네트웍프밍 서적은 대부분 TCP/IP 소켓프밍뿐이던데 커널네트웍프밍이나, 로우등 이런 서적은 국내에 없나요?

    • reversecore 2012.11.07 05:49 신고

      와~ 불과 한달여만에 책을 다보셨군요.
      대단하십니다.
      제가 알기로 최초이십니다. ^^

      네트워크 프로그래밍 책은 제가 그 분야를 떠난지 오래되서 잘 모르겠네요~ ^^

      감사합니다.

  10. 1쇄구매자 2013.01.14 16:55

    축하합니다. 아직 초반부 읽고 있지만 마음에 드는 책입니다.
    2판~3판~ 나와주길~

  11. 사이다한잔 2013.02.06 22:10

    책이 오늘 왔습니다. 아직 02를 보고 있지만, 쉽게 이해시키려는 저자의 노력이 돋보입니다. 감사합니다. 열심히 공부하겠습니다.

  12. 강경태 2013.05.09 21:43

    그런데 안티디버깅 실습중인데 PEB.Ldr 이부분이 무한루프에서 FF를 전부 NULL로 수정했는데도.

    무한루프문에서 빠져나오질 못합니다. 미치겠습니다.

    좀 알려주세요.

  13. 박경옥 2013.10.29 23:19

    안녕하십니까!
    아직 책을 읽지 못하였습니다. 헌데 2쇄가 발간이 된듯 하군요.
    리버싱에 대하여 오래전부터 관심을 가지게 되었으나 형편상 자세한 내용을 못찻아 꿈을 접은지 오래 되었는데...가족을 꾸려 나아가는 가장이 되고 보니 무언가 이룩한 일이 아무 것도 없어
    꿈에 다시 도전장을 던저 보려 밤중에 이렇게 글을 남깁니다.
    핵심원리 2쇄 책을 구입하여 정독을 한 후 관리자 님께 궁금증과 개인적인 1人 CEO 가 되보려
    합니다.
    응원해 주십시요. 관리자 님의 글이 한사람의 인생을 바꾸는 또다른 시각의 열매로 열리길
    기대 하는 한사람입니다.
    세상사는 가장 귀한 존재가 되시길.........화이팅!

  14. 2016.11.23 08:31

    비밀댓글입니다

+ Recent posts