<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>리버스코어 ReverseCore</title>
    <link>https://reversecore.tistory.com/</link>
    <description>-= 리버스코어 =-</description>
    <language>ko</language>
    <pubDate>Wed, 6 May 2026 21:29:00 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>reversecore</managingEditor>
    <image>
      <title>리버스코어 ReverseCore</title>
      <url>https://t1.daumcdn.net/cfile/tistory/1175183E50520E3F1B</url>
      <link>https://reversecore.tistory.com</link>
    </image>
    <item>
      <title>github.com 에 리버싱 핵심원리 실습 예제를 올렸습니다.</title>
      <link>https://reversecore.tistory.com/122</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;github 에서 우연히 reversecore 를 검색해봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;846&quot; data-origin-height=&quot;764&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lyhi4/btq85EbxSUG/oykaiiwYH2DxCS7IrKEGW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lyhi4/btq85EbxSUG/oykaiiwYH2DxCS7IrKEGW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lyhi4/btq85EbxSUG/oykaiiwYH2DxCS7IrKEGW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flyhi4%2Fbtq85EbxSUG%2FoykaiiwYH2DxCS7IrKEGW0%2Fimg.png&quot; data-origin-width=&quot;846&quot; data-origin-height=&quot;764&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;github.com 에 이미 reversecore 이름의 repository 가 6개나 있더군요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;독자님들께서 '리버싱 핵심원리' 실습 예제 소스코드를 올려두신 거였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아차 싶었습니다 @.@&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런건 제가 미리미리 했어야 하는 건데...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전 그동안 업무상 github.com 에 자주 접속했거든요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런데 왜 한 번도 제 책 예제 소스코드를 올려보자는 생각을 안 해봤을까요? &lt;span style=&quot;color: #9d9d9d;&quot;&gt;(네, 바보니까요... @.@)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제라도 올려야겠죠?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a href=&quot;https://github.com/reversecore/book.git&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/reversecore/book.git&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;995&quot; data-origin-height=&quot;815&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MqNOy/btq9ae9MHGt/v6OXoD8SXvF34OSs4Zt4YK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MqNOy/btq9ae9MHGt/v6OXoD8SXvF34OSs4Zt4YK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MqNOy/btq9ae9MHGt/v6OXoD8SXvF34OSs4Zt4YK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMqNOy%2Fbtq9ae9MHGt%2Fv6OXoD8SXvF34OSs4Zt4YK%2Fimg.png&quot; data-origin-width=&quot;995&quot; data-origin-height=&quot;815&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;user 검색(reversecore) 으로 찾으시거나...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;854&quot; data-origin-height=&quot;508&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQKydo/btq89vqEVCu/FTEKqE41QAQ9QbG1MT6ru1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQKydo/btq89vqEVCu/FTEKqE41QAQ9QbG1MT6ru1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQKydo/btq89vqEVCu/FTEKqE41QAQ9QbG1MT6ru1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQKydo%2Fbtq89vqEVCu%2FFTEKqE41QAQ9QbG1MT6ru1%2Fimg.png&quot; data-origin-width=&quot;854&quot; data-origin-height=&quot;508&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;책이름 (리버싱 핵심원리) 으로 찾으셔도 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;485&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccawiR/btq85DDHaaA/NNNrsCmNEpF6T3SVguK06K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccawiR/btq85DDHaaA/NNNrsCmNEpF6T3SVguK06K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccawiR/btq85DDHaaA/NNNrsCmNEpF6T3SVguK06K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccawiR%2Fbtq85DDHaaA%2FNNNrsCmNEpF6T3SVguK06K%2Fimg.png&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;485&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘도 이렇게 하나 배워갑니다~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더 좋은 공유 방법 알고 계신 분께서는 댓글로 알려주세요~&lt;/p&gt;</description>
      <category>essay</category>
      <category>github</category>
      <category>Repository</category>
      <category>ReverseCore</category>
      <category>리버싱 핵심원리</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/122</guid>
      <comments>https://reversecore.tistory.com/122#entry122comment</comments>
      <pubDate>Thu, 8 Jul 2021 17:32:12 +0900</pubDate>
    </item>
    <item>
      <title>리버싱 환경의 변화 : 가상머신(Virtual Machine), 디버거(Debugger)</title>
      <link>https://reversecore.tistory.com/119</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;5760&quot; data-origin-height=&quot;3840&quot; data-filename=&quot;markus-spiske-Skf7HxARcoc-unsplash.jpg&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p096M/btq2NdX54u1/grgUBpjgUle61I7wRhH2sk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p096M/btq2NdX54u1/grgUBpjgUle61I7wRhH2sk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p096M/btq2NdX54u1/grgUBpjgUle61I7wRhH2sk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp096M%2Fbtq2NdX54u1%2FgrgUBpjgUle61I7wRhH2sk%2Fimg.jpg&quot; data-origin-width=&quot;5760&quot; data-origin-height=&quot;3840&quot; data-filename=&quot;markus-spiske-Skf7HxARcoc-unsplash.jpg&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;{배경}&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;제가 처음 소프트웨어 리버스 엔지니어링을 접한게 2005년 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;테스트 PC에 Windows XP (32bit) 설치해서 사용하던 시절이었고요, 디버거로는 ollydbg 를 사용하였지요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;[리버싱 핵심 원리] 책은 Windows 7 (32bit) 환경에서 ollydbg2.0 으로 작업하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;시대는 빠르게 변화하여 Windows 10 (64bit) 이 완전히 정착하였고, 가상머신(Virtual Machine)이 엄청나게 발전하여 개발 및 리버싱 환경에 깊숙히 자리잡고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 과거의 리버싱 환경을 새롭게 업데이트 해야 할 때가 온 것이지요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;{해결방법}&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음에 소개하는 방법으로 각자 새로운 시대에 맞는 리버싱 환경을 꾸며 보시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;#1. 가상머신 (Virtual Machine)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;디버깅을 할때 &lt;/span&gt;리얼 PC 환경에서 해도 좋지만, 가상머신에서 하면 큰 장점이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;- 악성코드 분석 시 감염 걱정이 없음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;- Snapshot 기능으로 언제든지 원하는 시점으로 되돌아 갈 수 있음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;무료 가상머신에서 제가 추천하는 제품은 &lt;b&gt;VirtualBox&lt;/b&gt; 입니다. &lt;span style=&quot;color: #333333;&quot;&gt;(유료 제품으로는 VMWare 추천합니다)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Snapshot 을 지원하며 사용이 편리하며 Windows/Mac/Linux 플랫폼을 모두 지원합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://www.virtualbox.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.virtualbox.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://www.virtualbox.org/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kFWIy/btq2NpD0H1Y/F8KtwJ5wMxBEUZcVOTkSV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkFWIy%2Fbtq2NpD0H1Y%2FF8KtwJ5wMxBEUZcVOTkSV1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;자신의 OS 환경에 맞는 버전을 다운받아 설치하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;#2. OS Image&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 가상머신에 올릴 OS 를 선택해야죠.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;고민없이 당연히 Windows 10 을 선택하면 되는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Microsoft 에서는 무료로 Windows OS 의 가상머신 이미지를 제공하고 있으므로 이것을 이용하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;developer.microsoft.com/en-us/microsoft-edge/tools/vms/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bN93UD/btq2P3tr6BB/qIypYYf4IkxyrIFKKOQKB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bN93UD/btq2P3tr6BB/qIypYYf4IkxyrIFKKOQKB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bN93UD/btq2P3tr6BB/qIypYYf4IkxyrIFKKOQKB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbN93UD%2Fbtq2P3tr6BB%2FqIypYYf4IkxyrIFKKOQKB1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1) Virtual Machines 항목에서 &quot;MSEdge on Win10 (x64) Stable 1809&quot; 를 선택하시고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2) Choose a VM platform 항목에서 &quot;VirtualBox&quot; 를 선택하신 후&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3) [Download .zip &amp;gt;] 버튼을 선택하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;※ 참고 : Windows 10 VM 로그인 암호는 &lt;span style=&quot;color: #ffffff; background-color: #ee2323;&quot;&gt;Passw0rd!&lt;/span&gt; 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;#3. 디버거(Debugger)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가상머신과 Windows 10 이미지를 얻었으므로 이제 디버거만 다운로드 받으면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여태까지 제가 사용하던 디버거는 ollydbg 였습니다. 저에게는 정말로 최고의 디버거였지요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하지만&amp;nbsp;아쉽게도&amp;nbsp;ollydbg 는 더이상 업데이트 되지 않아 64bit 로 디자인된 PE+(PE64) 파일의 디버깅을 지원하지 않습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 무료 &lt;b&gt;IDA Free&lt;/b&gt; 제품을 사용합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(프로페셔널 리버스 엔지니어용 IDA Pro 제품에서 몇 가지 기능을 제한한 아마추어용 무료 제품으로 보시면 됩니다)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.hex-rays.com/ida-free/&quot;&gt;https://www.hex-rays.com/ida-free/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;https://www.hex-rays.com/ida-free/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PawQb/btq2QTKUriL/jlCNk6QiHzCgeCnOvK6q00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPawQb%2Fbtq2QTKUriL%2FjlCNk6QiHzCgeCnOvK6q00%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사실 프로들의 세계에서는 IDA Pro 를 많이 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;특히 Decompiler 기능이 정말 막강하거든요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그만큼 비싸지만 빠른 기능 파악이 필요할 때는 그 값어치를 톡톡히 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;IDA Free 는 ollydbg2.0 과 비교해도 손색이 없으며, 64-bit 어플리케이션 분석이 가능하지요.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Analyze both 32-bit and 64-bit applications&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Local x86/x64 debugger included&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Support x86/x64 processors&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Save your analysis results&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Perpetual license&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 3 개를 모두 조합하여 HelloWorld.exe 를 디버깅한 모습은 다음과 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;(VirtualBox + Windows 10 Image + IDA Free)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bal1dA/btq2Mn8k9HU/QF3IEheA1vwfIivyKBkxm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bal1dA/btq2Mn8k9HU/QF3IEheA1vwfIivyKBkxm1/img.png&quot; data-alt=&quot;VirtualBox 에서 MS Image 를 이용해 로그인한 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bal1dA/btq2Mn8k9HU/QF3IEheA1vwfIivyKBkxm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbal1dA%2Fbtq2Mn8k9HU%2FQF3IEheA1vwfIivyKBkxm1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VirtualBox 에서 MS Image 를 이용해 로그인한 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zCNlM/btq2SLMWTgO/m3V2eWvXmWE96yB4Hz89nK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zCNlM/btq2SLMWTgO/m3V2eWvXmWE96yB4Hz89nK/img.png&quot; data-alt=&quot;IDA Free 의 장점인 Graph View : 코드 흐름을 직관적으로 표시합니다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zCNlM/btq2SLMWTgO/m3V2eWvXmWE96yB4Hz89nK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzCNlM%2Fbtq2SLMWTgO%2Fm3V2eWvXmWE96yB4Hz89nK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;IDA Free 의 장점인 Graph View : 코드 흐름을 직관적으로 표시합니다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qC8DZ/btq2QUJN06f/RdhTYSnBVDg0so77zFnfn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qC8DZ/btq2QUJN06f/RdhTYSnBVDg0so77zFnfn1/img.png&quot; data-alt=&quot;IDA Free를 이용해 HelloWorld.exe (32bit) 를 디버깅하는 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qC8DZ/btq2QUJN06f/RdhTYSnBVDg0so77zFnfn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqC8DZ%2Fbtq2QUJN06f%2FRdhTYSnBVDg0so77zFnfn1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;IDA Free를 이용해 HelloWorld.exe (32bit) 를 디버깅하는 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;멋지군요!&amp;nbsp; ^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 환경을 좀 더 연구해서 최적화시키면 재밌을것 같네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>column</category>
      <category>IDA Free</category>
      <category>virtualbox</category>
      <category>VirtualMachine</category>
      <category>vmware</category>
      <category>가상머신</category>
      <category>무료 Windows 10</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/119</guid>
      <comments>https://reversecore.tistory.com/119#entry119comment</comments>
      <pubDate>Sun, 18 Apr 2021 01:02:41 +0900</pubDate>
    </item>
    <item>
      <title>[리버싱 핵심 원리] 독자님들의 성원에 감사드립니다~ *^^*</title>
      <link>https://reversecore.tistory.com/117</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2012년 9월 30일, 처음으로 책이 세상에 나왔죠. (그때 생각을 하면 지금도 설렙니다 ^^)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1618658482917&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[리버싱 핵심 원리 : 악성 코드 분석가의 리버싱 이야기]&quot; data-og-description=&quot;저도 오늘 갑자기 편집자님의 메일을 받고 알게 되었네요~ @@~ 예약판매 페이지가 떴습니다. ^^ [리버싱 핵심 원리 : 악성 코드 분석가의 리버싱 이야기] 이승원 저 인사이트(Insight) 마음의 준비 없&quot; data-og-host=&quot;reversecore.com&quot; data-og-source-url=&quot;https://reversecore.tistory.com/103&quot; data-og-url=&quot;https://reversecore.com/103&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/3FBDQ/hyJURwTMHs/hATqCjGh1KGYS8K9yUdYsK/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/NktRw/hyJTui1Xc8/oMfleqW3AiXUovIVVMIiy0/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/u9fXf/hyJU3qyTL6/PDx773aVO6fOV1A8LatPrK/img.png?width=972&amp;amp;height=644&amp;amp;face=0_0_972_644&quot;&gt;&lt;a href=&quot;https://reversecore.tistory.com/103&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://reversecore.tistory.com/103&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/3FBDQ/hyJURwTMHs/hATqCjGh1KGYS8K9yUdYsK/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/NktRw/hyJTui1Xc8/oMfleqW3AiXUovIVVMIiy0/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/u9fXf/hyJU3qyTL6/PDx773aVO6fOV1A8LatPrK/img.png?width=972&amp;amp;height=644&amp;amp;face=0_0_972_644');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[리버싱 핵심 원리 : 악성 코드 분석가의 리버싱 이야기]&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;저도 오늘 갑자기 편집자님의 메일을 받고 알게 되었네요~ @@~ 예약판매 페이지가 떴습니다. ^^ [리버싱 핵심 원리 : 악성 코드 분석가의 리버싱 이야기] 이승원 저 인사이트(Insight) 마음의 준비 없&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;reversecore.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그 이후 책은 많은 사람들을 만나고 다양한 이야기를 만들고 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;많은 분들이 좋아해 주시고, 과분한 리뷰를 남겨주셨습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이 자리를 빌어 감사의 인사를 드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ffffff; background-color: #0593d3;&quot;&gt;모든 독자님들께 감사드립니다~ ^^&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;인터넷 서점 사이트별로 몇 개만 살펴봤습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&amp;amp;mallGb=KOR&amp;amp;barcode=9788966260522&amp;amp;orderClick=LAG&amp;amp;Kc=&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;# 교보문고&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&amp;amp;mallGb=KOR&amp;amp;barcode=9788966260522&amp;amp;orderClick=LAG&amp;amp;Kc=&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BJcCZ/btq2QUwc54A/M0v1VuDtOxWHErgldAkue1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBJcCZ%2Fbtq2QUwc54A%2FM0v1VuDtOxWHErgldAkue1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;http://www.yes24.com/Product/Goods/7529742&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;# YES24&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://www.yes24.com/Product/Goods/7529742&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uQ0im/btq2MAMJFqQ/fHyMRAVS1suHm6v2pC2Msk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuQ0im%2Fbtq2MAMJFqQ%2FfHyMRAVS1suHm6v2pC2Msk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=19577173&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;# 알라딘&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=19577173&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJokQJ/btq2OoqYO77/xQnCab88lEWvd9G7kPzUuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJokQJ%2Fbtq2OoqYO77%2FxQnCab88lEWvd9G7kPzUuk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;http://book.interpark.com/product/BookDisplay.do?_method=detail&amp;amp;sc.shopNo=0000400000&amp;amp;sc.prdNo=211159048&amp;amp;sc.saNo=003002001&amp;amp;bid1=search&amp;amp;bid2=product&amp;amp;bid3=img&amp;amp;bid4=001&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;# 인터파크&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://book.interpark.com/product/BookDisplay.do?_method=detail&amp;amp;sc.shopNo=0000400000&amp;amp;sc.prdNo=211159048&amp;amp;sc.saNo=003002001&amp;amp;bid1=search&amp;amp;bid2=product&amp;amp;bid3=img&amp;amp;bid4=001&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csAW4v/btq2RltKywX/RcnCA6EsV1TVYuFZhK1kVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsAW4v%2Fbtq2RltKywX%2FRcnCA6EsV1TVYuFZhK1kVk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;http://www.coupang.com/vp/products/20513510?itemId=80685091&amp;amp;vendorItemId=3313494308&amp;amp;pickType=COU_PICK&amp;amp;q=%EB%A6%AC%EB%B2%84%EC%8B%B1+%ED%95%B5%EC%8B%AC+%EC%9B%90%EB%A6%AC&amp;amp;itemsCount=2&amp;amp;searchId=f00163317a8f470889034ef065e00482&amp;amp;rank=0&amp;amp;isAddedCart=&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;# 쿠팡&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://www.coupang.com/vp/products/20513510?itemId=80685091&amp;amp;vendorItemId=3313494308&amp;amp;pickType=COU_PICK&amp;amp;q=%EB%A6%AC%EB%B2%84%EC%8B%B1+%ED%95%B5%EC%8B%AC+%EC%9B%90%EB%A6%AC&amp;amp;itemsCount=2&amp;amp;searchId=f00163317a8f470889034ef065e00482&amp;amp;rank=0&amp;amp;isAddedCart=&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qBIMn/btq2Mz1mDWH/9PD2OwzkiQR59jN9aQbOuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqBIMn%2Fbtq2Mz1mDWH%2F9PD2OwzkiQR59jN9aQbOuK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;http://item.gmarket.co.kr/Item?goodscode=614078216&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;# GMARKET&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://item.gmarket.co.kr/Item?goodscode=614078216&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cao7Se/btq2NyVbAce/ft3ThGxr4hREcyI4qFOztk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcao7Se%2Fbtq2NyVbAce%2Fft3ThGxr4hREcyI4qFOztk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;http://www.bandinlunis.com/front/product/detailProduct.do?prodId=3517120&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;# 반디앤루니스&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://www.bandinlunis.com/front/product/detailProduct.do?prodId=3517120&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nRKUx/btq2M2hYc1X/RVdp34lZ7wxuyGttowuO2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnRKUx%2Fbtq2M2hYc1X%2FRVdp34lZ7wxuyGttowuO2K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;너무 감사한 리뷰가 많네요. 너무너무 감사드립니다~&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;리버싱 핵심 원리 중국어판 &quot;逆向工程核心原理&quot; 은 어떻게 되고 있을까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;중국에서 꾸준히 반응이 좋다는 얘기를 들어서 한번 찾아보았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;https://item.jd.com/11456821.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;# JD.com&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;https://item.jd.com/11456821.html&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tyNdE/btq2QT49uuc/35qWs2kGfSPydmx0OsmW5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtyNdE%2Fbtq2QT49uuc%2F35qWs2kGfSPydmx0OsmW5K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;중국 징둥닷컴입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;평가 개수가 5000+ 이고 호평 99% 라고 되어 있어서 놀랐습니다. (중간에 다른 책의 평이 포함되어 있네요. 집계 방식이 좀 특이한것 같습니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;중국에 IT보안업체도 많고 보안 전문가도 많다고는 알고 있었으나 이렇게 큰 관심을 받고 있다는건 정말 놀라운 일입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;http://product.dangdang.com/23468991.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;# dangdang.com&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;http://product.dangdang.com/23468991.html&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuoyyW/btq2Oo5BJiu/qnKqNWHAij411tFcSt6L71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuoyyW%2Fbtq2Oo5BJiu%2FqnKqNWHAij411tFcSt6L71%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;또다른 사이트 당당닷컴입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이곳의 리뷰도 1,292건에 99.4% 호평을 받고 있네요. 정말 놀랍습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;a href=&quot;https://book.douban.com/subject/25866389/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;# douban.com&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;a href=&quot;https://book.douban.com/subject/25866389/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bov7Gm/btq2Mkp1PfA/jRaUFo0Hd3vAjY1HspwG31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbov7Gm%2Fbtq2Mkp1PfA%2FjRaUFo0Hd3vAjY1HspwG31%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이곳은 두반닷컴이라는 온라인 서점입니다. 이곳에서도 좋은 후기를 만날 수 있었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;마지막으로 타오바오(알리바바) 와 아마존 차이나에 가보았습니다. 타오바오는 판매자가 매우 많아 후기를 찾아보기 힘들었네요. 그리고 아마존 차이나에는 제 책이 없었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;리버싱 핵심 원리가 중국에서 매우 큰 사랑을 받고 있음을 확인 할 수 있었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저자로서 감동 먹었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;앞으로는?&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt;그동안 독자분들께서 보내주신 성원에 보답하고 더 많은 도움을 드리기 위해서 다양한 고민&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(리버싱 교육, 정보 전달 등)&lt;/span&gt;&lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt;을 하고 있습니다. 멋지고 다양한 플랫폼들이 많이 나와있더군요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt;저도 관련 공부를 많이 해서 더 빠르고 효과적인 정보 전달 방법을 찾아서 다시 돌아오겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt;모두 행복하세요~ ^^&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-size: 1.12em; letter-spacing: 0px;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;감사합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>逆向工程核心原理</category>
      <category>리버싱핵심원리</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/117</guid>
      <comments>https://reversecore.tistory.com/117#entry117comment</comments>
      <pubDate>Sat, 17 Apr 2021 22:08:13 +0900</pubDate>
    </item>
    <item>
      <title>리버싱 핵심 원리 - 중국어판 출간 소식</title>
      <link>https://reversecore.tistory.com/116</link>
      <description>&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px;&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;리버싱 핵심원리&lt;/b&gt;&amp;nbsp;중국어판이 나왔습니다. ^^~&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;중국어판 제목은&amp;nbsp;&lt;b&gt;逆向工程核心原理&lt;/b&gt; 입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/246A3B3E536E36A907&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F246A3B3E536E36A907&quot; width=&quot;400&quot; height=&quot;515&quot; filename=&quot;1266.109.big.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;중국어판을 위해 많은 수고를 해주신 인사이트 출판사(www.insightbook.co.kr)와 중국 인민우전출판사(http://www.ituring.com.cn) 관계자 분들께 깊은&amp;nbsp;감사를 드립니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;특히 번역을 맡아주신&amp;nbsp;武传海님과 감수를 맡아주시고 중국 블로그를 만들어주신&amp;nbsp;金虎님께 감사 드립니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;그리고&amp;nbsp;중국책의 검토를 맡아주신 많은&amp;nbsp;중국 리버스 엔지니어 분들께 감사 드립니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;중국 블로그 :&amp;nbsp;&lt;a href=&quot;http://blog.csdn.net/reversecore/article/details/23971921&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://blog.csdn.net/reversecore/article/details/23971921&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;중국에는 전세계에서 가장 많은 리버스 엔지니어들이 활동 하고 있으며, 매일매일&amp;nbsp;수많은 리버싱 기법과 다양한 기술이 공유되고 있습니다. 사실상 현 시점에서 리버스 엔지니어링의 대세라고 할 수 있지요.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;그런 중국에서 제 리버싱 책이 출판된다고 하니, 너무 기쁘고 흥분된 마음을 감추기 어렵네요~ ^^&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;궁금한 마음에 구글에서 중국어책 이름(逆向工程核心原理)으로 검색을 해보았습니다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 493px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/273E2A44536E3C8434&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F273E2A44536E3C8434&quot; width=&quot;493&quot; height=&quot;700&quot; filename=&quot;스크린샷 2014-05-10 오후 11.48.39.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;벌써 중국 인터넷 서점과 출판사 홈페이지 등이 보이는군요. (나름 감격하고 있답니다.)&lt;/p&gt;&lt;p&gt;아래는 중국 아마존&amp;nbsp;사이트에 등록된&amp;nbsp;책 소개 페이지입니다. (감격이 깊어집니다~ ㅜㅜ)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 670px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/27106343536E45B517&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F27106343536E45B517&quot; width=&quot;670&quot; height=&quot;513&quot; filename=&quot;스크린샷 2014-05-11 오전 12.28.02.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2011년경 제가&amp;nbsp;한창 '리버싱 핵심원리' 원고 작성중일때 좋은 강연을 들은 적이 있습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;'육일약국 갑시다' 책의 저자이신 김성오님의 강연이었습니다.&lt;/p&gt;&lt;p&gt;그때 김성오님께서 좋은 말씀을 많이 해주시면서 자신의 책(육일약국 갑시다)에 대해서 잠깐&amp;nbsp;언급하신적이 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&quot;제가 책을 쓰긴 했지만, 출판된 후 책이 스스로 살아 움직이면서 또 다른 이야기를 만들어 가더군요.&quot;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그때 그 말씀에 막연히 '내 책도&amp;nbsp;곧 그렇게 되면 좋겠다~' 라고 생각하고, 그 순간을 상상하며 힘을 내서 작업할 수 있었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;실제로 저도 책 출판 후에 많은 독자분들의 피드백을 받고 나서 정말 책이 살아 움직이고 있구나~ 라고 느꼈답니다.&lt;/p&gt;&lt;p&gt;초/중/고 학생, 대학/대학원생, 군인, 직장인 분들께 많은 메일을 받았습니다.&lt;/p&gt;&lt;p&gt;'책 덕분에 리버싱에 흥미가 생겨서 보안 전문가로 진로를 결정했습니다.' 이런 류의 메일을 많이 받았습니다.&lt;/p&gt;&lt;p&gt;그리고 실제로 제가 다니는 회사의 신규 악성코드 분석가 한명이 저를 찾아와서 제 책때문에 여기에&amp;nbsp;입사하기로 맘 먹었다고&amp;nbsp;말씀하시더군요.&lt;/p&gt;&lt;p&gt;정말 깜짝 놀랐죠. 그정도까지는 예상하지 못했었거든요.&amp;nbsp;&lt;/p&gt;&lt;p&gt;정말로 책이 살아 움직이면서 사람들에게 영향을 주고 있구나~ 라는&amp;nbsp;말을 새삼 실감했습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이번 중국어판 출판도 역시 처음에는 예상하지 못했던 사건입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;중국 리버싱 꿈나무들에게도 영향을 주게 되겠죠? 그럼 그 사람들에 의해 영향을 받게 될&amp;nbsp;수많은 일들이 생겨나겠죠? ^^&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;책이 앞으로 어떤 이야기를 만들어 나갈지... 저도 무척 흥미롭게 지켜보고 있답니다. ^^&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;감사합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); background-color: rgb(255, 228, 0);&quot;&gt;ReverseCore&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>China</category>
      <category>iTuring</category>
      <category>리버싱</category>
      <category>리버싱 핵심원리</category>
      <category>소식</category>
      <category>중국어</category>
      <category>중국판</category>
      <category>출간</category>
      <category>출판</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/116</guid>
      <comments>https://reversecore.tistory.com/116#entry116comment</comments>
      <pubDate>Sun, 11 May 2014 00:44:30 +0900</pubDate>
    </item>
    <item>
      <title>逆向工程核心原理</title>
      <link>https://reversecore.tistory.com/115</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Dotum, 돋움; font-size: 11pt;&quot;&gt;&quot;逆向工程核心原理&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 11pt; background-color: transparent; line-height: 1.5;&quot;&gt;源代码及示例文件下载地址：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/reversecore/article/details/23971921&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://blog.csdn.net/reversecore/article/details/23971921&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/22260E3D536C6A7824&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F22260E3D536C6A7824&quot; width=&quot;600&quot; height=&quot;446&quot; filename=&quot;rc_chn2.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(250, 244, 192); color: rgb(0, 85, 255);&quot;&gt;ReverseCore&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>逆向工程核心原理</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/115</guid>
      <comments>https://reversecore.tistory.com/115#entry115comment</comments>
      <pubDate>Fri, 9 May 2014 14:25:38 +0900</pubDate>
    </item>
    <item>
      <title>[실습예제 &amp;amp; 소스]</title>
      <link>https://reversecore.tistory.com/notice/113</link>
      <description>&lt;p&gt;안녕하세요. ReverseCore 입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;[리버싱 핵심 원리]&lt;/span&gt;&lt;/b&gt; 실습 예제와 소스 파일입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.reversecore.com/104&quot; target=&quot;_top&quot; class=&quot;tx-link&quot;&gt;http://www.reversecore.com/104&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;감사합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/notice/113</guid>
      <pubDate>Mon, 8 Apr 2013 20:01:20 +0900</pubDate>
    </item>
    <item>
      <title>PEView.exe</title>
      <link>https://reversecore.tistory.com/111</link>
      <description>&lt;p&gt;PEView.exe 파일입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/245B0C3551050D181A&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;PEview.exe&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;제작자의 홈페이지(http://www.magma.ca/~wjr)가 폐쇄되었네요.&amp;nbsp;&lt;/p&gt;&lt;p&gt;아쉽게도 추가 개발은 없을 것 같네요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>tool</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/111</guid>
      <comments>https://reversecore.tistory.com/111#entry111comment</comments>
      <pubDate>Sun, 27 Jan 2013 20:20:42 +0900</pubDate>
    </item>
    <item>
      <title>리버싱 핵심 원리 - 2쇄 찍었어요~ ^^</title>
      <link>https://reversecore.tistory.com/110</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/140BD94B50C9D0981E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F140BD94B50C9D0981E&quot; width=&quot;700&quot; height=&quot;287&quot; filename=&quot;IMG_0804.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;리버싱 핵심 원리&quot; 2쇄를 찍었습니다~&amp;nbsp;&lt;/p&gt;&lt;p&gt;성원해 주신 독자 여러분들께 감사드립니다~ ^^~&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;많은 독자분께서 블로그와 이메일을 통해 &quot;리버싱 핵심 원리&quot;에 대해 격려와 조언을 해주셨습니다.&lt;/p&gt;&lt;p&gt;정말 감사드립니다~~~&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;+---+&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;기억에 남는 이메일들이 많이 있는데요.&lt;/p&gt;&lt;p&gt;의외로 초/중/고 학생중에서 리버싱에 관심을 가지고 열심히 공부하시는 분들이 계시더군요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;어린 학생분들이 인생의 목표를 세우고 한 걸음씩 실천하는 모습을 보면서 가슴이 뭉클하고 절로 숙연해 졌습니다.&lt;/p&gt;&lt;p&gt;새삼 제 자신에 대해 돌아보게되고 삶의 자세에 대해 많이 생각할 수 있었습니다.&lt;/p&gt;&lt;p&gt;덕분에 많이 배웠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;+---+&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;제 주변에도 제 책으로 공부하시는 분들이 계신데요.&lt;/p&gt;&lt;p&gt;1/3 분량 정도부터 어려움을 느끼시더군요.&amp;nbsp;&lt;/p&gt;&lt;p&gt;생소한 Win32 API 설명이 나오면서 그 부분이 좀 힘드셨나봐요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Windows 리버싱이란 API 위주로 프로그램의 동작을 파악해가는 과정의 연속이기 때문에...&lt;/p&gt;&lt;p&gt;API 공부를 피할 수는 없습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;한 가지 팁을 알려드리자면&amp;nbsp;책과 구글 검색을 통해 API에 대한 대략적인 설명을 접한 후 디버깅 실습까지 진행해 보세요.&lt;/p&gt;&lt;p&gt;하나하나 디버깅 하면서 해당 API 의 기능을 익혀 보시기 바랍니다. 억지로 외울 필요 없습니다.&lt;/p&gt;&lt;p&gt;자주 반복해서 나타나기 때문에 나중에 가면 저절로 외워진답니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 하나씩 장애물을 넘어가다보면 자연스럽게 '리버서'가 되는 것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 어려울땐 질문을 해보세요~&lt;/p&gt;&lt;p&gt;같이 고민하다보면 꼭 해결할 수 있을겁니다~&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;모두 화이팅 하세요~~~&lt;/p&gt;&lt;p&gt;여러분의 꿈이 다 이루어지길 기원합니다~ ^^&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>2쇄</category>
      <category>API</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>Reversing</category>
      <category>디버깅</category>
      <category>리버스 엔지니어링</category>
      <category>리버스코어</category>
      <category>리버싱</category>
      <category>리버싱 핵심 원리</category>
      <category>분석가</category>
      <category>블로그</category>
      <category>악성 코드</category>
      <category>이메일</category>
      <category>이야기</category>
      <category>인사이트</category>
      <category>인생의 목표</category>
      <category>장애물 극복</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/110</guid>
      <comments>https://reversecore.tistory.com/110#entry110comment</comments>
      <pubDate>Thu, 13 Dec 2012 22:18:14 +0900</pubDate>
    </item>
    <item>
      <title>리버스 엔지니어링 : &amp;quot;리버싱 핵심 원리&amp;quot; 책 소개</title>
      <link>https://reversecore.tistory.com/109</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px; &quot;&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255); &quot;&gt;가상 인터뷰 형식&lt;/span&gt;&lt;/b&gt;을 빌려 저와 책에 대한 소개를 합니다. 그리고 블로그와 책의 독자님들께 받은 질문들에 대한 답변을 정리하였습니다.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 안녕하세요? 본인 소개를 부탁 드립니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;안녕하세요~ 리버스 엔지니어 '리버스코어' 입니다. &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;대학 시절부터 컴퓨터 프로그래밍에 매력을 느껴 공부를 했던 계기로 IT 에 입문하였구요.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;소프트웨어 업체에서 3년 동안 네트워크 솔루션을 개발하였습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;그 후 보안회사로 이직하여 그때부터 쭉 악성 코드 분석업무를 하고 있습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;몇 년 전부터 리버스 엔지니어링 전문 블로그(ReverseCore.com)를 운영하고 있지요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 이번에 리버스 엔지니어링 분야의 책을 쓰셨는데요, 간단한 책 소개를 부탁 드릴께요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;'리버싱 핵심 원리' 라는 소프트웨어 리버스 엔지니어링 입문용 기술 서적입니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;컨셉은 다음과 같습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;1) 쉽게 쉽게 쉽게&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;2) 기술 동작 원리의 이해&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;3) 흥미와 도전 욕구를 자극&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;이를 위하여 방대한 분량(1,020 페이지), 풍부한 그림(889개), 실습 예제 및 관련 파일(114개), 소스 코드(62개)를 제공하였습니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; text-align: center; clear: none; float: none; &quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 512px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1530773D507AF9191A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1530773D507AF9191A&quot; width=&quot;512&quot; height=&quot;333&quot; filename=&quot;IMG_2562.PNG&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; text-align: center; &quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;대부분의 리버싱 기술은 기초적인 동작 원리를 이해하고 나면 그 뒤부터는 변형과 응용의 연속입니다. 따라서 원리를 이해하기 위한 개념 설명과 실습 예제 분석에 대부분의 지면을 할당하였습니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 512px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1931D53D507AF91919&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1931D53D507AF91919&quot; width=&quot;512&quot; height=&quot;323&quot; filename=&quot;IMG_2566.PNG&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;그리고 리버스코어 블로그를 운영하면서 받았던 질문 중에서 초보자에게 유용한 질문과 답변들을 추려서 FAQ 형식으로 각 장의 뒤쪽에 배치 했고요. 리버스 엔지니어링을 처음 배울 때의 어려움과 고민에 대한 제 생각을 곳곳에 넣어 두었습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 책을 쓰게 된 계기가 있으실 것 같은데요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;리버스 엔지니어링이라는 기술을 처음 접한 이후 그 매력에 완전히 빠져 들었습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;실행 파일(PE File)의 구조와 프로세스의 동작 원리를 공부한 후 다른 프로그램의 내부 구조와 동작 원리를 파악할 수 있다는 사실에 엄청난 희열을 느꼈지요.&amp;nbsp;처음에는 악성 코드를 분석하여 악의적인 행위를 파악하는 일을 주로 하였습니다. 다양한 악성 코드의 기발한 리버싱 기법들을 보고 배우면서 정말 즐거웠습니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;하지만 이렇게 획기적이고 가능성이 무궁무진한 기술들이 주로 나쁜 의도를 가진 사람들에 의해 악용되고 있었습니다.&amp;nbsp;즉, 리버싱 기술 자체는 매우 쓸모가 많은데 그걸 나쁘게 사용한 사람들에 의해서 '어둠의 기술'로 저평가 되고 있고 별다른 활용 방안이 없다는 사실이 매우 안타까웠습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;그때부터 이 리버스 엔지니어링 기술을 좋은 쪽으로 활용할 수 없을까 궁리하게 되었지요.&amp;nbsp;그러다가 프로그램의 내부 동작 원리를 '분석'하는 차원을 뛰어 넘어 프로그램에 존재하는 버그를 수정하고, 새로운 기능을 추가하는 '패치' 작업까지 관심이 확대되었습니다.&amp;nbsp;&lt;span style=&quot;color: rgb(9, 0, 255); &quot;&gt;&lt;b&gt;&lt;u&gt;리버스 엔지니어링 기술이 반드시 IT 산업에 큰 도움을 줄 수 있을 거라는 확신이 들었습니다.&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;제 나름대로 리버스 엔지니어링 기술을 전파시키고 싶어서 블로그 활동을 시작하였습니다.&amp;nbsp;그러던 중 많은 분들께서 체계적인 학습 방법에 대해 목말라 한다는 것을 알게 되었죠.&amp;nbsp;그래서 리버스 엔지니어링 입문용 기술 서적을 써보자고 마음먹게 되었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 리버싱 기술을 배우면 뭘 할 수 있는지 얘기해 주시겠어요?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;u&gt;다른 프로그램의 내부 구조와 동작 원리를 파악할 수 있습니다.&lt;/u&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;예를 들어 악성 코드의 동작 원리를 파악하여 감염 경로, 악의적인 행위를 알아내고, 진단 및 치료 방법에 대한 아이디어를 &amp;nbsp;얻을 수 있습니다.&amp;nbsp;특히 다른 파일을 감염 시켜 실행 파일 형태를 바꿔 버리는 기능을 가진 Virus 류의 악성 코드는 상세한 분석이 이루어져야만 진단과 치료 코드를 작성할 수 있습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;u&gt;프로그램의 버그를 수정하고 새로운 기능을 추가 시킬 수도 있습니다.&lt;/u&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;예를 들면 제작자가 업데이트를 중단한 유틸리티의 버그를 수정할 수 도 있고, 자신만의 독창적인 아이디어를 적용해 새로운 기술을 추가 시킬 수 도 있는 것이죠. (실제로 개발 업무를 담당하시는 분들께서 자신들의 프로젝트에&amp;nbsp;DLL Injection 과 API Hooking 기술을 활용하는데 조언을 구해오시는 경우가&amp;nbsp;종종 있습니다.)&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;제가 최초로 패치시킨 유틸리티는 출시된지 오래된 fhred 라는 이름의 hex editor 였습니다. 마우스 휠 스크롤 기능이 없어서 매우 불편했습니다.&amp;nbsp;그래서 마우스 메시지 후킹 기법을 사용하여 휠 스크롤 기능을 추가시켰습니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 624px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/20173839507AE9CC32&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F20173839507AE9CC32&quot; width=&quot;624&quot; height=&quot;344&quot; filename=&quot;frhed.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;사실 이때 이미 최신 버전의 frhed 에서는 마우스 휠 기능이 지원되고 있었습니다. 제가 가진건 아주 옛날 버전이었던 겁니다. 그냥 최신 버전을 사용하면 되는 거였지요.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;하지만 제가 배운 기술을 활용하여 제 손으로 직접 패치하고 싶었습니다. &lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(9, 0, 255); &quot;&gt;결과적으로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(9, 0, 255); &quot;&gt;이 작업을 계기로 리버스 엔지니어링 기술의 '패치' 활용 가능성에 대해 눈을 뜨게 되었습니다.&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 리버스 엔지니어링 분야의 진로에 대해서 소개해 주시겠어요?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;최근에는 국내 기준으로 보안업체, 게임업체, 게임퍼블리싱업체, 대기업/금융업, 국가 행정 부서, 국가 연구 기관 등이 있습니다.&amp;nbsp;리버스 엔지니어로써 파일을 상세 분석하는 업무를 하시려면 보안업체, 게임업체, 사이버수사대 등을 고려하시면 될 것입니다.&amp;nbsp;각 업체별로 다양한 업무 직군으로 세분화되기 때문에 사전에 자신이 원하는 분야의 일을 맡을 수 있을지 확인하셔야 겠지요.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;참고로 하드웨어 분야(자동차, 모바일, 반도체, 기타)에서는 리버스 엔지니어링의 역사가 오래 되었습니다. 경쟁사에서 신제품을 출시하면 바로 구입하여 상세 분석에 들어갑니다. 치수를 측정하고, 재질을 조사하고, 회로 기판 구조를 파악하는 등의 작업을 하지요.&amp;nbsp;기구의 설계 관점과 제품의 성능 관점에서 다양한 분석과 테스트가 이루어 집니다.&amp;nbsp;소위 말해서 벤치 마킹 작업입니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;향후 소프트웨어 분야에서도 전문 리버스 엔지니어가 이런 식의 벤치 마킹 업무를&amp;nbsp;수행하지 않을까 조심스레 예상해 봅니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 책 얘기로 돌아가서요, 책 출시 후 반응은 어떻습니까?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;너무나 감사하게도 반응이 좋습니다.&amp;nbsp;인상 깊었던 점은 비슷한 시기에 출시된 리버싱, 디지털 포렌직, 해킹 관련 보안 서적들이 골고루 판매 순위 상위권에 자리잡고 있다는 것입니다.&amp;nbsp;아마 국내에서도 리버싱, 해킹, 보안에 관한 관심이 그만큼 커진게 아닐까 하고 생각해 봅니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;기술서적의 저자들은 자신들이 가장 자신있는 부분에 대해서 아주 자세하고&amp;nbsp;쓰게 됩니다.&amp;nbsp;따라서 책마다 저자들의 강점과 개성이 녹아있을 수 밖에 없습니다.&amp;nbsp;앞으로 더 다양한 리버스 엔지니어링 기술 서적들이 출시되어&amp;nbsp;전반적인 리버싱 기술 수준이 올라가길 희망합니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 이 책의 장점에 대해서 알려주시죠.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;장점으로는 앞에서 소개한&amp;nbsp;쉬운 설명,&amp;nbsp;기술 동작 원리의 이해에 초점, 독자의&amp;nbsp;흥미와 도전 욕구를 자극하는 것입니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;추가적인 장점과 특징에 대해 알고 싶으시다면 책의&amp;nbsp;서문을 참고하시면 될 것 같습니다.&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;a href=&quot;http://www.reversecore.com/106&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;[리버싱 핵심 원리] 서문&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 책의 세부 내용에 대해서 좀 더 구체적으로 알려주실 수 있을까요?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;좀 더 정리해서 다음 포스팅에 올릴께요~&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 기술 서적을 집필하면서 여러가지 에피소드가 많았을것 같은데요. 몇 가지만 소개해 주시겠어요?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;어쨌든 집필 과정,&amp;nbsp;에피소드, 시행착오 등에 대해서 한번은 정리하고 싶었는데요.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;이것도 따로 올리는게 좋겠네요... ^^&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 인터뷰에 응해주셔서 감사합니다. 저자님의 향후 계획은 어떠신지요?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&quot;리버싱 핵심 원리&quot;의 AS (질문/답변)를 하면서 계속 지켜보고 싶습니다.&amp;nbsp;이 책은 제가 쓰긴 했지만 이제 정식으로 출시되어 제 손을 떠나 독자님들의 손으로 보내어졌습니다.&amp;nbsp;&lt;span style=&quot;color: rgb(9, 0, 255); &quot;&gt;&lt;b&gt;앞으로 독자님들에 의해서 얼마나 흥미진진한 일이 펼쳐지게 될지 저자로서 너무 궁금하고 설레입니다.&lt;/b&gt;&lt;/span&gt;&amp;nbsp;(마치 책이 살아서 움직이며 자신의 운명을 개척해 나가는 것처럼 생각됩니다. ^^)&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;그리고 ReverseCore 블로그에 새로운 컨텐츠를 올릴 예정입니다.&amp;nbsp;일단 hxdhook 연재를 잘 마무리하고, 그 다음에는 64bit API 후킹에 대해 다뤄볼 생각입니다.&amp;nbsp;그 이후는 바이러스 파일 분석이 될지, 다이알로그 리소스 패치가 될지 아직 결정하지 않았습니다.&amp;nbsp;(둘 다 너무 재미있는 주제입니다~ ^^)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(31, 175, 218); color: rgb(255, 255, 255); &quot;&gt;- 마지막으로 리버스 엔지니어를 목표로 열심히 공부하시는&amp;nbsp;독자분들께 한 말씀 해주세요~&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em; &quot;&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;초반에 어려움을 느끼시는 분들께 이야기를 하나 들려드릴께요~ ^^&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;정지 마찰력(static friction)&lt;/span&gt;과&amp;nbsp;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;운동 마찰력(kinetic friction)&lt;/span&gt;의 얘기입니다.&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;정지한 물체를 밀어서 움직이게 하려면 처음에는 높은 저항력(정지 마찰력)때문에 힘이 많이 듭니다.&amp;nbsp;그런데 일단 물체가 '움찔'하고 움직이기 시작하면 그때부터 저항력(운동 마찰력)은 많이 낮아지면서 훨씬 수월하게 밀고 갈 수 있습니다. (주차장에서&amp;nbsp;차를 밀어본 경험이 있으시다면 금방 이해하실 겁니다. ^^*)&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;즉, &lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;정지 마찰력 &amp;gt; 운동 마찰력&amp;nbsp;&lt;/span&gt;&lt;/b&gt;의 관계가 성립합니다.&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 4em; &quot;&gt;Wiki : &lt;a href=&quot;http://ko.wikipedia.org/wiki/%EB%A7%88%EC%B0%B0%EB%A0%A5&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;마찰력&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 4em; &quot;&gt;Google 이미지 검색 : &lt;a href=&quot;https://www.google.co.kr/search?q=%EC%A0%95%EC%A7%80%EB%A7%88%EC%B0%B0%EB%A0%A5&amp;amp;hl=ko&amp;amp;newwindow=1&amp;amp;prmd=imvnsul&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=U_Z6UPP4FK6TiAe43IHQAw&amp;amp;ved=0CAcQ_AUoAQ&amp;amp;biw=1366&amp;amp;bih=653#hl=ko&amp;amp;newwindow=1&amp;amp;tbm=isch&amp;amp;sa=1&amp;amp;q=%EC%A0%95%EC%A7%80+%EB%A7%88%EC%B0%B0%EB%A0%A5&amp;amp;oq=%EC%A0%95%EC%A7%80+%EB%A7%88%EC%B0%B0%EB%A0%A5&amp;amp;gs_l=img.3..0i24.11819.11819.2.12113.1.0.0.1.1.0.0.0..0.0...0.0...1c.1.lHrsa8czB_w&amp;amp;pbx=1&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&amp;amp;fp=89666443ec0cfeee&amp;amp;bpcl=35277026&amp;amp;biw=1366&amp;amp;bih=653&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;정지 마찰력&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;뭐든지 마찬가지라고 생각합니다.&amp;nbsp;처음에는 힘들지만 일단 시작하고 나면 탄력을 받아 일이 쉬워집니다. &quot;시작이 반이다&quot; 라는 속담은 정말 정확한 표현이었던거죠.&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;리버스 엔지니어링도 마찬가지입니다.&amp;nbsp;처음에는 힘들지만 그 정지마찰력 시기를 잘 넘기고 운동마찰력 영역으로 들어가면 속도가 붙고 재미도 생깁니다.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 2em; &quot;&gt;저도 똑같이 그 과정을 거쳐왔답니다. 그러니 모두들 용기를 내세요~ ^^*&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(255, 228, 0); color: rgb(0, 85, 255); &quot;&gt;ReverseCore&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>frhed</category>
      <category>kinetic friction</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>Reversing</category>
      <category>static friction</category>
      <category>리버스 엔지니어링</category>
      <category>리버스코어</category>
      <category>리버싱</category>
      <category>리버싱 핵심 원리</category>
      <category>벤치 마킹</category>
      <category>운동 마찰력</category>
      <category>인터뷰</category>
      <category>정지 마찰력</category>
      <category>패치</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/109</guid>
      <comments>https://reversecore.tistory.com/109#entry109comment</comments>
      <pubDate>Mon, 15 Oct 2012 00:42:41 +0900</pubDate>
    </item>
    <item>
      <title>[리버싱 핵심 원리] 질문 &amp;amp; 답변 게시판 입니다.</title>
      <link>https://reversecore.tistory.com/108</link>
      <description>&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px; &quot;&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255); &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255); &quot;&gt;[리버싱 핵심 원리] &lt;/span&gt;&lt;/b&gt;질문과 답변 게시판 입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;책에 관하여 궁금하신 점이 있으시면 &lt;b&gt;&lt;span style=&quot;background-color: rgb(250, 237, 125); &quot;&gt;댓글&lt;/span&gt;&lt;/b&gt;로 질문을 올려주시기 바랍니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다른 사람들의 질문에 대해 답변을 달아주셔도 되고요, 남들과&amp;nbsp;다른 해결 방법이 있으신 경우 공유해 주시면 감사하겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다양한 사람들의 아이디어가 많이 모여 같이 생각하고 발전할 수 있는 기회가 되면 좋겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/q&amp;amp;a</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/108</guid>
      <comments>https://reversecore.tistory.com/108#entry108comment</comments>
      <pubDate>Fri, 12 Oct 2012 23:16:08 +0900</pubDate>
    </item>
    <item>
      <title>64bit 환경에서 OllyDbg 사용할 수 있는 방법</title>
      <link>https://reversecore.tistory.com/107</link>
      <description>&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px; &quot;&gt;&lt;p&gt;&quot;리버싱 핵심 원리&quot; 책의 대부분의 예제는 32bit OS 에서 테스트 되었습니다.&lt;/p&gt;&lt;p&gt;(&quot;5부 - 64비트 &amp;amp; Windows Kernel 6&quot; 의 실습 예제들은 64bit OS 환경이 필요합니다.)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;64bit 환경을 사용하시는 독자님들께서는 아래에 소개되는 내용을 참고하여&amp;nbsp;실습을 진행하시기 바랍니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255); &quot;&gt;OllyDbg 1.1 은 기본적으로 64bit 환경을 지원하지 못합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;책의 디버깅 실습은&amp;nbsp;거의 대부분 OllyDbg 를 이용해서 진행됩니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;그러나 OllyDbg 1.1 은&amp;nbsp;64bit 환경을 지원하지 못합니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 661px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/0161833A5075AC7F03&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F0161833A5075AC7F03&quot; width=&quot;661&quot; height=&quot;519&quot; filename=&quot;ollydbg11_error.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 1.&amp;nbsp;Windows 7 64bit 에서 OllyDbg 1.1 실행시 예외 발생&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;64bit OS 에서 &quot;2장 Hello World 리버싱&quot; 실습 예제 파일 HelloWorld.exe 를 OllyDbg 1.1 로 실행시키면 &amp;lt;그림 1&amp;gt;과 같이 예외가 발생하면서 ntdll.dll 모듈 영역의 코드에서 멈춰버립니다. (이것은 OllyDbg 1.1 의 버그입니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255); &quot;&gt;64bit 환경에서 OllyDbg 사용할 수 있는 2 가지 방법&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;#1.&amp;nbsp;64bit OS&amp;nbsp;+ OllyDbg 2.0&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;OllyDbg 2.0 버전에서는&amp;nbsp;64bit에서 정상 실행 되지 않는 버그가 수정되었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다운로드 링크 :&amp;nbsp;&lt;a href=&quot;http://www.ollydbg.de/odbg200.zip&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.ollydbg.de/odbg200.zip&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;최신 버전 OllyDbg 2.01 beta 2 는 실행 과정에&amp;nbsp;약간의 문제가 있습니다. 문제가 해결될 때까지는 OllyDbg 2.0 을 사용해 주시기 바랍니다.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 링크에서 파일을 다운받아 압축을 해제한 후 실행하면 &amp;lt;그림 2&amp;gt; 와 같은 화면이 나타납니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1150843A5075AC7F14&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1150843A5075AC7F14&quot; width=&quot;640&quot; height=&quot;480&quot; filename=&quot;ollydbg20_helloworld.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 2 -&amp;nbsp;Windows 7 64bit 에서&amp;nbsp;OllyDbg 2.0 으로 HelloWorld.exe 를 띄운 화면&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;그림 2&amp;gt;의 화면을 책의 &lt;i&gt;&amp;lt;그림 2.3&amp;gt;&lt;/i&gt; 처럼 보이게 하려면 다음과 같이 작업해 주시면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px; &quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1) 내부의 CPU 윈도우를 최대화 시킵니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2) Code/Register/Dump/Stack Window 의 폰트를 변경합니다.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;(각각의 창에서 마우스 우측 메뉴 - Appearance - Font - System fixed font 메뉴 선택)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3) Code Window 의 Highlighting 을 변경합니다. (디스어셈블리 코드의 가독성이 좋아집니다.)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;(마우스 우측 메뉴 - Appearance -&amp;nbsp;Highlighting&amp;nbsp;- Jumps and calls&amp;nbsp;메뉴 선택)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4) OllyDbg 2.0 의 창 크기를 적절히 조절합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;OllyDbg 2.0 버전의 GUI 는 1.1 버전과 거의 차이가 없습니다. 이제부터 디버깅 실습을 진행하시면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;#2. 64bit OS + OllyDbg 1.1 + &quot;Olly Advanced&quot; PlugIn&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;OllyDbg 2.0 이 발표된 후에도 OllyDbg 1.1 버전이 꾸준히 사랑받는 이유는 바로 다양한 플러그인(PlugIn) 때문입니다. 특히 안티 디버깅이 적용된 PE 프로텍터를 디버깅 할 때 다양한 플러그인은 유용하게 사용됩니다. (최근에는 OllyDbg 2.x 용 플러그인도 많이 개발되고 있습니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;64bit OS 에서도 &quot;Olly Advanced&quot; 플러그인을 적용하면 OllyDbg 1.1 버전을 사용할 수 있습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/0110DB355075B74710&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;Olly Advanced v1.27.rar&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다운로드 링크 :&amp;nbsp;&lt;a href=&quot;http://tuts4you.com/request.php?75&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://tuts4you.com/request.php?75&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Olly Advanced 플러그인은 OllyDbg 의 버그 패치, 다양한 안티 디버깅에 대한 방어 기능을 지원합니다. Olly Script 플러그인과 함께 가장 유명하고 사용자가 많은&amp;nbsp;플러그인 입니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Olly Advanced&amp;nbsp;플러그인 설치 방법은 다음과 같습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px; &quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1) 다운 받은 Olly Advanced v1.27.rar 파일의 압축을 해제하면 advancedolly.dll 플러그인 파일이 생성됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2) OllyDbg 1.1 설치 폴더에 advancedolly.dll 파일을 복사합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 508px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1629BC395075BA511E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1629BC395075BA511E&quot; width=&quot;508&quot; height=&quot;449&quot; filename=&quot;ollydbg11_folder.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 3 - advancedolly.dll 파일 복사&amp;gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;3) Olly Advanced 플러그인의 옵션 메뉴를 선택합니다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/154DAF4D5075BC8309&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F154DAF4D5075BC8309&quot; width=&quot;640&quot; height=&quot;149&quot; filename=&quot;ollyadvanced_option.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 4 - Plugins - Olly Advanced - Options 메뉴 항목&amp;gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;4) Olly Advanced 옵션 다이알로그에서 &quot;x64 Compatiblity-mode (single-step)&quot; 항목을 체크합니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 261px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/147D454C5075BD770E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F147D454C5075BD770E&quot; width=&quot;261&quot; height=&quot;484&quot; filename=&quot;ollyadvanced_option_dlg.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 5 -&amp;nbsp;&lt;/span&gt;x64 Compatiblity-mode (single-step) 항목 체크&amp;gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;5) 이제 64bit OS 환경에서 OllyDbg 1.1 을 사용할 수 있습니다. HelloWorld.exe 실습 파일을 올려 보시기 바랍니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;참고로 OllyDbg 의 플러그인들은 보통 자체 버그들이 있어서 디버깅할 때 OllyDbg 가 종료될 때가 있습니다. 그리고 기능을 잘 모르는 플러그인을 많이 설치하면 생각지도 않은 오동작을 할 때가 있기 때문에 주의 하시기 바랍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(254, 137, 67); background-color: rgb(254, 222, 199); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- 책의 실습 예제 파일들은 32bit OS 환경에서 실습 하시는 것을 권장합니다. (5부 실습 예제들은 64bit 환경만 가능)&lt;/p&gt;&lt;p&gt;- 위에 소개된 방법처럼 64bit 환경에서 디버깅 실습을 진행하실 때 책의 내용과&amp;nbsp;약간 다르게 동작할 수도 있습니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/107</guid>
      <comments>https://reversecore.tistory.com/107#entry107comment</comments>
      <pubDate>Thu, 11 Oct 2012 00:57:34 +0900</pubDate>
    </item>
    <item>
      <title>리버싱 핵심 원리 - 서문</title>
      <link>https://reversecore.tistory.com/106</link>
      <description>&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px; &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b style=&quot;font-size: 19px; line-height: 27px; color: rgb(0, 85, 255); &quot;&gt;즐겁고 신나는 리버스 엔지니어링&amp;nbsp;세계를 여행하기 위한 가이드!&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;소프트웨어 리버스 엔지니어링이란 응용 프로그램의 내부 구조와 동작 원리를 탐구하는 기술입니다.&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;신기한 모험과 흥미로운 도전 과제들로 가득한 리버스 엔지니어링의 길로 들어선 독자 여러분을 환영합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;리버싱을 잘 하면 프로그램의 속을 훤히 들여다 볼 수 있습니다. 자신이 만든 프로그램도 아니고 소스 코드조차 없는 상태에서 말이죠. 리버싱 기술을 잘 활용하면 개발/테스트 단계에서 미처 발견하지 못한 버그나 취약점을 파악할 수 있고, 파일이나 메모리를 직접 수정(패치)하여 문제를 해결할 수 있습니다. 그리고 더 나아가서 전혀 새로운 기능을 추가시켜 프로그램의 기능을 향상 시킬 수 도 있습니다. 마치 마법과도 같은 멋진 일을 할 수 있는 것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;리버싱 공부를 시작할 때 거창한 사전 준비 같은 건 필요 없습니다.&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이야기를 하나 들려 드리겠습니다. 제가 수 년간 리버싱 블로그를 운영해 오면서 가장 많이 받은 질문은 &lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;“도대체 리버싱을 어떻게 공부해야 하나요?”&lt;/span&gt; 였습니다. 여러 가지 경험담과 실패 사례를 분석해본 결과 리버싱 공부를 실패하는 가장 큰 원인은 공부 자체의 분량이나 어려움이 아니었습니다. 오히려 “전 C언어도 모르는데요?”, “어셈블리를 마스터 해야 하나요?”, “저는 OS 구조를 잘 모릅니다”, “디버거를 사용할 줄 몰라요”, “이 많은 것들을 언제 다 공부하고 본격적인 리버싱 공부를 시작하죠?” 와 같은 막연한 두려움과 걱정 때문에 중도에 포기하는 것이 주요한 실패 원인이었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;본격적인 리버싱 공부는 C언어, 어셈블리, OS구조, 디버거 사용법등을 공부한다는 것과 같습니다. 이런 것들을 이미 알고 있는 사람은 리버싱 입문 과정이 필요 없습니다. 이미 리버싱 전문가라는 뜻이니까요. &lt;u&gt;아직 리버싱에 대해 알고 있는 게 하나도 없다구요? 실망하지 마세요. 오히려 참 좋은 일입니다. 바꿔 말하자면 앞으로 머릿속에 입력될 지식이 많다는 뜻입니다. 지금보다 더 똑똑해지고, 더 가치 있는 사람이 될 테니 참 좋은 일이라고 할 수 있습니다.&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;이 책은 리버스 엔지니어를 꿈꾸는 리버싱 입문자들과 리버싱 기술에 흥미를 갖고 있는 개발자 등을 위하여 쓰여졌습니다.&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;리버싱 기술들을 단순히 공식처럼 외우기만 해서는 필요한 순간에 제대로 응용 할 수 없습니다. 관련 지식을 얻고 &lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;내부 동작 원리를 이해&lt;/span&gt;하는 것이야말로 가장 중요합니다. &amp;nbsp;따라서 동작 원리를 설명하고 이해 시키는 데에 주안점을 두었습니다. &lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&lt;u&gt;그럼 이 책이 왜 리버스 엔지니어링 입문서로 적합한지 제 소개를 곁들여서 설명해보도록 하겠습니다.&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;첫 째는 개발과 분석 경험입니다.&lt;/u&gt; 보통 리버스 엔지니어는 업무 과정에서 전문적인 리버싱 실력뿐만 아니라 어느 정도의 개발 실력도 갖추게 됩니다. 저는 네트워크 어플리케이션 개발자로 일하다가 악성 코드 분석 업무를 맡으면서 리버싱 기술을 익히게 되었습니다. 즉 전문 개발자에서 전문 리버서로 &amp;nbsp;전향한 흔치 않은 케이스입니다. 이 두 기술은 그야말로 찰떡궁합처럼 상호 발전하고 보완하면서 기가 막힌 콤비 플레이를 보여줍니다. 평소에 이 둘을 양 날개에 비유하며 다양한 업무에 활용해 왔습니다. 따라서 자연스럽게 개발과 리버싱이라는 두 가지의 관점으로 프로그램을 분석하게 되었습니다. 이 책의 거의 모든 실습 예제는 리버싱 과정에서 얻은 지식과 노하우를 가지고 제가 직접 개발한 것으로서 군더더기 없이 각 장의 주제만을 집중해서 보여줍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;둘 째는 교육 및 발표 경험입니다.&lt;/u&gt; 회사에서 고참 직원이 되면서 점점 사내 교육/세미나, 외부 발표 기회가 많아졌습니다. 리버싱 입문자들에게 직접 리버싱 교육을 시키면서 그들의 어려움과 궁금증을 잘 파악할 수 있는 계기가 되었지요. 나름대로 어떻게 하면 쉽게 설명할 수 있을지 고민하면서 자연스레 리버싱 입문자를 위한 교육 노하우를 쌓을 수 있었습니다. 이 경험이 책의 구성, 내용, 예제 등 전반에 걸쳐 큰 영향을 끼쳐서 어려운 리버싱 기술을 비교적 쉽게 이해할 수 있도록 설명할 수 있었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;셋 째는 다양한 커뮤니케이션 경험입니다.&lt;/u&gt; 몇 년 전부터 리버싱 전문 블로그를 운영하고 있습니다. 처음에는 제가 보유한 리버싱 기술의 정리 차원에서 가볍게 시작하였습니다. 그런데 방문객들이 조금씩 늘어 나면서 여러 가지 다양한 질문들이 올라오기 시작했습니다. 전 사실 이때 좀 놀랐습니다. 그 동안 우리나라는 리버싱의 불모지라고 여겼었는데 생각보다 많은 사람들이 관심을 보였고 관심 범위가 매우 다양했습니다. 그러면서 시야가 밖으로 넓어지는 계기가 되었습니다. 다른 리버싱 블로그도 방문하고 다양한 사람들의 글과 질문을 접하면서 그들의 관심사를 알 수 있게 되었는데요. 리버싱 입문자들은 체계적인 학습 방법을 알고 싶어 했습니다. 그리고 입문 과정을 지난 사람들은 좀 더 전문적인 리버싱 기술과 내부 동작 원리에 목 말라 하고 있었습니다. 블로그 활동을 어느 정도 한 이후부터는 체계적인 학습도구로서 기술 서적 집필을 고려하게 되었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;결과적으로 저의 이러한 리버싱과 개발, 교육/발표, 다양한 커뮤니케이션 경험을 기반으로 하여 리버싱 입문 서적을 완성하게 되었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;독자 여러분께 이 책을 이용한 리버싱 학습 방법에 대한 팁을 소개해 드리겠습니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;첫째, 기술 서적은 책꽂이를 예쁘게 장식하는 용도가 아닙니다.&lt;/u&gt; 여러분의 기술력을 향상 시키기 위한 하나의 도구입니다. 따라서 책의 중요 부분에 밑줄을 팍팍 긋고, 여백에다가 여러분 자신의 생각과 느낌 등을 적어보시기 바랍니다. 연관된 기술, 주의 사항, 기술의 장단점, 저자와 다른 여러분 자신만의 아이디어 등을 신나게 기록하면서 여러분만의 책으로 만들어 보세요. 이런 리버싱 기술 서적을 한 권씩 독파하다 보면 어느 순간 여러분만의 독자적인 리버싱 세계를 구축하면서 리버싱 전문가가 될 수 있답니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;둘째, 긍정적이고 여유 있는 마음 자세를 가지세요.&lt;/u&gt; 리버싱은 OS 의 가장 밑바닥까지 내려가는 심오한 기술입니다. 공부할 내용이 많고 그 특성상 대부분의 내용이 직접 실습하고 눈으로 확인해야만 이해 되는 경우가 많습니다. 이러한 과정을 긍적적인 마음으로 즐기시기 바랍니다. 그리고 리버싱 공부는 얼마나 머리가 좋은지가 아니라 얼마나 시간을 투자했는지가 더 중요합니다. 조급해 하지 말고 여유 있는 느긋한 마음 자세로 공부를 해나가시기 바랍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;셋째, 계속 도전하세요.&lt;/u&gt; 리버싱이 잘 안될 때는 멈추지 말고 다양한 방법으로 계속 시도해 보시기 바랍니다. 분명히 해결 방법은 존재합니다. 이미 몇 년 전에 누군가 성공시킨 일입니다. 관련 자료를 검색하고 다양하게 시도하면 자신의 실력도 향상될 뿐 아니라 문제가 해결되었을 때 엄청난 성취감을 느낄 수 있습니다. 이러한 성공 경험이 하나씩 쌓이면서 자신감이 생기고 리버싱 실력은 눈부시게 향상됩니다. 또한 경험을 통해 얻은 자신감은 무의식적으로 업무에 영향을 끼쳐서 일이 잘 풀리는 방향으로 나아가게 합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;이 책을 통하여 독자 분들의 위시 리스트가 하나씩 이루어 지고, 리버싱 기술이 다양한 IT 분야에서 널리 활용되기를 바랍니다. 감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: right; &quot;&gt;이 승 원&lt;/p&gt;&lt;p style=&quot;text-align: right; &quot;&gt;www.reversecore.com&lt;/p&gt;&lt;p style=&quot;text-align: right; &quot;&gt;reversecore@gmail.com&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/106</guid>
      <comments>https://reversecore.tistory.com/106#entry106comment</comments>
      <pubDate>Wed, 10 Oct 2012 00:50:47 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;리버싱 핵심 원리&amp;quot; 소스 코드와 실습 예제 파일입니다.</title>
      <link>https://reversecore.tistory.com/104</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 842px;&quot;&gt;(2021.07.08) github.com 에도 제 계정을 생성하여 소스코드 및 실습예제를 올렸습니다.&lt;br /&gt;github 에 익숙하신 분들께서는 이곳을 이용하시면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/reversecore/book&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/reversecore/book&lt;/a&gt;&lt;br /&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;996&quot; data-origin-height=&quot;815&quot; width=&quot;600&quot; height=&quot;491&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;a href=&quot;https://github.com/reversecore/book&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnkM3A/btq872W0064/GfVnSpGl7SjVwetYdXwjyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnkM3A%2Fbtq872W0064%2FGfVnSpGl7SjVwetYdXwjyK%2Fimg.png&quot; data-origin-width=&quot;996&quot; data-origin-height=&quot;815&quot; width=&quot;600&quot; height=&quot;491&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #4174d9;&quot;&gt;1. 소스 코드 (ver 1.0.2)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/buCuJU/btq2OpiKoTz/JIIGkCcw1xjLtsDt4yV5dk/%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;소스코드.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.25MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;

&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 암호 : reversecore&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;lt; 릴리즈 히스토리 &amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;ver 1.0.2 - &quot;44장 InjDll.exe - DLL 인젝션 전용 도구&quot; InjDll.cpp 오류 수정 (20121110)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;ver 1.0.1&lt;/span&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;&amp;nbsp;- &quot;&lt;/span&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;33장 스텔스 프로세스&quot; 프로젝트 소스 보기 오류 수정 (&lt;/span&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;20121008)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;ver 1.0.0 - 첫 릴리즈&lt;/span&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;&amp;nbsp;(20120928)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;&amp;lt; 참고 &amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;* 모든 소스 코드는 MS Visual C++ Express 2010 으로 개발되었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #050099;&quot;&gt;* 소스 코드를 이용하여 빌드한 결과 파일은 사용자 환경에 따라 약간씩 달라질 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099; text-align: center;&quot;&gt;&lt;b&gt;* 책의 설명과 동일하게 디버깅 하기 위해서는 첨부한 예제 파일을 사용하시기 바랍니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: #4174d9;&quot;&gt;2. 실습 예제 파일 (ver 1.0.1)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/OlmCf/btq2MoFqIR3/Nbby5zqhpNSdbGP3HPfTu1/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C_2%EC%A4%91%EC%95%95%EC%B6%95.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;실습예제_2중압축.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;6.37MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 2중 압축 되어 있습니다. (압축 풀면 실습예제.zip 이 생성됩니다. 이를 다시 압축 해제 해주세요.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* 암호 : reversecore&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;lt; 릴리즈 히스토리 &amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; color: #ff0000; font-family: Dotum, 돋움;&quot;&gt;ver 1.0.1&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; color: #ff0000; font-family: Dotum, 돋움;&quot;&gt;&amp;nbsp;- &quot;1&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; color: #ff0000; font-family: Dotum, 돋움;&quot;&gt;장 리버싱 스토리&quot; 예제 변경 (&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; color: #ff0000; font-family: Dotum, 돋움;&quot;&gt;20130401)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;ver 1.0.0 - 첫 릴리즈&lt;/span&gt;&lt;span style=&quot;color: #ff0000; font-size: 9pt; font-family: Dotum, 돋움;&quot;&gt;&amp;nbsp;(20120928)&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;&amp;lt; 참고 &amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;* &quot;실습예제.zip&quot; 파일은&amp;nbsp;Anti-Virus 제품의 실시간 검사를 피하기 위하여 2중 압축 되어 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;* &quot;5부 - 64비트&amp;nbsp;&amp;amp; Windows Kernel 6&quot; 의 실습 예제 파일을 실습 하기 위해서는 Windows XP/Vista/7 64bit 환경이 필요합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #050099;&quot;&gt;* 5부&lt;/span&gt;&lt;span style=&quot;color: #050099;&quot;&gt;를 제외한 나머지&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #050099;&quot;&gt;모든 실습 예제 파일은 MS Windows XP SP3 32bit &amp;amp; Windows 7 32bit 에서 테스트 되었습니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;* 만약 64bit 환경에서 실습을 진행하기 위해서는 다음 포스팅에 나타난 방법을 참고하시기 바랍니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style=&quot;color: #050099;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;a class=&quot;tx-link&quot; href=&quot;http://www.reversecore.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;64bit 환경에서 OllyDbg 사용할 수 있는 방법&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;* 중요!!!&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;일부 Anti-Virus 제품에서 실습 예제 파일의 일부가 악성 파일로 진단될 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;u&gt;그 이유는 예제에서 사용된 기법들이 기존의 악성 파일에서 사용된 기법과 동일하기 때문에 AV 휴리스틱 엔진에서 그 부분을 탐지하여&amp;nbsp;악성 파일로 잘 못 진단할 수 있기 때문입니다.&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;전혀 악성 파일이 아니므로 아래 설명을 잘 읽어 보시고 실습해 보시기 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;1) UPack 패커와 UPack 으로 패킹된 실습 예제가 진단될 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;이는 패커 자체가 PE 헤더를 심하게 훼손시켜서 Black 리스트에 포함되었고,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;또한&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;몇 년전에 많은 악성 코드들이 UPack 으로 실행압축 되었기 때문에&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;이젠 대부분의 AV 에서 UPack 자체만으로도 악성 파일로 진단해 버립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;그렇다고 UPack 자체와&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;nbsp;이걸로 패킹된 실습 예제가 악성 파일은 아닙니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;다만 리버싱 기술 설명을 위해&amp;nbsp;AV 업계의 권고사항을 따르지 않은것 뿐입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;PE 파일 설명에 UPack 만큼 좋은 예제가 드물기 때문에 이런 불편함에도 예제로 사용하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;2) '고급 리버싱', '안티 디버깅' 예제 일부가 악성 파일로 진단될 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;이 예제 파일 역시 악성 파일에서 사용되는 것과&amp;nbsp;동일한 기법을 사용했기 때문에&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;AV 휴리스틱 엔진에서 그 부분을 탐지한 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;span style=&quot;color: #ff0000;&quot;&gt;실습 파일 자체는 아무런 악성 행위를 하지 않는 정상 파일입니다.&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;br /&gt;3) 시간이 지난 후에 멀쩡한 예제 파일들이 악성으로 진단될 수 있습니다.&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;예제 파일이 퍼져서 AV 업체에 접수되어 자동 분류 시스템에 의해 만에 하나 '악성'으로 분류될 수도 있습니다.&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;악성 파일에서 안티 디버깅에 사용되는 SEH, TLS Callback 기법을 구현하였기 때문입니다.&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;이 기법 자체만으로는 아무런 악성 증상이 없습니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;다만 AV 엔진의 휴리스틱 진단에서 이 부분을 탐지 할 가능성이 있다는 것이죠.&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;4) 그렇다면 진짜 악성 파일이란 어떤 것일까요?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;사용자 몰래 시스템에 숨어 들어서, 자동으로 실행 되며, 개인 정보를 무단으로 수집하고, 수집한 정보를 외부로 유출하는 등의 악의적인 행위를 하는 파일들입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;즉, 악성 파일이란 사용자에게 크던 작던 피해를 입히는 파일들을 말하는 것이죠.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;실습 예제 파일들은 &lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;특정 리버싱 기법을 위해 만들어진 단순한 파일들 입니다. 악성 증상은 전혀 없습니다. ^^~&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;5) 실습 환경 PC 에서는 잠시 AV 제품의 &quot;실시간 감시&quot; 기능을 꺼두시기 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;물론 실습을 마치셨다면 실시간 감시를 다시 켜주시는 것이 좋습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;6) Windows 7 에서 실습을 하시는 경우 UAC(User Access Control) 기능을 끄고 하시면 편리합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;혹시 다운로드가 잘 안되거나 AV 진단 관련하여 궁금하신 점은 이곳에 질문해 주세요~&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>리버싱 핵심 원리/실습예제 및 소스코드</category>
      <category>it</category>
      <category>MS Visual C++</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>Reversing</category>
      <category>리버스 엔지니어링</category>
      <category>리버스 코어</category>
      <category>리버싱</category>
      <category>리버싱 핵심 원리</category>
      <category>소스 코드</category>
      <category>소프트웨어</category>
      <category>실습 예제</category>
      <category>역공학</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/104</guid>
      <comments>https://reversecore.tistory.com/104#entry104comment</comments>
      <pubDate>Mon, 1 Oct 2012 22:19:18 +0900</pubDate>
    </item>
    <item>
      <title>﻿&amp;quot;리버싱 핵심 원리&amp;quot;﻿ Errata (정오표)﻿</title>
      <link>https://reversecore.tistory.com/105</link>
      <description>&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: rgb(121,165,228) 1px solid; BORDER-LEFT: rgb(121,165,228) 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(219,232,251); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(121,165,228) 1px solid; BORDER-RIGHT: rgb(121,165,228) 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;B&gt;&quot;리버싱 핵심 원리&quot; Errata (정오표)&lt;/B&gt;&lt;br /&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 36&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;간단히 MessageBoxW 함수의 RETN 명령까지 실행[Ctrl+F9]한 다음, RETN 명령도 실행[F7]하면, 리턴 주소&amp;nbsp;401014로 갈 수 있습니다.&lt;/P&gt;
&lt;P&gt;=&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;MessageBoxW() 함수의 RETN 명령어에 BP 를 설치[F2]한 후 실행[F9]합니다. 도중에 메시지박스가 나타나면 [확인]을 선택합니다. 그리고 RETN 명령어에서 디버깅이 멈추면 StepInto[F7]/StepOut[F8] 명령으로 리턴 주소 401014로 갈 수 있습니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;br /&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 85&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;14장에서 EAX는 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;4&lt;/SPAN&gt;장에서 EAX는&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 152&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;Line nunbers =&amp;gt; Line nu&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;m&lt;/SPAN&gt;bers&lt;/P&gt;
&lt;P&gt;바이트 of machine =&amp;gt; &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;Bytes &lt;/SPAN&gt;of machine&lt;/P&gt;
&lt;P&gt;마지막으로 IMAGE_FILE_HAEDER =&amp;gt;&amp;nbsp;마지막으로 IMAGE_FILE_H&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;EA&lt;/SPAN&gt;DER&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 157&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;빨간색으로 표시한&lt;/SPAN&gt; EXPORT =&amp;gt;&amp;nbsp;EXPORT&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 161&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;코드 13.10&amp;gt;&lt;/P&gt;
&lt;P&gt;Section is writ&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;e&lt;/SPAN&gt;able =&amp;gt;&amp;nbsp;Section is writable&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 164&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;각각의 RVA를 계산해보세요 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; BACKGROUND-COLOR: transparent; FONT-SIZE: 9pt&quot;&gt;각각의 &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;RAW(File Offset)&lt;/SPAN&gt;를 계산해보세요&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 164&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;그림 13.9&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;lt;File&amp;gt; 에서&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;Section(&quot;.text&quot;) 생략됨&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 165&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(0,0,0)&quot;&gt;Q3. RVA = ABA8일 때 File Offset = ?&lt;/SPAN&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;A2. 해당 RVA 값이 속해 있는 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; BACKGROUND-COLOR: transparent; FONT-SIZE: 9pt&quot;&gt;A&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;3&lt;/SPAN&gt;. 해당 RVA 값이 속해 있는&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 170&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;그림 13.11 IAT&amp;gt;&lt;/P&gt;
&lt;P&gt;이 테이블은 PE 로더를 덮어씁니다. =&amp;gt; 이 테이블은 PE &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;로더에 의해서 덮어써집&lt;/SPAN&gt;니다.&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 178&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;표 13.8 notepad.exe 파일의 DataDirectory 배열 &amp;nbsp;=&amp;gt; &amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; BACKGROUND-COLOR: transparent; FONT-SIZE: 9pt&quot;&gt;표 13.8 &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;kernel32.dll&lt;/SPAN&gt; 파일의 DataDirectory 배열&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 178&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;코드 13.14&amp;gt;&lt;/P&gt;
&lt;P&gt;address of functino name string array =&amp;gt;&amp;nbsp;address of functi&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;on&lt;/SPAN&gt; name string array&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 179&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;표 13.9 내부&amp;gt;&lt;/P&gt;
&lt;P&gt;Ordinal &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;주소 &lt;/SPAN&gt;배열 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; BACKGROUND-COLOR: transparent; FONT-SIZE: 9pt&quot;&gt;Ordinal 배열&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 181&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;앞서 소개한 코드 13.15의 =&amp;gt; 앞서 소개한 &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;GetProcAddress() 동작 원리&lt;/SPAN&gt;의&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 182&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;RVA:4424 -&amp;gt; RVA:3824 =&amp;gt;&amp;nbsp;RVA:4424 -&amp;gt; &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;RAW&lt;/SPAN&gt;:3824&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 183&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;RVA:2654 -&amp;gt; RVA:1A54 =&amp;gt;&amp;nbsp;RVA:2654 -&amp;gt; &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;RAW&lt;/SPAN&gt;:1A54&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 188&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;1000d(400h)바이트라면 =&amp;gt;&amp;nbsp;1000d(&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;3E8&lt;/SPAN&gt;h)바이트라면&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 200&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;그림 14.&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;1&lt;/SPAN&gt;3은 =&amp;gt; 그림 14.3은&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 201&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;실&lt;/SPAN&gt;실행되는 순간에 =&amp;gt;&amp;nbsp;실행되는 순간에&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 207&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;EDI 레지스터가 가리키는 =&amp;gt;&amp;nbsp;ED&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;X&lt;/SPAN&gt; 레지스터가 가리키는&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 211&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;그림 15.4가 바로 OEP로 =&amp;gt;&amp;nbsp;그림 15.&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;9&lt;/SPAN&gt;가 바로 OEP로&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 215&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;그림 16.1&amp;gt; &amp;nbsp;TEXT.EXE &amp;nbsp;=&amp;gt; TE&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;S&lt;/SPAN&gt;T.EXE&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 563px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/252D4150547A606814&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F252D4150547A606814&quot; width=&quot;563&quot; height=&quot;451&quot; filename=&quot;16_01.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 223&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;VirtualSize(1000) + Offset(420) = 1420(RVA) &amp;nbsp;=&amp;gt; &amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;Virtual&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;Address&lt;/SPAN&gt;(1000) + Offset(420) = 1420(RVA)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 249&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;그림 18.18&amp;gt;&lt;/P&gt;
&lt;P&gt;01014000 =&amp;gt; 0101&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;5&lt;/SPAN&gt;000&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 253&amp;nbsp;&amp;nbsp;(3쇄오류) &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;3쇄에서 &amp;lt;그림 18.24&amp;gt; 이 완전 잘 못 되었습니다. 아래 그림이 정확합니다.&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 609px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/27729C3A53931F3217&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F27729C3A53931F3217&quot; width=&quot;609&quot; height=&quot;82&quot; filename=&quot;25.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 273&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;OEP(40120.)로 갑니다. =&amp;gt;&amp;nbsp;OEP(4012&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;1E&lt;/SPAN&gt;)로 갑니다.&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;OR&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;OEP(40120E)로 갑니다. =&amp;gt;&amp;nbsp;OEP(4012&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;1&lt;SPAN style=&quot;COLOR: rgb(0,0,0)&quot;&gt;E&lt;/SPAN&gt;&lt;/SPAN&gt;)로 갑니다.&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 277&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;그림 20.13&amp;gt; 에서 &quot;momory&quot; =&amp;gt; &quot;m&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;e&lt;/SPAN&gt;mory&quot;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 507px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2452843953931DC52C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2452843953931DC52C&quot; width=&quot;507&quot; height=&quot;277&quot; filename=&quot;13.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 281&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;JMP OEP(40120E) 명령을 =&amp;gt;&amp;nbsp;JMP OEP(4012&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;1&lt;/SPAN&gt;E) 명령을&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 296&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;코드 21.2&amp;gt; 내부의 KeyboardProc() 함수 내부 if ( nCode = 0 ) =&amp;gt; if ( nCode &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;=&lt;/SPAN&gt; 0 )&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 301&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;401006 주소에서 LoadLibrary(KeyHook.dl) =&amp;gt;&amp;nbsp;401006 주소에서 LoadLibrary(&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&quot;&lt;/SPAN&gt;KeyHook.dl&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;l&quot;&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 322&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;메모리에 szDllName 크기만큼 =&amp;gt;&amp;nbsp;메모리에 szDll&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;Path&lt;/SPAN&gt; 크기만큼&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 384&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;그림 27.2 오류!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 525px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/161E7A4950B0F0002B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F161E7A4950B0F0002B&quot; width=&quot;525&quot; height=&quot;64&quot; filename=&quot;02.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;그림 27.2 ThreadProc()&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 422&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[3&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;ESI 레지스터는 그림 28.28에서 보다시피 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;ESI 레지스터는 그림 28.&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;31&lt;/SPAN&gt;에서 보다시피&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 423&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[3&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;함수의 리턴 값은 EAX에 저장되므로 위 그림을 보면 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;함수의 리턴 값은 EAX에 저장되므로 &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;그림 28.32&lt;/SPAN&gt;을 보면&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 502&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[3&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;보기 옵션을 'Integer Address'로 변경하면 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;보기 옵션을 '&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;Long -&lt;/SPAN&gt; Address'로 변경하면&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 523&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;XXXXXXXX = (DWORD)pfnNew - (DWORD)pfnOrg - 5 =&amp;gt; &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;//&amp;nbsp;&lt;/SPAN&gt;XXXXXXXX = (DWORD)pfnNew - (DWORD)pfnOrg - 5&lt;/P&gt;
&lt;P&gt;dwAddress =&amp;nbsp;(DWORD)pfnNew-(DWORD)pfnOrg 5 =&amp;gt;&amp;nbsp;dwAddress =&amp;nbsp;(DWORD)pfnNew - (DWORD)pfnOrg &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;-&lt;/SPAN&gt; 5&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 573&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;NewInternetConnetcW() 함수의 코드 =&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; BACKGROUND-COLOR: transparent; FONT-SIZE: 9pt&quot;&gt;NewInternetConne&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;ct&lt;/SPAN&gt;W() 함수의 코드&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 615&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;그림 38.1&amp;gt;&amp;nbsp;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; BACKGROUND-COLOR: transparent; FONT-SIZE: 9pt&quot;&gt;우측 하단의 &quot;이 테이블은 PE 로더를 덮어씁니다.&quot; 설명이 잘못되었습니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&quot;이 테이블은 PE 로더에 의해 덮어써집니다.&quot;&lt;/SPAN&gt; 가 맞습니다.&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 653px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2326173553931C3E34&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2326173553931C3E34&quot; width=&quot;653&quot; height=&quot;394&quot; filename=&quot;01.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 647&amp;nbsp;&amp;nbsp; &lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[4&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;코드 45.1 ASLR.cpp&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &quot;st&lt;B&gt;&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;u&lt;/SPAN&gt;&lt;/B&gt;dio.h&quot; =&amp;gt; #include &quot;stdio.h&quot;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 691&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;코드 45.5 TlsTest.cpp&amp;gt;&lt;/P&gt;
&lt;P&gt;#include windows.h =&amp;gt; #include &lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;lt;&lt;/SPAN&gt;windows.h&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;* 772&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; FONT-SIZE: 9pt&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;[&lt;/SPAN&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 1.5; COLOR: rgb(9,0,255); FONT-SIZE: 9pt&quot;&gt;2쇄에서 수정됨]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;Vol. 2B -&amp;gt; Vol 2&lt;SPAN style=&quot;COLOR: rgb(255,0,0)&quot;&gt;C &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;(Intel Manual 이 업데이트 되었습니다.)&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;/P&gt;</description>
      <category>리버싱 핵심 원리/errata</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/105</guid>
      <comments>https://reversecore.tistory.com/105#entry105comment</comments>
      <pubDate>Mon, 1 Oct 2012 22:18:50 +0900</pubDate>
    </item>
    <item>
      <title>[리버싱 핵심 원리 : 악성 코드 분석가의 리버싱 이야기]</title>
      <link>https://reversecore.tistory.com/103</link>
      <description>&lt;p&gt;저도 오늘 갑자기 편집자님의 메일을 받고 알게 되었네요~ @@~&lt;/p&gt;&lt;p&gt;예약판매 페이지가 떴습니다. ^^&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;[리버싱 핵심 원리 : 악성 코드 분석가의 리버싱 이야기]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;이승원 저&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;인사이트(Insight)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/164BE743504EF69814&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F164BE743504EF69814&quot; width=&quot;700&quot; height=&quot;464&quot; filename=&quot;리버싱핵심원리.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;/p&gt;&lt;p&gt;마음의 준비 없이 갑자기 전해 들은 소식이라... 저도 좀 놀랐습니다...&lt;/p&gt;&lt;p&gt;드디어 나오다니요... 지금 기분을 어떻게 말로 설명할 수 가 없네요~~~ ㅎㅎㅎ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;관심 가져 주시고 응원해 주신 모든 분들께 감사드립니다. ^^~&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/103</guid>
      <comments>https://reversecore.tistory.com/103#entry103comment</comments>
      <pubDate>Tue, 11 Sep 2012 17:35:43 +0900</pubDate>
    </item>
    <item>
      <title>HxD.exe 프로세스에 새로운 기능 추가 (2)</title>
      <link>https://reversecore.tistory.com/101</link>
      <description>&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px; &quot;&gt;&lt;p&gt;어플리케이션 후킹(Application Hooking) 설계(디자인)에 대한 설명입니다. 후킹 방법을 결정하고, 검증하는 과정을 보여드립니다.&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;후킹 방법 결정 - 무엇을? 어떻게? 후킹 할 것인가?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;우리의 목표는 &lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;[HxD.exe 프로그램에서 PE 파일을 열었을 때 상태바의 &quot;Offset: XXXX&quot; 문자열에 &quot;RVA: YYYY&quot; 문자열을 추가하기]&lt;/span&gt;&amp;nbsp; 입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;기존 어플리케이션에 어떤 기능을 추가(혹은 수정) 하려고 마음을 먹었다면 그 다음에는 구체적인 방법에 대해 고민을 해야 합니다. 즉, &lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;후킹 설계 과정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;으로 들어가야 합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;윈도우즈 OS의 대표적인 후킹 기법은 &lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;&quot;메시지 후킹(Message Hooking)&quot;&lt;/span&gt; 과 &lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;&quot;API 후킹(API Hooking)&quot;&lt;/span&gt; 입니다. 둘 중에서 목표 달성에 더 적합하고 구현이 편리한 방법을 사용하는 것이 좋을 것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;일반적으로는 메시지 후킹 기법이 더 간단하고 더 안전하다고 볼 수 있습니다. 대신 경우에 따라(특히 GUI 관련) 더 많은 고려사항이 필요한 경우가 있습니다. 따라서 실전에서는 후킹 설계 단계에서 메시지 후킹 방법이 더 편리할지 확인해 보는 것이 좋습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;메시지 후킹 기법 검증&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;우리 목표에 메시지 후킹 기법이 잘 어울릴지 검증해 보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Windows OS 는 어플리케이션 윈도우의 GUI 처리 작업을 위해 윈도우 메시지를 이용합니다. HxD.exe 의 상태바도 일종의 윈도우입니다. 프로그램 내부에서 상태바에 특정 문자열을 쓰기 위해 관련된 윈도우 메시지를 전달할 것입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px; &quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;* 참고&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;GUI 관련 API 를 호출하면 GUI 작업 처리를 할 수 있기 때문에 마치 윈도우 메시지를 사용하지 않고도 작업이 가능한 것처럼 생각될 수도 있습니다. 그러나 실제로는 API 내부에서 윈도우 메시지를 보내는 것입니다. 일반적인 GUI 작업은 메시지 기반으로 동작한다는 것을 기억하시기 바랍니다.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HxD.exe 의 상태바에 있는 &quot;Offset: XXXX&quot;&amp;nbsp;문자열이 변경될 때 상태바 윈도우 프로시저(Window Procedure)에서 처리하는 윈도우 메시지들을 확인해 보겠습니다. 먼저 HxD.exe 프로그램을 실행 하신 후 적당한 PE 파일을 열어 주세요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 윈도우 메시지를 모니터링&amp;nbsp;하기 위해 Spy++ 유틸리티를 실행합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 470px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1519DB3A50003BD50A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1519DB3A50003BD50A&quot; width=&quot;470&quot; height=&quot;415&quot; filename=&quot;03.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 3 - Spy++ 실행화면&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;윈도우 메시지 확인에 있어서 Spy++ 은 최고의 유틸리티입니다. 기본 동작 원리는 윈도우 메시지 후킹입니다. 모니터링 대상 프로세스에 DLL 을 인젝션 시켜서 사용자가 원하는 메시지를 모니터링 합니다. Spy++ 은 Microsoft Visual Studio 패키지에 포함된 유틸리티 입니다.&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Spy++의 툴바에서 &quot;Log Messages... (Ctrl+M)&quot; 버튼을 선택합니다. (또는 &quot;Spy - Log Messages...&quot; 메뉴를 선택하셔도 됩니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 340px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/206B573A50003BD531&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F206B573A50003BD531&quot; width=&quot;340&quot; height=&quot;26&quot; filename=&quot;04.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 4 - Log Messages... (Ctrl+M) 툴바 버튼&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Message Options 다이알로그가 나타납니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 571px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/136E683A50003BD52D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F136E683A50003BD52D&quot; width=&quot;571&quot; height=&quot;338&quot; filename=&quot;05.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 5 - Message Options 다이알로그&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Windows 탭의 Finder Tool 을 이용할 것입니다. Finder Tool 아이콘을 마우스 버튼을 누른 채로 드래그 하면 마우스 포인터가 과녁 모양으로 바뀝니다. 이 과녁 모양의 마우스 포인터를 HxD 의 상태바 윈도우에 위치시킨 후 마우스 버튼에서 손을 떼면 Spy++ 의 타겟(Target) 윈도우로&amp;nbsp;설정됩니다. (과녁 모양의 마우스 포인터 밑에 있는 윈도우는 두꺼운 검은색 테두리가 생겨서 잘 알아 볼 수 있습니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 590px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/19054E3A50003BD51B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F19054E3A50003BD51B&quot; width=&quot;590&quot; height=&quot;31&quot; filename=&quot;06.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 6 - Finder Tool 로 상태바 설정&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 Spy++ 의 Message Options 다이알로그의 &quot;Selected Object&quot; 섹션에 지금 선택된 HxD 의 상태바 윈도우에 대한 정보들이 표시됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 571px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1165F03A50003BD535&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1165F03A50003BD535&quot; width=&quot;571&quot; height=&quot;338&quot; filename=&quot;07.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 7 - HxD 의 상태바 윈도우 정보&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;각 정보들이 나타내는 의미는 &amp;lt;표 1&amp;gt;과 같습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;table class=&quot;txc-table&quot; width=&quot;541&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border: none; border-collapse: collapse; font-family: 돋움; font-size: 12px; width: 541px; &quot; align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border: 1px solid rgb(204, 204, 204); background-color: rgb(250, 244, 192); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;&lt;b&gt;항목&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-top-width: 1px; border-top-style: solid; border-top-color: rgb(204, 204, 204); background-color: rgb(250, 244, 192); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;의미&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-top-width: 1px; border-top-style: solid; border-top-color: rgb(204, 204, 204); background-color: rgb(250, 244, 192); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;값&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Window&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;윈도우 핸들&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;001B0362&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Text&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;윈도우 텍스트&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Offset: 0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Class&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;윈도우 클래스 이름&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;TXmStatusBar&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Style&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;윈도우 스타일&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;54000100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Rect&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;윈도우 위치와 크기&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;(15, 663)-(589, 684) 574x21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Thread ID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;윈도우를 생성한 스레드 ID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;00000150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 115px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;Process ID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 217px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;윈도우가 속한 프로세스 ID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 208px; height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(204, 204, 204); &quot;&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Dotum, 돋움; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Dotum, 돋움; font-size: 9pt; line-height: normal; &quot;&gt;00000F30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;표 1 - Selected Object 항목들의 의미&amp;gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Spy++ 에서 보여주는 상태바 윈도우의 정보는 나중에 메시지 후킹을 구현할 때 좋은 참고자료가 됩니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;윈도우 클래스 이름이 &quot;TXmStatusBar&quot; 인 걸로 봐서 윈도우 기본 상태바(StatusBar)를 서브클래싱(SubClassing) 한 것으로 추정됩니다. 그렇다면 기본 동작은 윈도우 기본 상태바와 비슷할 것이라고 예상해 봅니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Message Options 다이알로그의 [확인] 버튼을 선택하면 이제부터 Spy++ 은 HxD 의 상태바 메시지를 모니터링하기 시작 합니다. 시험 삼아서 마우스 포인터를 상태바 위에서 이리저리 이동해 보시기 바랍니다. Spy++ 화면에 마우스 관련 메시지가 많이 나타날 것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 615px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1505AE3A50003BD71C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1505AE3A50003BD71C&quot; width=&quot;615&quot; height=&quot;415&quot; filename=&quot;08.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 8 - 마우스 이동 메시지&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Spy++ 의 메시지 캡쳐 옵션을 디폴트인 'ALL' 로 설정하였기 때문에 상태바로 전달되는 모든 메시지가 표시되는 것입니다. &lt;u&gt;우리가 진짜 궁금한 내용은 상태바에 문자열이 써지는 순간에 어떤 메시지를 받느냐 하는 것입니다.&lt;/u&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Spy++ 툴바의 'Clear Log (Del)' 버튼을 선택하여 지금까지 쌓인 로그를 지워버립니다. 그리고 HxD.exe 의 메인 화면 내의 아무 부분을 마우스로 클릭하시기 바랍니다. 마우스가 선택한 파일의 옵셋을 상태바에 출력하기 위해 메시지가 전달될 것입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 676px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/196B463A50003BD730&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F196B463A50003BD730&quot; width=&quot;676&quot; height=&quot;293&quot; filename=&quot;09.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 9 - 문자열 출력 메시지&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HxD 메인 윈도우에서 마우스 클릭을 한번 하면 정확히 9개의 메시지 로그가 출력됩니다. (제가 보기 편하게 들여쓰기를 하였습니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding: 10px; &quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00001&amp;gt; 001B0362 S message:0x040A [User-defined:WM_USER+10] wParam:00000000 lParam:0012FA84&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00002&amp;gt; 001B0362 R message:0x040A [User-defined:WM_USER+10] lResult:00000001&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00003&amp;gt; 001B0362 P WM_PAINT hdc:00000000&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00004&amp;gt; 001B0362 S message:0x0401 [User-defined:WM_USER+1] wParam:00000000 lParam:01A06768&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00005&amp;gt; 001B0362 S &amp;nbsp; WM_PAINT hdc:00000000&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00006&amp;gt; 001B0362 S &amp;nbsp; &amp;nbsp; WM_ERASEBKGND hdc:33010BC2&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00007&amp;gt; 001B0362 R &amp;nbsp; &amp;nbsp; WM_ERASEBKGND fErased:True&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00008&amp;gt; 001B0362 R &amp;nbsp; WM_PAINT&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New'; font-size: 8pt; &quot;&gt;&amp;lt;00009&amp;gt; 001B0362 R message:0x0401 [User-defined:WM_USER+1] lResult:00000001&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1번 로그의 메시지는 WM_USER(0x400)+A 이고 그 때의 lParam 값은 0012FA84 입니다. lParam 값이 마치 스택의 주소를 가리키는 것으로 추정됩니다. 그리고 4번 로그의 메시지는 WM_USER(0x400)+1 이고 lParam 값은 01A06768 입니다. 이 값 또한 메모리 주소를 표시한다고 추정해 볼 수 있겠습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;마우스(또는 키보드)를 이용하여 HxD 메인 윈도우의 커서를 다른 옵셋으로 이동시키면 기본적으로 이와 동일한 9 개의 메시지 로그가 기록됩니다. 그리고 4 번째 로그의 lParam 값은 계속 바뀌는 것을 알 수 있습니다. (아마 동적 할당 메모리로 추정됩니다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217); &quot;&gt;따라서 상태바 윈도우는 사용자 정의 메시지인 WM_USER+1 또는 WM_USER+A 메시지를 받아서 lParam 이 가리키는 주소의 문자열을 상태바 윈도우에 쓴다고 추정해 볼 수 있겠습니다. 그 중에서도 4번 로그 메시지 WM_USER+1 을 받은 직후 WM_PAINT 와 WM_ERASEBKGND 메시지가 연속해서 나타나는 걸로 봐서는 WM_USER+1 메시지가 상태바 윈도우에 실제 값을 쓰라는 명령으로 보입니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;디버거를 이용하여 lParam 이 가리키는 주소를 확인해보면 앞에서 추론한 내용이 맞는지 알 수 있겠지요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;WM_PAINT 는 윈도우를 다시 그릴 때 발생되고, WM_ERASEBKGND 는 윈도우 배경을 지울 때 발생됩니다. WM_USER (0x400) 이후부터는 사용자 정의 메시지로서 프로그래머가 마음대로 지정해서 사용할 수 있습니다. 물론 메시지를 받는 윈도우 프로시저에서 사용자 정의 메시지를 잘 처리할 수 있도록 구현해야 합니다. 해당 메시지에 대한 더 자세한 설명은 MSDN 을 참고하시기 바랍니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(65, 116, 217); &quot;&gt;디버깅&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;OllyDbg 를 실행하여 HxD.exe 프로세스에 Attach 시킵니다. 디버거는 ntdll.dll 메모리 영역의 System Break Point 위치에서 멈춥니다. 디버거를 실행[F9] 시켜 줍니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;윈도우 메시지를 디버깅 할 때는 주의사항이 있습니다. 그건 바로 디버기&amp;nbsp;프로세스(HxD.exe)의 윈도우를 가리면 안된다는 것입니다. 즉 OllyDbg 나 Spy++ 윈도우에 의해 HxD 윈도우가 가려졌다가 나타났다가 하게 되면 불필요한 로그가 Spy++ 에 쌓이게 됩니다. (물론 Spy++ 옵션을 고쳐서 모니터링 메시지를 필요한 것 만으로 제한해도 됩니다.)&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;작업 편의상 각 윈도우들을 독립적으로 배치 시켜 주시기 바랍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/187C7D3A50003BD721&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F187C7D3A50003BD721&quot; width=&quot;700&quot; height=&quot;452&quot; filename=&quot;10.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 10 - 윈도우 배치&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다시 Spy++ 의 로그를 깨끗이 지우신 다음 마우스로 HxD 메인 윈도우 아무 곳이나 선택해 주세요. 제 경우에 Spy++ 의 WM_USER+1 로그의 lParam 주소는 01A0BA28 입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 690px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1914DD3A50003BD70F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1914DD3A50003BD70F&quot; width=&quot;690&quot; height=&quot;214&quot; filename=&quot;11.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 11 - 새로운 lParam 값&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 주소를 OllyDbg 의 메모리 윈도우에서 검색해 보겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 594px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1814FA3A50003BD70F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1814FA3A50003BD70F&quot; width=&quot;594&quot; height=&quot;38&quot; filename=&quot;12.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 12 - OllyDbg 에서 확인한 lParam 내용&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HxD 의 상태바에 나타난 것과 동일한 문자열이 ASCII 형태로 표시되어 있습니다.&amp;nbsp;(이 경우에는 운좋게 예상과 잘 맞아서 쉽게 발견할 수 있었습니다.)&amp;nbsp;이 WM_USER+1 메시지를 후킹해서 lParam 이 가리키는 문자열(&quot;Offset: XXXX&quot;)을 읽은 후 RAW -&amp;gt; RVA 변환하여 표시해 주면 목표를 완수 할 수 있을 것 같습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;결론적으로 메시지 후킹 방법은 우리 목표에 잘 들어맞는 방법입니다. 다음 포스트에서 실제 메시지 후킹을 구현해 보도록 하겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;사실 제가 처음 떠올렸던 아이디어는 단순한 마우스 메시지 후킹이었습니다. HxD.exe 상태바의 문자열이 바뀌려면 먼저 마우스로 커서 위치를 바꿔줘야 했으니 마우스 훅 프로시저에서 상태바의 문자열을 읽고 쓸 수 있지 않을까 하고 말이죠. 그러나 조금 더 생각해보니 좋은 아이디어가 아니라서 접었습니다. 이유는 키보드로도 커서 위치를 바꿀 수 있으니 키보드 메시지도 후킹 해야 할 테고, 상태바 윈도우가 다시 그려져야 하는 모든 상황(윈도우 이동, 윈도우가 가려졌다가 다시 나타나기, HxD 에서 다른 파일 열기, 기타)을 고려했을 때 후킹해야 할 메시지가 많아 질 것 같았기 때문입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;따라서 덮어놓고 후킹을 시도하기보다는 먼저 차분히 생각을 정리해보고, 아이디어를 검증하는 단계가 매우 중요하다고 볼 수 있겠습니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: rgb(62, 62, 62); font-family: '맑은 고딕', Gulim, Dotum, Verdana, AppleGothic, sans-serif; font-size: 14px; line-height: 21px; &quot;&gt;&lt;font color=&quot;#5c7fb0&quot; style=&quot;background-color: rgb(255, 255, 190); &quot;&gt;ReverseCore&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>analysis</category>
      <category>debugging</category>
      <category>HxD</category>
      <category>it</category>
      <category>message hook</category>
      <category>OllyDbg</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>Reversing</category>
      <category>SPY++</category>
      <category>TXmStatusBar</category>
      <category>WM_ERASEBKGND</category>
      <category>WM_PAINT</category>
      <category>WM_USER</category>
      <category>디버깅</category>
      <category>디자인</category>
      <category>리버스코어</category>
      <category>리버싱</category>
      <category>메시지 후킹</category>
      <category>상태바</category>
      <category>설계</category>
      <category>소프트웨어 역공학</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/101</guid>
      <comments>https://reversecore.tistory.com/101#entry101comment</comments>
      <pubDate>Sat, 14 Jul 2012 00:58:17 +0900</pubDate>
    </item>
    <item>
      <title>조판 원고 검토 작업 (2차)</title>
      <link>https://reversecore.tistory.com/102</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/163E5C4E4FEC7F6328&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F163E5C4E4FEC7F6328&quot; width=&quot;600&quot; height=&quot;450&quot; filename=&quot;조판교정원고.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;제 책을 담당해 주시는 '전설의 에디터'님께서 보내주신 조판용 원고입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;실제 책을 펼친 모양과 거의 같다고 보시면 될꺼에요~&amp;nbsp;
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 엄청난 분량을 작업하시느라 고생하셨을 에디터님께 감사의 마음을 전합니다. ^^&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;제가 좋아하는 [연금술사]&amp;nbsp;책을 올려보았습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;대략 분량이 가늠되시나요?&amp;nbsp;&lt;/p&gt;&lt;p&gt;1차로 180 페이지 정도를 끝낸&amp;nbsp;나머지 모든 분량입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;열심히 저자 검토중이고요.&amp;nbsp;&lt;/p&gt;&lt;p&gt;주로 제목, 레이아웃, 그림, 내용, 오탈자 위주로 보고 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 출판 작업도 반환점을 돌아 결승선이 희미하게 보이기 시작합니다. 막 두근거려요~ ^^&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>교정</category>
      <category>레이아웃</category>
      <category>리버스 엔지니어링</category>
      <category>리버싱</category>
      <category>연금술사</category>
      <category>원고</category>
      <category>전설의 에디터</category>
      <category>조판</category>
      <category>책</category>
      <category>출판</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/102</guid>
      <comments>https://reversecore.tistory.com/102#entry102comment</comments>
      <pubDate>Fri, 29 Jun 2012 01:16:58 +0900</pubDate>
    </item>
    <item>
      <title>HxD.exe 프로세스에 새로운 기능 추가 (1)</title>
      <link>https://reversecore.tistory.com/100</link>
      <description>&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px; &quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;리버싱 기술을 이용하면 기존 어플리케이션의 버그를 수정하거나, 새로운 기능을 추가시킬 수 있습니다.&amp;nbsp;간단한 실습 예제를 통하여 동작원리를 소개하도록 하겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(0, 85, 255); &quot;&gt;리버싱 기술의 활용&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr style=&quot;border: black 0 none; border-top: black 1px solid; height: 1px&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;리버싱 기술이 꼭 다른 프로그램을 분석하는 용도로만 사용되는 것은 아닙니다. 약간의 아이디어와 끈기만 있다면 여기서 조금 더 나아가 개발자들이 시도하지 않는 방법으로 작업을 진행할 수&amp;nbsp;있답니다.&amp;nbsp;'개발&amp;nbsp;관점' 에서는&amp;nbsp;어렵게 보이는 문제이지만 오히려&amp;nbsp;'리버싱 관점' 에서는 쉽게 해결할 수 있는 경우도 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;어플리케이션에 추가 기능을 삽입하는 것은 마치 &lt;a href=&quot;http://www.reversecore.com/59&quot; target=&quot;_top&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&quot;&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;http://www.reversecore.com/59&quot; target=&quot;_top&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;API Hooking - 계산기, 한글을 배우다. (1)&quot;&lt;/span&gt;&lt;/a&gt; 와 비슷한 맥락의 작업 이라고 볼 수 있습니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;자신이 개발하지 않은 (소스 코드를 가지고 있지 않은) 다른 어플리케이션의 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;버그 수정&lt;/span&gt;&lt;/b&gt;이나 전혀 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;새로운 기능&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&amp;nbsp;추가&lt;/span&gt;&lt;/b&gt; 같은 작업이 바로 그 좋은 예입니다.&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;이러한 작업의 핵심기술은 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&quot;Debugging&quot;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;Injection&quot;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&amp;nbsp;그리고&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&quot;Hooking&quot;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt; 입니다.&lt;/span&gt;&lt;/u&gt;&amp;nbsp;또한 어셈블리 언어,&amp;nbsp;PE File Format 등의 지식도 매우 중요합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;1) Debugging&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;디버깅 기술은 매우 다양하게 사용됩니다. 먼저 작업 설계 단계에서 문제를 파악하고 해결 아이디어를 검증하고 구체화 시키는데 필수적으로 사용됩니다. 구현 단계에서 단위 모듈을 검증하는데에도 사용되고,&amp;nbsp;마지막 테스트와 버그 파악에 빠져서는 안되는 가장 중요한 기술입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2) Injection&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다른 프로세스를 수정하려면 일단 그 프로세스 메모리 영역으로 침투해야 합니다. 이게 바로 인젝션 기술의 역할입니다. 일단 프로세스 메모리에 침투하기만 하면 절반은 성공이라고 볼 수 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;3) Hooking&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;기존 코드와 다르게 동작시키려면 후킹 기술을 사용하면 됩니다. 기존에 있던 코드의 흐름을 변경시켜 사용하지 못하게 할 수 도 있고, 새로운 코드를 추가하여 전혀 다르게 동작시킬 수 도 있습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 간단한 실습 예제를 분석하면서 &quot;기존 응용프로그램에 새로운 기능을 추가시키는 방법&quot; 에 대해서 알아보도록 하겠습니다. 제가 아이디어를 내고 구체화 시키고 검증하는 과정, 그리고&amp;nbsp;실제로 구현하면서 부딪쳤던 문제들과 해결 과정에 대해 자세히 보여드릴 겁니다. 향후 여러분께서 리버싱 기술을 실무에 적용하실 때 작은 도움이 될 것입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(0, 85, 255); &quot;&gt;실습 프로그램 - HxD.exe&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;hr style=&quot;border: black 0 none; border-top: black 1px solid; height: 1px&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 661px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1632A1334FE4B07705&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1632A1334FE4B07705&quot; width=&quot;661&quot; height=&quot;342&quot; filename=&quot;01.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 1 - HxD.exe&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 그림은 제가 평소 애용하는 헥스 에디터 HxD.exe 의 실행 화면입니다.&amp;nbsp;dummy32.dll 라는 이름의 PE 파일을 열고 있네요.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;문득 &lt;u&gt;&quot;화면 좌측 하단의 Offset 표시 영역에 RVA 를 계산해서 같이 표시해 주면 어떨까?&quot;&lt;/u&gt; 라는 아이디어가 떠올랐습니다. 아이디어의 유용성&amp;nbsp;여부를 떠나서 일단 재미있어 보였고, 어플리케이션 기능 추가라는 주제에 잘 맞을거 같다는 생각이 들었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여러차례 시도 끝에 결국 아래와 같이 성공할 수 있었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 661px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/176B7B3C4FE4B3B106&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F176B7B3C4FE4B3B106&quot; width=&quot;661&quot; height=&quot;342&quot; filename=&quot;02.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;text-align: center; &quot;&gt;&amp;lt;그림 2 - PE 파일의 RVA 표시 기능이 추가된&amp;nbsp;HxD.exe&amp;gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;먼저 Offset 과 RVA 를 동시에 표시하기 위해 status bar 의 좌측 하단 영역의 길이를 조금 늘렸습니다. 그리고 글씨를 출력하는 API 를 후킹하기 위한 hxdhook.dll 을 인젝션 시켰습니다. 또한 Offset &amp;lt;-&amp;gt; RVA 변환 계산 모듈 PEInfo.dll 을 로딩하여 계산을 수행하도록 만들었습니다. 이제 HxD.exe 에서&amp;nbsp;PE 파일을 열고 커서 위치가 변할 때마다 해당 파일 Offset 과 RVA 가 자동으로 표시됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음 포스트에서 구체적인 작업 내용과 동작 원리에 대해 알아보도록 하겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding: 10px; &quot;&gt;&lt;p&gt;* 참고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 실습 예제 파일은&amp;nbsp;&lt;u&gt;&lt;a href=&quot;http://www.reversecore.com/99&quot; target=&quot;_top&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&quot;HxD.exe 기능 추가&quot;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&amp;nbsp;페이지에서 다운 받으실 수 있습니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: rgb(62, 62, 62); font-family: '맑은 고딕', Gulim, Dotum, Verdana, AppleGothic, sans-serif; font-size: 14px; line-height: 21px; &quot;&gt;&lt;font color=&quot;#5c7fb0&quot; style=&quot;background-color: rgb(255, 255, 190); &quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;ReverseCore&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>analysis</category>
      <category>API Hooking</category>
      <category>API 후킹</category>
      <category>DLL Injection</category>
      <category>HxD.exe</category>
      <category>hxdhook.dll</category>
      <category>it</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>Reversing</category>
      <category>리버스 엔지니어링</category>
      <category>리버싱</category>
      <category>소프트웨어 역공학</category>
      <category>어플리케이션</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/100</guid>
      <comments>https://reversecore.tistory.com/100#entry100comment</comments>
      <pubDate>Sat, 23 Jun 2012 12:00:00 +0900</pubDate>
    </item>
    <item>
      <title>HxD.exe 기능 추가!</title>
      <link>https://reversecore.tistory.com/99</link>
      <description>&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px; &quot;&gt;&lt;p&gt;리버싱 기술을 조금 응용하면&amp;nbsp;다른 응용프로그램의&amp;nbsp;기능을 추가/변경시킬 수 있습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;제가 애용하는 헥스 에디터 HxD.exe 에 필요한 기능을 살짝 추가하였습니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;HxD.exe&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr style=&quot;border: black 0 none; border-top: black 1px solid; height: 1px&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;DLL Injection&lt;/span&gt;&lt;/b&gt; 과 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;API Hooking&lt;/span&gt;&lt;/b&gt; 기술을 이용하여 HxD.exe 프로그램에 새로운&amp;nbsp;기능을 추가하였습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 684px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/206A9F504FD8B52922&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F206A9F504FD8B52922&quot; width=&quot;684&quot; height=&quot;277&quot; filename=&quot;01.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;제가 추가시킨 기능은 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;&lt;u&gt;PE 파일 Offset&amp;nbsp;의 RVA 값을 계산해서 출력&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;해 주는 것입니다. (위 그림 참고)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;키보드나 마우스를 이용하여 커서 위치를 이동하면 Offset 값이 변함에 따라서 자동으로 그에 맞는 RVA 값이 계산되어 표시됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;&lt;b&gt;사용방법&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr style=&quot;border: black 0 none; border-top: black 1px solid; height: 1px&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/204F034D4FD8B59E0E&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;HxD.exe&lt;/a&gt;&lt;/span&gt;&amp;nbsp; - Hex Editor&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1641174D4FD8B59F20&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/dll.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;hxdhook.dll&lt;/a&gt;&lt;/span&gt;&amp;nbsp; - hooking dll&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/2044A44D4FD8B59F1C&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;InjDll32.exe&lt;/a&gt;&lt;/span&gt;&amp;nbsp; - Injector&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/173F444D4FD8B5A025&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/dll.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;PEInfo.dll&lt;/a&gt;&lt;/span&gt;&amp;nbsp; - File Offset &amp;lt;-&amp;gt;RVA converter&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px; &quot;&gt;&lt;p&gt;1. HxD.exe&amp;nbsp;실행&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2.&amp;nbsp;HxD 에서 아무&amp;nbsp;PE 파일을 오픈&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. InjDll32.exe 를 이용하여 HxD.exe 프로세스에&amp;nbsp;hxdhook.dll 을 인젝션&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 391px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/114BD4484FD8B77B1C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F114BD4484FD8B77B1C&quot; width=&quot;391&quot; height=&quot;97&quot; filename=&quot;02.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HxD.exe 프로세스에 hxdhook.dll 이 정상적으로 인젝션 되었다면 이제부터 프로그램 하단의 Status Bar 에 Offset 과 RVA 가 동시에 표시될 것입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;크게 유용하다고 볼 수 는 없지만 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 85, 255); &quot;&gt;리버싱 기술을 응용하여 기존 프로그램에 새로운 기능을 추가하는 방법&lt;/span&gt;&lt;/b&gt;을 잘 보여주는 예제라고 생각합니다. 필요하신 분께서는 자유롭게 가져다 쓰실 수 있습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding: 10px; &quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;* 블로그에 리버싱 기술 응용편을 올리기 위해 준비한 간단한 시연입니다. 자세한 동작 원리, 후킹 과정, 모듈 개발 과정 등은 따로 포스팅 하도록 하겠습니다.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(255, 228, 0); color: rgb(0, 85, 255); &quot;&gt;ReverseCore&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>tool</category>
      <category>API Hooking</category>
      <category>DLL Injection</category>
      <category>HxD</category>
      <category>HxD.exe</category>
      <category>hxdhook.dll</category>
      <category>기능 추가</category>
      <category>인젝션</category>
      <category>후킹</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/99</guid>
      <comments>https://reversecore.tistory.com/99#entry99comment</comments>
      <pubDate>Thu, 14 Jun 2012 00:35:00 +0900</pubDate>
    </item>
    <item>
      <title>애플 The New iPad 발표를 본 소감</title>
      <link>https://reversecore.tistory.com/98</link>
      <description>&lt;div&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/142D8D3E4F58E0550E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F142D8D3E4F58E0550E&quot; width=&quot;640&quot; height=&quot;360&quot; alt=&quot;&quot; filename=&quot;iWork.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/162D8D3E4F58E0560F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F162D8D3E4F58E0560F&quot; width=&quot;640&quot; height=&quot;339&quot; alt=&quot;&quot; filename=&quot;iLife.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;br /&gt;
The New iPad 의 핵심은 &lt;font color=&quot;#5c7fb0&quot;&gt;레티나 디스플레이&lt;/font&gt;와 이를 잘 활용한 애플의 킬러 앱인&amp;nbsp;&lt;font color=&quot;#5c7fb0&quot;&gt;iWork(Pages, Numbers, Keynotes) 와 iLife(GarageBand, iMovie, iPhoto)&lt;/font&gt;, 그리고 &lt;font color=&quot;#5c7fb0&quot;&gt;3rd party 제작사들의 수준 높은 앱&lt;/font&gt;&amp;nbsp;이라고 생각합니다. 특히 iWork 와 iLife 세트는 모두 구입해도 $45 밖에 안하면서 한번의 구매로 iPhone 과 iPad 를&amp;nbsp;동시에 지원하는 유니버셜 앱입니다. 꾸준한 업데이트로 새로운 기능도 추가되고요. 그리고 iCloud 를 이용하여 '여기서 하면 저기서도 되있고' 기능이 지원됩니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
애플이 직접 제작한 iWork 와 iLife 의 데모를 보면 정말 감탄스러운게 &lt;b&gt;&lt;font color=&quot;#5c7fb0&quot;&gt;철저히 초보 사용자 관점에서 설계&lt;/font&gt;&lt;/b&gt;되었다는 겁니다. 애플이 제작한 아이패드 앱 중에서 매뉴얼이 필요한 건 거의 없다고 보시면 됩니다. 너무 직관적이라서 누구나 쉽게 동영상을 편집하고 음악을 만들고 사진을 편집할 수 가 있습니다. SW 업종에 종사하는 제 눈에는 그런 점이 너무 신기하게만 보입니다. &lt;b&gt;&lt;font color=&quot;#5c7fb0&quot;&gt;간단한 GUI 를 제공하지만 어떤 프로그램보다도 더 고민하고 더 힘들게 만들었을 것 같다는 느낌&lt;/font&gt;&lt;/b&gt;이 들어요. 이런 수준 높은 SW 를 구동할 수 있는 테블릿이 아직까진 (근 미래에도) iPad 뿐입니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
The New iPad 는 이러한 양질의 컨텐츠를 잘 돌릴 수 있도록 하드웨어가 설계되었습니다. 또한 이러한 양질의 컨텐츠는 하드웨어 판매의 견인차 역할을 톡톡히 합니다. 하드웨어와 소프트웨어가 서로 선순환 구조를 형성합니다. &lt;font color=&quot;#5c7fb0&quot;&gt;현재로선 하드웨어와 소프트웨어를 동시에 잘 하는 회사는 애플이 유일한데, 자신의 장점을 아주 잘 살려서 전략적으로 앞서 나가고 있습니다.&lt;/font&gt; 따라서 당분간 테블릿(Post PC) 분야에서 iPad 는 넘사벽 지위를 몇 년간 더 유지할 것으로 생각됩니다. &lt;br /&gt;
&lt;br /&gt;
참고로 Microsoft 창업주 빌 게이츠는 기회가 있을때마다 애플의 폐쇄적인 HW &amp;amp; SW 동시 구현 전략을 이상하다고 말하곤 했습니다. 실제로도 시장에서는 IBM 호환 PC에서 구동되는 Windows 가 승리하였습니다. 하지만 애플의 스티브 잡스는 끝까지 같은 전략을 밀어 부쳤습니다. 결국 뒤를 이은&lt;b&gt;&lt;font color=&quot;#5c7fb0&quot;&gt; MAC 의&amp;nbsp;디지털 허브 전략&lt;/font&gt;&lt;/b&gt;으로 인기를 얻고, 초대박&amp;nbsp;&lt;b&gt;&lt;font color=&quot;#5c7fb0&quot;&gt;Post PC 전략&lt;/font&gt;&lt;/b&gt;으로 iOS 생태계를 완벽히 구축하면서 상황을 완전히 역전시키고 말았습니다.&amp;nbsp;&lt;font color=&quot;#5c7fb0&quot;&gt;&lt;b&gt;Post PC 전략의 핵심이 바로 폐쇄적인 하드웨어와 소프트웨어의 동시 구현&lt;/b&gt;&lt;/font&gt;&lt;font color=&quot;#474747&quot;&gt;입니다.&lt;/font&gt;&lt;font color=&quot;#5c7fb0&quot;&gt;&amp;nbsp;&lt;/font&gt;새로운 패러다임에서 경쟁자보다 훨씬 더 빠르게 움직이며 한번 잡은 승기를 놓치지 않고 오히려 경쟁자들과의 격차를&amp;nbsp;계속&amp;nbsp;벌리고 있습니다. 이게 다 하드웨어와 소프트웨어를 동시에 구현하는 능력이 있기 때문입니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
조만간 iPad 보다 하드웨어 성능이 더 좋은 안드로이드 테블릿들이 쏟아져 나올 것입니다. 하지만 iPad 수준의 편리한 소프트웨어 사용자 경험을 제공하지 못한다면 또 조용히 잊혀지겠지요? 즉, 하드웨어만 좋아서는 성공하지 못하고 소프트웨어도 같이 좋아야 한다는 의미입니다. 이처럼 소프트웨어와 컨텐츠의 위상이 점점 높아져 가는 모습을 보면서 저는 참 기분이 좋습니다.&lt;/div&gt;
&lt;div style=&quot;text-decoration: underline; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b style=&quot;color: rgb(62, 62, 62); font-family: '맑은 고딕', Gulim, Dotum, Verdana, AppleGothic, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(255, 255, 255); &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#5c7fb0&quot; style=&quot;background-color: rgb(255, 255, 190); &quot;&gt;ReverseCore&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;</description>
      <category>column</category>
      <category>apple</category>
      <category>garage band</category>
      <category>hw</category>
      <category>iCloud</category>
      <category>ilife</category>
      <category>imovie</category>
      <category>ios</category>
      <category>IPAD</category>
      <category>iphoto</category>
      <category>iWorks</category>
      <category>Keynotes</category>
      <category>Numbers</category>
      <category>Pages</category>
      <category>post pc</category>
      <category>Retina</category>
      <category>SW</category>
      <category>The new iPad</category>
      <category>디지털 허브 전략</category>
      <category>레티나</category>
      <category>생태계</category>
      <category>소프트웨어</category>
      <category>아이패드</category>
      <category>애플</category>
      <category>포스트 PC 전략</category>
      <category>하드웨어</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/98</guid>
      <comments>https://reversecore.tistory.com/98#entry98comment</comments>
      <pubDate>Fri, 9 Mar 2012 01:44:18 +0900</pubDate>
    </item>
    <item>
      <title>진법 변환 (2진수, 10진수, 16진수)</title>
      <link>https://reversecore.tistory.com/96</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;간단한 진법 변환에 대해서 알아보겠습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;아주 기초적면서도 중요한 내용입니다만, 블로그에 제대로 소개한적이 없어서 이번에 제대로 정리해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt; 일반적인 사람이 사용하는 진법은 10진법입니다. 컴퓨터는 내부적으로 2진법을 사용합니다. 리버싱에서는 16진법을 사용합니다.&amp;nbsp;따라서 리버서는 이 세 가지 진법체계(2, 10, 16)를 자유자재로 변환할 줄 알아야 합니다.&lt;br /&gt;&lt;br /&gt;보통은 계산기를 사용하면 편합니다만 2진수 &amp;lt;-&amp;gt; 16진수 변환 과정은 리버싱에 자주 등장하기 때문에 암산으로 가능하도록 숙달하는 것이 좋습니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;기본 진법&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;table style=&quot;background-color: transparent; border-collapse: collapse;&quot; width=&quot;690&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; bgcolor=&quot;#ffffff&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center; border-image: initial; border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;&lt;b&gt;진 법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; border-image: initial; border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&lt;b&gt;숫 자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; border-image: initial; border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&lt;b&gt;설 명&amp;nbsp;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; border-image: initial; border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&lt;b&gt;예&lt;/b&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;2 (Binary)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;0, 1&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;ON, OFF&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;1111(2), 1111b&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;10 (Decimal)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;0 ~ 9&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;사람이 익숙한 숫자 체계&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;15(10), 15d&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;16 (Hexadecimal)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;0 ~ 9, A ~ F&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;2진법을 1/4로 줄여서 보여줌&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #dadada;&quot; width=&quot;25%&quot;&gt;&amp;nbsp;F(16), Fh&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span style=&quot;color: #e31600;&quot;&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;* 참고&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;16진수는 2진수를 1/4로 압축시켜 보여주는 효과가 있습니다. 즉, 4 자리의 2진수가 1 자리의 16진수로 간단히 표현됩니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;예) 15(10) = 1111(2) = F(16)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 14pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;변환 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;학창시절에 배웠던 진법 변환 방법의 기억을 되살려 보겠습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffe409;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;#1. 2진수 &amp;lt;-&amp;gt; 10진수&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;1) 9(10) -&amp;gt; 1001(2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;185&quot; height=&quot;186&quot; data-origin-width=&quot;185&quot; data-origin-height=&quot;186&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/140E75404F53E24412?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/140E75404F53E24412?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/140E75404F53E24412&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F140E75404F53E24412&quot; width=&quot;185&quot; height=&quot;186&quot; data-origin-width=&quot;185&quot; data-origin-height=&quot;186&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;2) 1001(2) -&amp;gt;&amp;nbsp; 9(10)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;302&quot; height=&quot;42&quot; data-origin-width=&quot;302&quot; data-origin-height=&quot;42&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/17383D3E4F53E28E22?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/17383D3E4F53E28E22?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/17383D3E4F53E28E22&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F17383D3E4F53E28E22&quot; width=&quot;302&quot; height=&quot;42&quot; data-origin-width=&quot;302&quot; data-origin-height=&quot;42&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;3) 30(10) -&amp;gt; 11110(2)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;187&quot; height=&quot;229&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;229&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/122903364F53E2D823?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/122903364F53E2D823?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/122903364F53E2D823&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F122903364F53E2D823&quot; width=&quot;187&quot; height=&quot;229&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;229&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;4) 11110(2) -&amp;gt;&amp;nbsp; 30(10)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;377&quot; height=&quot;46&quot; data-origin-width=&quot;377&quot; data-origin-height=&quot;46&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/165CDE394F53E30C30?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/165CDE394F53E30C30?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/165CDE394F53E30C30&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F165CDE394F53E30C30&quot; width=&quot;377&quot; height=&quot;46&quot; data-origin-width=&quot;377&quot; data-origin-height=&quot;46&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;변환 방법은 매우 간단합니다.&amp;nbsp;기억이 새록새록 나시죠?&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;#2.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;10진수 &amp;lt;-&amp;gt; 16진수&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;1) 123(10) -&amp;gt; 7B(16)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: transparent; margin: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;190&quot; height=&quot;110&quot; data-origin-width=&quot;190&quot; data-origin-height=&quot;110&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/192C74384F53DA9A19?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/192C74384F53DA9A19?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/192C74384F53DA9A19&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F192C74384F53DA9A19&quot; width=&quot;190&quot; height=&quot;110&quot; data-origin-width=&quot;190&quot; data-origin-height=&quot;110&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;2) 7B(16)&amp;nbsp;-&amp;gt;&amp;nbsp;123(10)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: transparent; margin: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: transparent; margin: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;209&quot; height=&quot;44&quot; data-origin-width=&quot;209&quot; data-origin-height=&quot;44&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/120D19454F53DF4C05?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/120D19454F53DF4C05?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/120D19454F53DF4C05&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F120D19454F53DF4C05&quot; width=&quot;209&quot; height=&quot;44&quot; data-origin-width=&quot;209&quot; data-origin-height=&quot;44&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;3) 500(10) -&amp;gt; 1F4(16)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;190&quot; height=&quot;155&quot; data-origin-width=&quot;190&quot; data-origin-height=&quot;155&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/1104513B4F53DB5F11?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/1104513B4F53DB5F11?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1104513B4F53DB5F11&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1104513B4F53DB5F11&quot; width=&quot;190&quot; height=&quot;155&quot; data-origin-width=&quot;190&quot; data-origin-height=&quot;155&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;4) 1F4(16)&amp;nbsp;-&amp;gt;&amp;nbsp;500(10)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: transparent; margin: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;282&quot; height=&quot;45&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;45&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/155584334F53DF841C?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/155584334F53DF841C?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/155584334F53DF841C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F155584334F53DF841C&quot; width=&quot;282&quot; height=&quot;45&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;45&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;여기까지는 변환 원리만 기억하시고 실제로는 계산기를 사용하시는것이 편리합니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;u&gt;리버서에게 중요한 것은 아래의 &lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;2진수 &amp;lt;-&amp;gt; 16진수 변환을 암산(수작업)으로 해내는 능력&lt;/span&gt;&lt;/b&gt;입니다.&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt; background-color: #ffe409;&quot;&gt;#3. 2진수 &amp;lt;-&amp;gt; 16진수&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: transparent; margin: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: transparent; margin: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;223&quot; height=&quot;454&quot; data-origin-width=&quot;223&quot; data-origin-height=&quot;454&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/121D9E4F4F55254D09?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/121D9E4F4F55254D09?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/121D9E4F4F55254D09&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F121D9E4F4F55254D09&quot; width=&quot;223&quot; height=&quot;454&quot; data-origin-width=&quot;223&quot; data-origin-height=&quot;454&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: transparent; text-align: center;&quot;&gt;&amp;lt;2진수 테이블&amp;gt;&lt;/div&gt;
&lt;p style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;위 테이블에서는 1 ~ 15 까지의 숫자를 각각 10, 16, 2 진수로 보여주고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;눈여겨 보실 내용은 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;u style=&quot;background-color: transparent;&quot;&gt;4 자리의 2 진수를 1 자리의 16진수로 표현 가능&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;하다는 것입니다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;'4 자리의 2 진수' 라는 말은 4 bit 라고 바꿔 말 할 수 있고, 8 bit(1 byte) 는 '8 자리의 2 진수' 이며 이는 2 자리의 16 진수입니다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;즉, &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;1 byte 는 2 자리의 16 진수로 간단히 표현(00 ~ FF)이 가능&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;하다는 뜻입니다. 이런 특성 때문에 컴퓨터 공학에서는 16진수로 숫자를 표현하는 것이 편리합니다. (1 byte 로 저장할 수 있는 숫자를 10 진수로 표현하면 0 ~ 255 이며 세 자리수가 필요합니다.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;위의 테이블을 다 외우시면&amp;nbsp;물론&amp;nbsp;좋습니다만 처음에는 빨간색으로 표시한&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #e31600;&quot;&gt;2(0010), 4(0100), 8(1000), A(1010), C(1100)&lt;/span&gt;&lt;/b&gt;만 외우셔도 됩니다. 파란색으로 표시한 &lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;1(0001), F(1111)&lt;/span&gt;&lt;/b&gt;는 간단하니까 한번 보면 저절로 외워지고요. 나머지 숫자는 빨간색 숫자에서 계산하시면 됩니다. 계산 방법은 아래와 같습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;3(0011) = 2(0010) + 1(0001)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;5(0101) = 4(0100) + 1(0001)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;6(0110) = 4(0100) + 2(0010)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;7(0111) = 8(1000) - 1(0001)&lt;br /&gt;9(1001) =&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;8(1000) + 1(0001)&lt;br /&gt;B(1011) = A(1010) + 1(0001)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;D(1101) = C(1100) + 1(0001)&lt;br /&gt;E(1110) = F(1111) - 1(0001)&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;간단한 예제를 살펴보겠습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;변환 요령은&amp;nbsp;&lt;b&gt;&quot;16진수는 한 자리씩 끊고, 2진수는 네 자리씩 끊는다&quot;&lt;/b&gt;&amp;nbsp;입니다. 그리고 위 테이블을 보면서 변환하시면 됩니다. (조금만 숙달되도 암산으로 가능해 집니다.)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;1) 7F(16) -&amp;gt; 01111111(2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;291&quot; height=&quot;37&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;37&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/120C5D4D4F55306217?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/120C5D4D4F55306217?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/120C5D4D4F55306217&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F120C5D4D4F55306217&quot; width=&quot;291&quot; height=&quot;37&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;37&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;2) 3D6A921E(16) -&amp;gt; 00111101 01101010 10010010 00011110(2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;573&quot; height=&quot;51&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;51&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/116C40494F55307220?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/116C40494F55307220?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/116C40494F55307220&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F116C40494F55307220&quot; width=&quot;573&quot; height=&quot;51&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;51&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;3) 10101100(2) -&amp;gt; AC(16)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;298&quot; height=&quot;32&quot; data-origin-width=&quot;298&quot; data-origin-height=&quot;32&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/1738964B4F5530811E?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/1738964B4F5530811E?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1738964B4F5530811E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1738964B4F5530811E&quot; width=&quot;298&quot; height=&quot;32&quot; data-origin-width=&quot;298&quot; data-origin-height=&quot;32&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;진법 변환 활용&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;이러한 16진수 &amp;lt;-&amp;gt; 2진수 진법 변환을 왜 공부해야 할까요?&lt;br /&gt;&lt;br /&gt;리버싱 분야에서 다양한 활용 예가 있습니다.&lt;br /&gt;&lt;br /&gt;IA32 Instruction Table 을 해석을 위해 ModR/M, SIB, Group ID 등을 계산할 때 필요합니다.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;590&quot; height=&quot;203&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;203&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/16211E4F4F5535741D?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/16211E4F4F5535741D?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/16211E4F4F5535741D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F16211E4F4F5535741D&quot; width=&quot;590&quot; height=&quot;203&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;203&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;lt;그림 - IA32 Instruction Format : 출처 Intel Manual&amp;gt; &lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;586&quot; height=&quot;312&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;312&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/1864C0494F5535C02F?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/1864C0494F5535C02F?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1864C0494F5535C02F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1864C0494F5535C02F&quot; width=&quot;586&quot; height=&quot;312&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;312&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&amp;lt;그림 - ModR/M Byte : 출처 Intel Manual&amp;gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&lt;/span&gt; &lt;br /&gt;EFLAGS 레지스터는 각 bit 가 flag 를 의미합니다. 이러한 bit flag 연산에 진법 변환이 필요합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;585&quot; height=&quot;459&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;459&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/1942DE3E4F55377E05?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/1942DE3E4F55377E05?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1942DE3E4F55377E05&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1942DE3E4F55377E05&quot; width=&quot;585&quot; height=&quot;459&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;459&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style=&quot;text-align: center;&quot;&gt;&amp;lt;그림 - EFLAGS : 출처 Intel Manual&amp;gt;&lt;/span&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;Win32 API 의 파라미터 중에 Flag 를 bit 로 표시하는 경우가 많습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;HANDLE WINAPI CreateFile(&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp; __in &amp;nbsp; &amp;nbsp; &amp;nbsp;LPCTSTR lpFileName,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp; __in &amp;nbsp; &amp;nbsp; &amp;nbsp;DWORD dwDesiredAccess,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp; __in &amp;nbsp; &amp;nbsp; &amp;nbsp;DWORD dwShareMode,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp; __in_opt &amp;nbsp;LPSECURITY_ATTRIBUTES lpSecurityAttributes,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp; __in &amp;nbsp; &amp;nbsp; &amp;nbsp;DWORD dwCreationDisposition,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #e31600;&quot;&gt;&amp;nbsp; __in &amp;nbsp; &amp;nbsp; &amp;nbsp;DWORD dwFlagsAndAttributes,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp; __in_opt &amp;nbsp;HANDLE hTemplateFile&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;br /&gt;* 출처 : MSDN&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;위 &lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;CreateFile() API&lt;/span&gt;&lt;/b&gt; 의 6 번째 파라미터 &lt;b&gt;&lt;span style=&quot;color: #3058d2;&quot;&gt;dwFlagsAndAttributes &lt;/span&gt;&lt;/b&gt;는 아래와 같이 bit flag 로 이루어져 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;482&quot; height=&quot;599&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;599&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/1937C0374F5538CF2E?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/1937C0374F5538CF2E?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1937C0374F5538CF2E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1937C0374F5538CF2E&quot; width=&quot;482&quot; height=&quot;599&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;599&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&amp;lt;그림 -&amp;nbsp; &lt;span style=&quot;text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;dwFlagsAndAttributes&lt;/span&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;설명 일부 : 출처 MSDN&amp;gt;&amp;nbsp;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&lt;/span&gt; &lt;br /&gt;이외에도 디버깅을 하다보면 각종 bit 연산이 나타나는데 16진수 &amp;lt;-&amp;gt; 2진수 변환 방법을 알고 있으면 코드를 이해하는데 크게 도움이 됩니다.&lt;br /&gt;&lt;br /&gt;지금까지 매우 기초적이면서도 중요한 진법 변환에 대하여 알아보았습니다. 잘 활용하시기 바랍니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;개인적으로 백만년 만의 포스팅이네요. 이 포스팅을 시작으로 블로그 활동을 재개합니다. ^^~&lt;br /&gt;&lt;br /&gt;* 얼마전 회사를 떠나서... 사회에 첫 발을 내디딘... 혹은 학교로 복귀한... 15기 인턴들 모두 화이팅~~~&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #5c7fb0;&quot;&gt;ReverseCore&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>study</category>
      <category>10진수</category>
      <category>16진수</category>
      <category>2진수</category>
      <category>CreateFile</category>
      <category>EFLAGS</category>
      <category>ia32 instruction</category>
      <category>Intel Manual</category>
      <category>ModR/M</category>
      <category>MSDN</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>Reversing</category>
      <category>SIB</category>
      <category>변환</category>
      <category>인턴</category>
      <category>진법</category>
      <category>진법 변환</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/96</guid>
      <comments>https://reversecore.tistory.com/96#entry96comment</comments>
      <pubDate>Tue, 6 Mar 2012 08:30:00 +0900</pubDate>
    </item>
    <item>
      <title>책 원고 작성 완료!</title>
      <link>https://reversecore.tistory.com/95</link>
      <description>&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;안녕하세요. ReverseCore 입니다.&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;책 원고 작성을 완료하였습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;모든 컨텐츠 작성을 마치고 자체 퇴고(8회)를 완료하였습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;이제 출판사에 넘겨줄 수 있겠네요. ^^~&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;P style=&quot;BACKGROUND-COLOR: transparent; MARGIN: 0px&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/20078A434EDB8EF60F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F20078A434EDB8EF60F&quot; width=&quot;448&quot; height=&quot;600&quot; alt=&quot;&quot; filename=&quot;IMG_3826.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/div&gt;
&lt;/P&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;TEXT-ALIGN: center; BACKGROUND-COLOR: transparent&quot;&gt;&amp;lt;퇴고 작업을 도와준 아이패드&amp;gt;&lt;/DIV&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent; FONT-SIZE: 14pt&quot;&gt;&lt;B&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;분량&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;br /&gt;

&lt;DIV style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;
&lt;HR style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/DIV&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;8섹션, 61챕터, A4 기준 1000 페이지 입니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;885 개의 이미지와 65 개의 소스파일이 담겨있습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;책 이름도 결정 하였습니다. (나중에 공개할 께요~ ^^)&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;&lt;SPAN style=&quot;FONT-SIZE: 14pt&quot;&gt;내용&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;

&lt;DIV style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;
&lt;HR style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/DIV&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;기존 블로그의 내용 60% + 새로운 컨텐츠 40% 로 구성하였습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;블로그에 있는 내용들은 Windows XP + Visual C++ 6.0/2008 환경에서 작업했었습니다. 이를 최신 Windows 7 32bit + Visual C++ 2010 환경으로 재작업을 하였구요. 컨텐츠들의 순서 조정에 많은 고민을 하였습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;새로 추가된 내용들은 아래와 같습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;FONT style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span color=#5c7fb0&gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent; COLOR: rgb(92,127,176)&quot; class=Apple-style-span&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: rgb(121,165,228) 1px solid; BORDER-LEFT: rgb(121,165,228) 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(219,232,251); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(121,165,228) 1px solid; BORDER-RIGHT: rgb(121,165,228) 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P style=&quot;MARGIN: 0px&quot;&gt;&lt;br /&gt;
64 bit Computing / Debugging&lt;FONT class=Apple-style-span color=#5c7fb0&gt;&lt;br /&gt;
고급 리버싱 (TLS, TEB, PEB, SEH, IA-32 Instruction 해석)&lt;br /&gt;
Anti-Debugging (Static, Dynamic, Advanced)&lt;br /&gt;
디버깅 실습 (Service, Self-Creation, PEImageSwitching, DebugBlocker)&lt;br /&gt;
&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;br /&gt;
&lt;/SPAN&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;&lt;SPAN style=&quot;FONT-SIZE: 14pt&quot;&gt;일정&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;

&lt;DIV style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;
&lt;HR style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/DIV&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;2010년 5월 1일 책을 쓰기로 마음 먹고 2011년 12월 3일 원고를 마감하였네요. 원고 작업만 19 개월 소요되었군요. (블로그 시작한날인 2009년 2월부터 따져보면 벌써 약 33 개월이 지났네요.)&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;아직까지는 제 인생 최대의 프로젝트라고 말할 수 있겠습니다. ^^&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;2011년 6월말쯤 8장 마지막 챕터를 끝내고 책에 뭐 빼먹은게 없나 살펴보니, 문득&amp;nbsp;제가 애초에 기획했던 모든 컨텐츠 작성을 끝냈다는 사실을 깨달았습니다. &lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;약간 멍~ 했죠. 조금 재충전을 하고 퇴고 작업에 들어갔습니다. 노트북으로 들고 다니며 보는데 한계가 있어서 문서를 출력해서 보다가 분량이 너무 많아서 힘들었습니다. 그래서 아이패드에 문서를 전부 입력하고 PDF Viewer 앱과 터치펜으로 퇴고 작업을 했습니다. (퍼포먼스가 확 향상되더군요.) 약 5 개월간의 기나긴 퇴고 작업 끝에 드디어 원고를 탈고 할 수 있었습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;마침 아내가 아기와 외출한 시간(12월 3일 토요일 오후 6시)에 제가 계획한 8 단계 퇴고작업의 마지막 작업을 끝마칠 수 있었네요.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent; FONT-SIZE: 12pt&quot;&gt;&lt;B&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;&lt;SPAN style=&quot;FONT-SIZE: 14pt&quot;&gt;소감&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;

&lt;DIV&gt;
&lt;HR style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/DIV&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;일단 기분이 몹시 좋습니다. 몸과 마음이 날아갈듯 하네요.&amp;nbsp;^^&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;
마치 오랜 여행을 마치고 집에 돌아온 느낌이 드네요.&amp;nbsp;기쁜 마음에 이렇게 블로그에 글을 올려 봅니다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;# 작업 속도&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;책을 쓸 때는 생각보다 작업 속도가 너무 느려서 도대체 언제쯤 책이 완성될 수 있을까 싶었습니다. 하루에 그림 하나 또는 캡쳐 두개 정도 밖에 못 할 때도 많았거든요. 하지만 그런 날들이 하루 이틀 쌓이니까 어느 순간부터는 &quot;내가 언제 이렇게 많은 일을 했지?&quot; 라는 생각이 들면서 목표 지점이 희미하게나마 보이기 시작했습니다.&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;# 재작업&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;책을 쓰면서 가장 힘들었던 순간은 이미 한번 쓴 글을 두번 세번 다시 쓸 때 였습니다. 독자분들께 최신의 리버싱 경험을 드리기 위해 개발도구를 Visual C++ 2010 으로 바꾸고 작업환경을 Windows 7 으로 바꾸었습니다. 그러다보니 기존 문서를 그에 맞게 다시 캡쳐하고 변경된 주소를 찾아 고치는 작업들이 많았습니다. 지금와서 뒤돌아보니 그런 작업들이 가장 기억에 많이 남습니다.&amp;nbsp;&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;# 슬럼프&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;10 여회의 크고 작은 슬럼프를 경험하였습니다. 수많은 재작업과 검증, 생각대로 나오지 않는 글쓰기, 예상보다 훨씬 오래 걸리는 시간, 개인적인 외부 요인 등으로 인해서 글을 쓰지도 못하고 글쓰기 자체가 싫어지는 상황이 몇 번 닥쳤었죠. 스트레스가 쌓인 겁니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;제가 새벽에 일어나 글을 쓰는 책상이 있는데요, 어느 순간에는 그쪽을 쳐다보기도 싫어지더군요. 그리고 저녁에는 퇴근 후 글을 쓰러 찾아가는 도서관이 있습니다. 한때는 그쪽으로 발길이 도저히 떨어지지 않는 날도 많았습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;다행인것은 그때마다 제 자신이 슬럼프 상황인걸 인식하고 극복하려고 노력했다는 것입니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;# 응원&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;가끔 블로그에 방문해서 댓글에 답변도 달아드리고 제 책을 응원하는 글을 보면서 힘을 얻곤 했습니다. 그리고 부모님, 아내, 친구들, 회사 동료들까지 많은 분들께서 관심을 가져주시고 격려를 해주셨습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;이 자리를 빌어서 모든 분들께 감사 드립니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;그리고 제가 좋아하는 독서도 많이 하고 사람들과 많이 어울려 다니면서 다시 용기를 얻어서 작업을 이어나갈 수 있었습니다. 그러다 결국 여기까지 올 수 있었구요.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;&lt;U&gt;&quot;포기하기 전까지 실패란 없다. 시행착오가 있을 뿐이다. 시행착오를 거듭하다보면 언젠가 결국 성공하게 된다.&quot;&lt;/U&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;위 명언을 계속 새기면서 포기하지 않고 꾸준히 작업했더니 결국 원고가 완성되었습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;B style=&quot;BACKGROUND-COLOR: transparent&quot;&gt;&lt;FONT class=Apple-style-span color=#5c7fb0&gt;# 앞으로...&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;출판사와의 일정이 잡히면 블로그에 다시 공지해 드리겠습니다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;원고 작업을 한번 성공하니 자신감이 충만해 지는게 느껴집니다. 이번에 많은 경험과 시행착오를 겪어보니&amp;nbsp;두 번째 책도 금방 쓸 수 있을 것 같은 기분입니다.&amp;nbsp;(2 탄을 기획 중인데요. 구체적으로 정리되면 알려드릴께요~)&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;SPAN style=&quot;BACKGROUND-COLOR: transparent&quot; class=Apple-style-span&gt;다시 한번 모든 분들께 감사 드립니다. ^^~&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;B&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: rgb(255,255,190)&quot; class=Apple-style-span color=#5c7fb0&gt;ReverseCore&lt;/FONT&gt;&lt;/B&gt;&lt;br /&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>Reversing</category>
      <category>리버스코어</category>
      <category>소프트웨어 역공학</category>
      <category>원고</category>
      <category>책</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/95</guid>
      <comments>https://reversecore.tistory.com/95#entry95comment</comments>
      <pubDate>Mon, 5 Dec 2011 01:44:12 +0900</pubDate>
    </item>
    <item>
      <title>질문/답변 코너입니다. (3)</title>
      <link>https://reversecore.tistory.com/94</link>
      <description>&lt;br /&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(62, 62, 62); font-family: '맑은 고딕', Gulim, Dotum, Verdana, AppleGothic, sans-serif; font-size: 14px; line-height: 21px; &quot;&gt;&lt;div&gt;
질문/답변 게시판을 1년에 하나씩 새로 추가하는 것 같습니다. ^^&lt;br /&gt;
&lt;br /&gt;
많은 분들께서 방문해주시고 질문/답변을 남겨주셔서 정말 감사합니다.&lt;br /&gt;
&lt;br /&gt;
* 되도록 이면 '비밀 댓글' 보다는 '일반 댓글'을 이용해서 질문해 주시기 바랍니다. 비슷한 궁금증을 가지신 분들께도 널리 공유되면 좋겠습니다.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
* 예전 질문/답변 코너 링크입니다. (원하시는 내용이 있는지 검색해 보세요~)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.reversecore.com/52&quot; target=&quot;_self&quot; title=&quot;[http://www.reversecore.com/52]로 이동합니다.&quot; style=&quot;text-decoration: none; color: rgb(81, 35, 35); &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(62, 62, 62); &quot;&gt;☞&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;http://www.reversecore.com/52&quot; target=&quot;_self&quot; title=&quot;[http://www.reversecore.com/52]로 이동합니다.&quot; style=&quot;text-decoration: none; color: rgb(81, 35, 35); &quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.reversecore.com/71&quot; target=&quot;_self&quot; title=&quot;[http://www.reversecore.com/71]로 이동합니다.&quot;&gt;질문/답변 코너입니다.&lt;/a&gt;&amp;nbsp;(2)&lt;/div&gt;
&lt;div&gt;
☞&amp;nbsp;&lt;a href=&quot;http://www.reversecore.com/52&quot; target=&quot;_self&quot; title=&quot;[http://www.reversecore.com/52]로 이동합니다.&quot; style=&quot;text-decoration: none; color: rgb(81, 35, 35); &quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.reversecore.com/52&quot; target=&quot;_self&quot; title=&quot;[http://www.reversecore.com/52]로 이동합니다.&quot;&gt;질문/답변 코너입니다.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
=======================================================&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-right-color: rgb(121, 165, 228); border-right-width: 1px; border-right-style: solid; padding-right: 10px; border-top-color: rgb(121, 165, 228); border-top-width: 1px; border-top-style: solid; padding-left: 10px; padding-bottom: 10px; border-left-color: rgb(121, 165, 228); border-left-width: 1px; border-left-style: solid; padding-top: 10px; border-bottom-color: rgb(121, 165, 228); border-bottom-width: 1px; border-bottom-style: solid; background-color: rgb(219, 232, 251); &quot;&gt;
리버스 엔지니어링 분야에 대해&amp;nbsp;&lt;strong&gt;&lt;font color=&quot;#3058d2&quot;&gt;질문이 있으시면 아래의 댓글&lt;/font&gt;&lt;/strong&gt;로 올려주세요. 역시&amp;nbsp;&lt;strong&gt;&lt;font color=&quot;#3058d2&quot;&gt;댓글로 답변&lt;/font&gt;&lt;/strong&gt;을 올려드리겠습니다. 공개하기 어려운 내용은 '비밀글' 에 체크해주세요.&lt;br /&gt;
&lt;br /&gt;
&lt;font color=&quot;#e31600&quot;&gt;&quot;비도덕적, 불법적&quot; 인 내용은 답변 드릴 수 없음을 이해해 주시기 바랍니다.&lt;/font&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
댓글, 방명록, 이메일 등으로 많은 분들께서 여러 가지 질문들을 해주십니다.&amp;nbsp;&lt;br /&gt;
그중에 정말 좋은 질문들이 많아서 여러분들과&amp;nbsp;&lt;strong&gt;&lt;font color=&quot;#3058d2&quot;&gt;공유&lt;/font&gt;&lt;/strong&gt;하면 좋겠다고 생각하였습니다.&lt;/p&gt;
&lt;p&gt;이제부터 저에게 들어오는 모든 질문과 답변들을 이곳으로 모을 것입니다.&lt;br /&gt;
앞으로 질문과 답변은&amp;nbsp;이곳에서 해주세요~&lt;br /&gt;
&lt;br /&gt;
&lt;font color=&quot;#3058d2&quot;&gt;&lt;u&gt;질문에 대한 답변은 저 뿐만 아니라 제 블로그에 오시는 모든 분들께서 하실 수 있습니다.&lt;br /&gt;
&lt;/u&gt;&lt;/font&gt;문제 해결을 위한 방법은 다양합니다. 저 말고도 다른 분들의 답변은 언제나 환영입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;font style=&quot;background-color: rgb(212, 42, 27); &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;strong&gt;&quot;질문은 좋은 것 입니다. 많이 해주세요. ^^ &quot;&lt;br /&gt;
&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;
* 댓글로 질문하기 어려운 내용들(긴내용, 첨부파일 등)은 제 이메일(&lt;a href=&quot;mailto:reversecore@gmail.com&quot; style=&quot;text-decoration: none; color: rgb(81, 35, 35); &quot;&gt;reversecore@gmail.com&lt;/a&gt;)로 문의해 주세요.&lt;/p&gt;
&lt;p&gt;* 제가 사용하는 GMail 은 PE 파일을 첨부하면 전송 거부를 합니다. (압축을 시켜도 그걸 열어서 확인하지요.)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; =&amp;gt; 실행 파일을 첨부해서 보내실때는 확장자를 exex, dllx, zipx 등으로 변경해서 보내주세요.&lt;/p&gt;
&lt;p&gt;* 댓글이 너무&amp;nbsp;많이 달리면 제가 질문/답변 빈 포스트를 또 올릴 겁니다. 그쪽으로 계속 질문 댓글 달아주시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
감사합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;font color=&quot;#3058d2&quot; style=&quot;background-color: rgb(255, 255, 190); &quot;&gt;ReverseCore&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;</description>
      <category>q&amp;amp;a</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/94</guid>
      <comments>https://reversecore.tistory.com/94#entry94comment</comments>
      <pubDate>Wed, 13 Apr 2011 01:05:09 +0900</pubDate>
    </item>
    <item>
      <title>InjDll64.exe 버전업! - 64bit 지원</title>
      <link>https://reversecore.tistory.com/93</link>
      <description>&lt;br /&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
기존 InjDll.exe 유틸리티를 업그레이드(Ver. 1.1.1) 하였습니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&amp;nbsp;&amp;nbsp;1. 64bit 지원&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&amp;nbsp;&amp;nbsp;2. &amp;lt;dll path&amp;gt; 의 상대 경로 지원&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
☞&amp;nbsp;&lt;a href=&quot;http://www.reversecore.com/76&quot; target=&quot;_self&quot; title=&quot;[http://www.reversecore.com/76]로 이동합니다.&quot;&gt;InjDll.exe - DLL Injection/Ejection 전용 도구&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 굴림; font-size: 9pt; line-height: 1.5; background-color: transparent; &quot;&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;div style=&quot;background-color: transparent; &quot;&gt;
&lt;font face=&quot;굴림&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;Windows 7 64bit OS 가 보급됨에 따라 &lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;리버싱 분야에도 점차 64bit 지원 여부가 중요한 이슈&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#333333&quot;&gt;가 되고 있습니다. 저 또한 최근에 64bit 관련 내용을 공부하면서 흥미로운 내용을 많이 접하였습니다. (이번에 작업 중인 리버싱 책에 64bit 리버싱 챕터를 추가시켰습니다.)&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;각 플랫폼(32/64bit) 별로 Dll Injection 을 하실 때 다음의 내용을 주의해 주시기 바랍니다.&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;- Target 프로세스가 32bit 인 경우 : Injector &amp;amp; Dll =&amp;gt; 모두 32bit (PE32 포멧)&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;- Target 프로세스가 64bit 인 경우 : Injector &amp;amp; Dll =&amp;gt; 모두 64bit (PE32+ 포멧)&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font face=&quot;굴림&quot;&gt;&lt;font color=&quot;#E31600&quot;&gt;* 64bit OS 에서는 32/64bit 프로세스가 모두 실행 가능하므로, Target 프로세스의 PE 포멧을 확인 하신 후 적절한 Injector(InjDll32/InjDll64) 와 DLL 을 사용하시면 됩니다.&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font face=&quot;굴림&quot;&gt;&lt;font color=&quot;#E31600&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; color: rgb(51, 51, 51); &quot;&gt;
&lt;font face=&quot;굴림&quot;&gt;&lt;font color=&quot;#E31600&quot;&gt;* PE32+ 포멧의 파일을 생성하시려면 &lt;b&gt;&lt;i&gt;Visual C++ 2010 Express &amp;amp; Windows SDK &lt;/i&gt;&lt;/b&gt;를 설치하시면 됩니다.&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); &quot;&gt;
&lt;div style=&quot;background-color: transparent; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font face=&quot;굴림&quot;&gt;&lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 190);&quot;&gt;ReverseCore&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; &quot;&gt;
&lt;font color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; &quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; &quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; &quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; &quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; &quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; background-position: initial initial; background-repeat: initial initial; &quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; background-position: initial initial; background-repeat: initial initial; &quot;&gt;
&lt;/div&gt;</description>
      <category>column</category>
      <category>64</category>
      <category>64bit</category>
      <category>64bit 리버싱</category>
      <category>dll</category>
      <category>DLL Injection</category>
      <category>Ejection</category>
      <category>InjDll</category>
      <category>InjDll32</category>
      <category>InjDll64</category>
      <category>it</category>
      <category>PE</category>
      <category>PE32</category>
      <category>PE32+</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>Reversing</category>
      <category>windows 7</category>
      <category>리버스코어</category>
      <category>리버싱</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/93</guid>
      <comments>https://reversecore.tistory.com/93#entry93comment</comments>
      <pubDate>Fri, 29 Oct 2010 23:06:00 +0900</pubDate>
    </item>
    <item>
      <title>도대체 리버싱을 어떻게 공부해야 하나요?</title>
      <link>https://reversecore.tistory.com/92</link>
      <description>&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(121, 165, 228); border-right-color: rgb(121, 165, 228); border-bottom-color: rgb(121, 165, 228); border-left-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&quot;리버싱 공부를 어떻게 시작해야 할지 모르겠어요. 도와주세요.&quot; 라는 질문을 종종 받곤 합니다. 제가 블로그 활동을 하는 이유는 우리나라의 리버싱 기술 수준을 향상시키고, 리버싱 기술을 널리 전파하는데 작은 힘을 보태는 것입니다.&amp;nbsp;특히 리버싱에 처음 입문하시는 분들께 길잡이 역할을 할 수 있다면 더이상 바랄게 없습니다. &lt;br /&gt;
&lt;br /&gt;
과연 어떻게 하면 리버싱을 잘 할 수 있을지 제 생각을 얘기해 드리겠습니다.&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;1. 모든 공부에는 &quot;목표&quot;가 있어야 합니다.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
&quot;리버싱 전문가가 되기 위해&quot;, &quot;취직을 위해&quot;, &quot;흥미를 위해&quot;, &quot;해커가 되기 위해&quot; 등의 자신만의 목표가 필요합니다. 이러한&amp;nbsp;목표가 없으면 힘든 공부를 지속하기 어렵습니다. (도중 포기할 확률이 높아진다는 뜻입니다.) 목표는 여러분들에게 방향을 제시합니다. 그 목표를 향해 한발 한발 전진하시기 바랍니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 14pt; &quot;&gt;&lt;b&gt;2. &quot;긍정적인 마인드&quot;를 가지세요.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
잘못된 편견을 가지신 분들이 많이 계십니다.&lt;/div&gt;
&lt;br /&gt;
&lt;i&gt;- &quot;저는 C 언어도 모르는데요... 리버싱을 할 수 있을까요?&quot; &amp;nbsp;---&amp;gt;&amp;gt;&amp;gt; 물론이죠.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;- &quot;저는 어셈블리를 해본적이 없는데요... 리버싱을 못 하겠지요?&quot; ---&amp;gt;&amp;gt;&amp;gt; 천만에요. 잘 하실 수 있습니다.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;- &quot;저는 윈도우즈 구조를 전혀 모르는데요... 그래도 리버싱을 할 수 있을까요?&quot; ---&amp;gt;&amp;gt;&amp;gt; 무지 잘하게 되실 겁니다.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
바로 위와 같이 &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&quot;저는 XXX 를 모르는데요&quot;&lt;/font&gt;&lt;/b&gt; 라던지 &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&quot;저는 YYY 를 해본적이 없는데요&quot;&lt;/font&gt;&lt;/b&gt; 라는 말은 리버싱을 공부할 때 전혀 의미없는 말입니다. 이런 말은 지레 겁을 먹게 만들고, 도전 의식을 꺾어버립니다. 시도조차 못해보고 포기하게 만드는 부정적인 말입니다. 오히려 &quot;XXX 를 모르기 때문에 배우고 싶다&quot; 라고 긍정적인 생각을 해보시기 바랍니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
배워야 할 가짓수를 따지자면 수십 가지가 넘을 것입니다.&amp;nbsp;리버싱 초보자가 그걸 처음부터 다 배워야 할까요?&amp;nbsp;너무 힘들겠지요. 지겨워질 겁니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
그냥 새로운 내용이 튀어 나올때마다 다 해결하고 넘어가려고 하지 마시고&amp;nbsp;일단 맘에 묻어두시고 계속 진행하시는 것이 중요합니다. 반복 학습 하는 과정에서 한가지씩 차츰 차츰 배워나가시면 됩니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
예를 들어 &lt;b&gt;&lt;i&gt;&quot;XOR EAX, EAX&quot;&lt;/i&gt;&lt;/b&gt; 의 의미는 디버깅을 몇 번 해보시면 저절로 체감하게 되는 내용입니다.&amp;nbsp;처음 볼때나 낯설고 흥미롭지요. 하지만 100번 봤다고 생각해 보세요.&amp;nbsp;그냥 당연하게 받아들이게 됩니다. 오히려 같은 의미의&amp;nbsp;&lt;b&gt;&lt;i&gt;&quot;MOV EAX, 0&quot;&lt;/i&gt;&lt;/b&gt; 명령어가 이상하게 보일겁니다. XOR EAX, EAX 를 왜 안썼을까 하고 말이죠.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;
&lt;span style=&quot;font-size: 14pt; &quot;&gt;3. &quot;재미&quot;를 느끼셔야 합니다.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
초보일수록 더더욱 리버싱 과정에서의 재미를 찾으셔야 합니다.&amp;nbsp;어렵고 지겨운데 어떻게 계속 해나갈 수 있겠습니까? 리버싱이 재밌고, 하나씩 모르는 걸 배워나가고, 내가 맘먹은대로 프로그램을 패치시키는&amp;nbsp;이런 과정에서 재미를 찾으셔야 하지요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
사람은 재미있는 일이라면 남들이 아무리 말려도 스스로 하게 되어있답니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;
&lt;span style=&quot;font-size: 14pt; &quot;&gt;4. &quot;검색&quot;을 생활화 하셔야 합니다.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&quot;검색하면 9할은 나온다&quot;&lt;/font&gt;&lt;/b&gt; &amp;lt;- 제가 어디서 읽은 후 맘속에 담아둔 명언 입니다.&amp;nbsp;특히 리버싱 기술은 수많은 검색을 통한 지식 습득이 필수적입니다.&amp;nbsp;역사가 짧고 관련 전문가도 적고 관련 서적도 거의 없다시피 하니까요. 일단 믿고 검색해 보시기 바랍니다. 반드시 원하시는 내용을 찾을 수 있으실 겁니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;
&lt;span style=&quot;font-size: 14pt; &quot;&gt;5. 제일 중요한건 &quot;실천&quot;입니다.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&quot;Just Do It&quot;&lt;/font&gt;&lt;/b&gt; 아시죠~&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
뭔가를 이루고는 싶은데...&amp;nbsp;맘을 먹으셨으면... 행동을 하셔야죠... 그것도 지금 당장 하는겁니다...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
제 블로그에 있는 HelloWorld 부터 무작정 따라해보는 겁니다.&amp;nbsp;당연히 처음에는 하나도 아는게 없지요.&amp;nbsp;모든게 낯설게 느껴집니다. (특히 어셈블리 명령어는 거의 외계 언어로 보이죠.)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
첫 목표는 디버거를 이용해서 main() 함수를 찾아가는 겁니다.&amp;nbsp;디버거에 일단 익숙해 지기 위해서 메뉴도 하나씩 건드려 보고요.&amp;nbsp;tracing(StepIn[F7], StepOut[F8] 명령어를 이용) 을 마구 해보는 겁니다.&amp;nbsp;차츰 감이 오다가 결국 main() 을 찾게 됩니다.&amp;nbsp;C 소스 코드와 Disasembly 코드의 차이도 확인해 보시구요.&amp;nbsp;시작은 성공하신 겁니다! 출발이 좋군요. ^^&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
그다음 간단한 crackme, patchme, unpackme 등을 찾아서 해보시구요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
흔히 볼 수 있는 메모장, 계산기등을 패치해봅니다.&amp;nbsp;(아주 간단히 말이죠. 가령 기능을 막아본다던지 하는 그런 정도로요.) 그 후 차츰차츰 대상을 넓혀 가시는 겁니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;6. &quot;느긋한 마음&quot;을 가지세요.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
리버싱 초보자가 가장 걸리기 쉬운 병이 바로 &quot;조급증&quot; 입니다. 빨리 성과를 내고는 싶은데 공부가 만만치는 않고 실력은 제자리에서 맴돌고 있습니다. 자신이 얼마나 모르는 것인지, 제대로 가긴 하는 건지 너무 답답합니다. 어셈블리, 윈도우즈 내부구조, PE 파일 포멧, API 후킹 등 뭐 하나 쉬운게 없습니다. 어셈블리 한가지만 봐도 어디까지 공부를 해야 하는지 알 수 가 없지요.&amp;nbsp;이럴때 마음이 급해지고 목표를 잃어 버리게 됩니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
제가 해드리는 얘기를 잘 읽어 보시기 바랍니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 14pt; &quot;&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; &quot;&gt;&lt;b&gt;世界最强&amp;nbsp;&lt;/b&gt;&lt;/span&gt;大韓民國&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
위 한자들을 읽어 보세요. &quot;세계최강&amp;nbsp;대한민국&quot; 입니다. 대부분 정확히 읽으셨을 겁니다.&amp;nbsp;그렇다면 안보고 정확히 쓸 수도 있으신가요?&amp;nbsp;아마 안보고 쓰는건 쉽지 않으실 겁니다. ^^&amp;nbsp;위 8 글자 중에서 한 두 글자를 모르더라도 주변 글자들을 통해서 전체를 읽어 낼 수 있습니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;
저를 비롯한 많은 리버서들이 어셈블리 명령어를 100%&amp;nbsp;자유자재로 구사하지는 못합니다.&lt;/u&gt;&amp;nbsp;몇명은 그래도 어셈블리 프로그래밍이 가능하지만 많은 사람들은 그렇지 못합니다.&amp;nbsp;마치 위의 한자를 읽을 수만 있고 쓸 수는 없는 것과 비슷한 상황입니다.&amp;nbsp;그래도 리버싱만 잘해요~ ^^ 명령어를 모르면 찾아 보면 되니까요. 그 정도만 알아도 프로그램의 동작 흐름을 알아낼 수 있습니다. 아마 이런식으로 몇 년이 더 흐르면 지금보다 훨씬 잘하게 되겠지요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
중요한 것은 저와 제가 아는 모든 리버서들도 초보 시절에는 (여러분들과 같이) 다 고만고만한 조건이었다는 것입니다. 꾸준히 하다보니 자연스럽게 어느 정도의 실력이 쌓인 것이지요. 절대로 조급해 하지 않았습니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;font color=&quot;#3058D2&quot;&gt;여러분들도 지금 당장 시작해보세요~&amp;nbsp;분명히 성과가 나타날 것입니다.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
제가 어떻게 장담하냐구요? 저는 사실 &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;구체적인 성공 사례&lt;/font&gt;&lt;/b&gt;를 알기 때문입니다. 블로그를 운영하면서 많은 분들께 과분한 감사의 메일을 받았습니다. 그 사연들을 읽어보면 감동에 이어 전율이 흐를 때도 있습니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;div&gt;
- 대학 졸업작품이 단과대 전체 최우수 작품으로 선정되었습니다. (상까지 받으셨다는...)&lt;/div&gt;
&lt;div&gt;
- 개발 프로젝트에 후킹 기술을 적용해서 쉽게 해결할 수 있었습니다. (유명 회사 개발팀 소속이십니다.)&lt;/div&gt;
&lt;div&gt;
- XX소프트웨어 멤버십에 합격했습니다. (XX 취직이 보장된다는 그런 곳이라죠.)&lt;/div&gt;
&lt;div&gt;
- 리버싱 프로젝트(&quot;문서 암호화&quot;)를 성공시켰습니다. (아마 대학교 동아리 였던걸로 기억합니다.)&lt;/div&gt;
&lt;div&gt;
- 기타...&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
이분들께서는 대부분 리버싱 초보셨습니다. 본인들의 불타는 열정으로 엄청난 성취를 이루어 내신 거지요. 따라서 제가 여러분도 할 수 있다고 장담할 수 있는 것이고요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
공부하시다가 모르시는 내용이 있으세요? 질문하세요~&amp;nbsp;저도 다른 분들의 생각을 들어보고 같이 고민하는 것을 좋아합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
자, 지금 당장 시작하세요~ ^^&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 190);&quot;&gt;ReverseCore&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;</description>
      <category>column</category>
      <category>it</category>
      <category>Just Do It</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>Reversing</category>
      <category>검색</category>
      <category>긍정</category>
      <category>느긋함</category>
      <category>리버스엔지니어링</category>
      <category>리버싱</category>
      <category>리버싱 공부 방법</category>
      <category>목표</category>
      <category>소프트웨어 역공학</category>
      <category>실천</category>
      <category>재미</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/92</guid>
      <comments>https://reversecore.tistory.com/92#entry92comment</comments>
      <pubDate>Wed, 13 Oct 2010 00:57:57 +0900</pubDate>
    </item>
    <item>
      <title>리버싱 현업에서 사용되는 디버거(Debugger)들</title>
      <link>https://reversecore.tistory.com/91</link>
      <description>&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(121, 165, 228); border-right-color: rgb(121, 165, 228); border-bottom-color: rgb(121, 165, 228); border-left-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
리버서들이 가장 많이 사용하는 도구인 디버거(Debugger)에 대해 이야기 해보도록 하겠습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
리버싱 현업에서 사용되는 Debugger 들을 간략히 정리해 보겠습니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;&lt;font color=&quot;#000000&quot;&gt;1. OllyDbg&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
☞ &lt;a href=&quot;http://www.ollydbg.de/&quot;&gt;http://www.ollydbg.de/&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
OllyDbg 는 사용이 편리하고 가볍고 빠른 무료 Debugger 입니다. 도저히 무료라고 보기 힘든 다양한 기능과 많은 Plugin 을 통한 확장성으로 인하여 수 많은 리버서들의 열광적인 지지를 얻고 있습니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
OllyDbg 는 리버싱 초보부터 전문가까지 폭넓게 사용되는 가장 인기 있는 디버거입니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1166ED0C4CA1F54B9E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1166ED0C4CA1F54B9E&quot; width=&quot;600&quot; height=&quot;480&quot; filename=&quot;OllyDbg.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;lt;그림 1 - OllyDbg&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
OllyDbg 의 장점으로는 가볍고 빠르며 상당히 다양한 기능과 많은 옵션을 제공한다는 것입니다. 또한 PlugIn 기능을 통한 확장성을 제공합니다. 가장 사용자가 많고 OllyDbg 를 이용한 리버싱 강좌가 많이 있기 때문에 초보자도 쉽게 배울 수 있습니다. 그리고 무료로 제공된다는 점도 큰 장점입니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
단점으로는 개인이 혼자서 개발한 거라 업데이트와 후속 제품의 개발 주기가 늦다는 것입니다. 다행히 최근에 OllyDbg 2.0 Final 버전이 릴리즈 되었습니다. 비록 겉모습은 이전 버전과 동일하지만 내부 코드는 완전히 새롭게 프로그래밍 하여 속도와 정확성 등이 크게 향상되었다고 하네요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;2. IDA Pro&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
☞&amp;nbsp;&lt;a href=&quot;http://www.hex-rays.com/idapro/&quot;&gt;http://www.hex-rays.com/idapro/&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Hex-rays 사의 IDA Pro 는 현재 최고의 Disassembler &amp;amp; Debugger 라고 말할 수 있습니다. 과거에는 Disassembler 성격이 강했으나, 수많은 업데이트를 통해 Debugger 기능 또한 막강해 졌습니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
수 많은 다양한 기능들을 설명하는 전문 서적이 따로 존재할 정도로 엄청난 기능을 자랑합니다. 또한 Decompiler Plugin 등을 추가로 장착하면 리버싱이 말할 수 없이 편리해 집니다. 그만큼 가격도 비싸지요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
많은 리버싱 전문가들이 IDA Pro 를 주력으로 삼으면서 리버싱 전문 툴로써의 입지를 탄탄히 굳히고 있습니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
장점으로는 다 써보지도 못할 정도로 다양한 기능과 충실한 업데이트를 들 수 있습니다. 다만 가격이 비싸고 사용법이 비교적 복잡하며 초기 로딩 시간이 좀 걸린다는 것을 단점으로 들 수 있겠습니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/147819304CA1F5DE08&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F147819304CA1F5DE08&quot; width=&quot;600&quot; height=&quot;480&quot; filename=&quot;IDAPro.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;lt;그림 2 – IDA Pro&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;3. WinDbg&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.microsoft.com/whdc/devtools/debugging/default.mspx&quot;&gt;http://www.microsoft.com/whdc/devtools/debugging/default.mspx&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
WinDbg 는 DOS 시절 16 bit 디버거인 debug.exe 의 Windows 버전입니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/18237D314CA1F60EE2&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F18237D314CA1F60EE2&quot; width=&quot;600&quot; height=&quot;311&quot; filename=&quot;Debug.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;lt;그림 3 – Debug.exe&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
콘솔 화면에서 키보드만으로 디버깅을 하는 debug.exe 의 사용자 인터페이스를 그대로 가져왔습니다. 저는 이런 스타일의 프로그램을 매우 좋아하지만 반대로 거부감을 갖는 분들도 상당수 계십니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
유저 모드 디버깅(User Mode Debugging) 분야에서는 사용자 편리성이 뛰어난 OllyDbg 나 IDA Pro 가 꽉 잡고 있습니다. 따라서 WinDbg 는 주로 커널 모드 디버깅(Kernel Mode Debugging)에 주로 사용됩니다. 전설적인 커널 디버거인 SoftICE 의 후속 제품 개발이 중단된 이후 커널 디버깅 분야에서 사실상 독보적인 존재가 되어 버렸습니다. (경쟁 제품이 없는 상태입니다.)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
역사가 오래 된 만큼 기능도 다양하고 사용 방법에 대한 전문 서적이 여러 권 나와 있습니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1561890C4CA1F626A9&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1561890C4CA1F626A9&quot; width=&quot;600&quot; height=&quot;480&quot; filename=&quot;WinDbg.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;lt;그림 4 - WinDbg&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
장점은 커널 디버깅이 가능하다는 것과 Microsoft 에서 직접 만든 디버거라는 점입니다. 시스템 파일에 대한 심볼(Symbol)을 직접 다운 받을 수 있어서 시스템 내부 구조체(Undocumented 포함) 및 API 에 대한 정보를 얻을 수 있습니다. 또한 Windows OS 의 덤프 파일을 읽어 들여 분석할 수 있기 때문에 시스템 크래쉬(Crash)가 발생했을 때 원인을 분석해 낼 수 있습니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
단점으로는 다른 디버거들에 비해 좀 떨어지는 사용자 환경과 편의성을 꼽을 수 있겠습니다. (예를 들어 코드에 직접 주석을 입력할 수 없고, Disassembly 코드에서 호출되는 API 이름도 잘 표시되지 않는 등의 불편함이 있습니다.)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
그래도 커널 드라이버 개발과 유지보수에 필수적으로 사용되는 디버거 입니다. 리버싱에서는 커널 드라이버 파일 분석에 주로 사용됩니다. 최근에는 대부분 WinDbg 와 VirtualPC(또는 VMWare) 조합으로 커널 디버깅을 수행합니다. 향후 여러분들의 리버싱 실력이 쌓인 후 커널 드라이버(예: Rootkit) 등을 분석할 때 자주 사용될 것입니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
+---+&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
지금까지 리버싱 현업에서 사용되는 대표적인 디버거들에 대해서 간략히 살펴보았습니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
제 경우에는 유저 모드 디버깅에 OllyDbg 1.10 를 사용하고, 커널 모드 디버깅에는 WinDbg 를 사용합니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;font color=&quot;#5C7FB0&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 190); &quot;&gt;ReverseCore&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>tool</category>
      <category>debugger</category>
      <category>Hex-rays</category>
      <category>IDA Pro</category>
      <category>it</category>
      <category>Microsoft</category>
      <category>OllyDbg</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>Reversing</category>
      <category>softice</category>
      <category>windbg</category>
      <category>디버거</category>
      <category>리버스 엔지</category>
      <category>리버싱</category>
      <category>소프트웨어 역공학</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/91</guid>
      <comments>https://reversecore.tistory.com/91#entry91comment</comments>
      <pubDate>Wed, 29 Sep 2010 00:05:00 +0900</pubDate>
    </item>
    <item>
      <title>책소개</title>
      <link>https://reversecore.tistory.com/90</link>
      <description>&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;책소개&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
제가 요즘 회사일, 집안일 외에 대부분의 시간에 리버싱 서적을 열심히 쓰고 있습니다. 책 홍보를 위해 간략히 소개해 드리자면 &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;타겟&lt;/span&gt;&lt;/font&gt;&lt;/b&gt; 독자층은 &quot;리버싱 입문을 원하는 초보자&quot;와 &quot;리버싱 레퍼런스가 필요한 중급자&quot; 입니다. &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;컨셉&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;은 &quot;내부 동작 원리를 아주 쉽고 뜨겁게 이야기&quot; 하는 것입니다. &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;분량&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;은 (제발) 1,000 페이지가 넘지 않도록 노력 중입니다. 책 &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;내용&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;은 블로그 내용을 좀 다듬어서 60% 정도를 채우고, 새로운 주제를 써서 나머지 40% 정도를 채울 예정입니다. 그리고 실습 예제를 많이 넣으려고 합니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;일정&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
집필 일정은 늦가을까지로 예정했었습니다. 그런데 쓰면 쓸수록 제 자신이 점점 진지해지면서 입문자에게 필요하다고 생각되는 &lt;u&gt;범위와 분량이 대폭 늘어나고 있습니다&lt;/u&gt;. 일정과 분량을 조절할 필요가 있네요. 욕심을 자제하려고 노력도 해봤지만, 진정한 &quot;리버싱 입문서&quot;를 독자에게 제공해야 한다는 사명감(?) 같은 게 생겨서 이젠 굳이 자제하려고 노력하지 않습니다. ^^&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;조언&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
제 블로그를 방문하시는 분들 중에서 혹시 제가 책에서 다루면 좋겠다고 생각되는 &lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;주제(또는 조언, 건의, 아무거나)&lt;/font&gt;&lt;/b&gt;가 있으시다면 댓글로 알려주시기 바랍니다. 작업에 큰 도움이 될 것입니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 14pt; &quot;&gt;&lt;b&gt;블로그&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;hr style=&quot;height: 1px; border-top-width: 1px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; display: block; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;
블로그에 글을 많이 올리지 못해서 자주 방문하시는 분들께 죄송하다는 말씀을 드립니다. &lt;u&gt;&lt;font color=&quot;#3058D2&quot;&gt;집필이 끝나면 제 블로그에는 실전 리버싱 실습 위주로 포스팅을 할 예정입니다. 그리고 책에 미처 쓰지 못한 내용들을 올리게 될 것입니다&lt;/font&gt;.&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
제 블로그는 매일 방문하고 있습니다. 댓글의 질문들에 답변도 올리고, 이메일로 문의하신 내용도 꼭 챙겨읽고 답변 드리고 있습니다. 리버싱 하시다가 궁금한 점 있으시면 부담 갖지 마시고 질문해 주세요. 저는 같이 생각해 보는 것을 좋아합니다. 답변 달면서 제가 더 많이 배우니까요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
그리고 바쁘더라도 종종 글을 올려야겠어요. 예전에는 블로그 포스팅 하는게 저의 즐거움 이었는데 말이죠. 요즘엔 글을 쓰기만 하고 올리지는 않으니 즐거움이 하나 줄었어요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
방문해 주시는 모든 분들께 감사 드립니다.&lt;/div&gt;
&lt;div&gt;
댓글, 이메일 보내주시는 분들에게도 감사드려요. 여러분께서는 모두 가까운 미래에 '열혈 리버서' 가 되실 것입니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
감사합니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
* 제가 좋아하는 멘트를 하나 남길께요~ 제 트위터에도 쓴 내용입니다. (트위터를 혼잣말 하는 공간으로 활용하기 때문에 Follow, RT 이런거 없어요. ^^)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(121, 165, 228); border-right-color: rgb(121, 165, 228); border-bottom-color: rgb(121, 165, 228); border-left-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;font color=&quot;#3058D2&quot;&gt;
&quot;똑같은 시기에 비슷한 생각을 하는 사람은 많지만 실천에 옮기는 사람은 드물다. 나는 생각을 행동에 옮겼을 뿐이다. 기회는 도전하고 실천하는 자가 받는 선물 같은 것이다.&quot; - 강덕수, STX 그룹 회장 (창업주)&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;</description>
      <category>리버싱 핵심 원리/story</category>
      <category>@reversecore</category>
      <category>it</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>Reversing</category>
      <category>stx</category>
      <category>강덕수</category>
      <category>리버스 엔지니어링</category>
      <category>리버싱</category>
      <category>리버싱 책</category>
      <category>소프트웨어 역공학</category>
      <category>쉽고 뜨겁게</category>
      <category>창업자</category>
      <category>창업주</category>
      <category>회장</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/90</guid>
      <comments>https://reversecore.tistory.com/90#entry90comment</comments>
      <pubDate>Mon, 6 Sep 2010 01:00:00 +0900</pubDate>
    </item>
    <item>
      <title>리버서의 연륜을 말해주는 Opcode Manual</title>
      <link>https://reversecore.tistory.com/89</link>
      <description>&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
지난주부터 &quot;IA-32 Instruction&quot; 챕터를 작업하는 중인데요, IA-32 Instruction 이란 쉽게 말해 아래 그림에서 빨간 박스로 표시된 부분을 말하는 것입니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 387px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/113C72104C78240A36&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F113C72104C78240A36&quot; width=&quot;387&quot; height=&quot;114&quot; filename=&quot;ollydbg00.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
디버거에 탑재된 Disassembler 가 저 Instruction 을 해석해서 우리가 익히 보는 (오른쪽의) Disassembly 코드를 만들어 내지요.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&quot;IA-32 Instruction&quot; 챕터를 작업하면서 제 노하우를 공개하였습니다. 그건 바로 Intel IA-32 Manual 에서 Instruction 을 해독하기 위해 필요한 Opcode Map(Opcode Table) 부분만 프린터로 출력한 것입니다. 저한테는 &lt;font color=&quot;#5C7FB0&quot;&gt;&lt;u&gt;Opcode 매뉴얼&lt;/u&gt;&lt;/font&gt;인 셈이지요. (아래 그림 참고)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/1211692E4C7B852B75&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F1211692E4C7B852B75&quot; width=&quot;500&quot; height=&quot;375&quot; filename=&quot;manual.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
작업 중인 책 내용의 일부를 소개합니다. (참고 섹션 내용입니다.)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(243, 197, 52); border-right-color: rgb(243, 197, 52); border-bottom-color: rgb(243, 197, 52); border-left-color: rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;div&gt;
&lt;i&gt;&lt;font color=&quot;#3058D2&quot;&gt;
* 참고&lt;/font&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;font color=&quot;#3058D2&quot;&gt;&lt;br /&gt;
&lt;/font&gt;
&lt;/i&gt;&lt;font color=&quot;#3058D2&quot;&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;font color=&quot;#3058D2&quot;&gt;
위 출력물이 너덜너덜 해질 때쯤 여러분은 IA-32 Instruction 해석의 고수가 되어 있으실 겁니다. 저 또한 5년 동안 손 때묻은 저만의 출력물을 한 부 가지고 있습니다. 후배나 동료가 Instruction 해석에 관해서 물어오면 자랑스럽게 꺼내서 가르쳐 줍니다. 많이 참고하다 보면 어떤 내용이 대충 어느 페이지에 있다는 감이 생겨서 한번에 그곳을 펼칠 수 있습니다. (생활의 달인?)&lt;/font&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;font color=&quot;#3058D2&quot;&gt;제가 가장 존경하는 선배님도 이러한 출력물을 가지고 계셨습니다. 그 당시에도 매우 낡아 보였지요. 어찌 보면 이것이 리버서의 연륜(?)을 나타내는 하나의 척도로 볼 수 도 있겠습니다. 여러분께서도 꼭 자신만의 출력물을 한 부 만들어서 활용해 보시기 바랍니다.&lt;/font&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
이처럼 오랫동안 저랑 같이 작업한 제 손 때묻은 매뉴얼 이라서 어느덧 애정이 생겨 버렸습니다. (기술자들은 모두 그런 게 한두 개씩은 있잖아요? 자신과 오랫동안 함께 하면서 분신이 되어버린 도구 같은…)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
최근 1~2년은 주로 각종 자동화 시스템의 개발/유지보수 업무를 하면서 Opcode 매뉴얼을 거의 꺼내 보지 못했었는데, 이번에 &quot;IA-32 Instruction&quot; 챕터를 쓰면서 다시 꺼내어 보니 감개가 무량하더군요. (그동안 소홀해서 미안해~ 이번 챕터는 다 니 덕이야~ 고마워~)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
더불어 제게 처음 IA-32 Instruction 을 가르쳐 주시고(사실 개발, 분석을 다 가르쳐 주셨죠) 제가 가장 존경하는 선배님(형님)이 생각납니다. 지금은 외국에 계셔서 만나 뵙기는 힘듭니다만 오늘은 그분이 더 보고 싶네요. ^^~&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>column</category>
      <category>IA-32</category>
      <category>IA-32 Instruction</category>
      <category>IA-32 Opcode</category>
      <category>IA32</category>
      <category>ia32 instruction</category>
      <category>ia32 opcode</category>
      <category>Instruction</category>
      <category>Intel</category>
      <category>Manual</category>
      <category>map</category>
      <category>Opcode</category>
      <category>Opcode map</category>
      <category>opcode table</category>
      <category>x86</category>
      <category>x86 instruction</category>
      <category>x86 opcode</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/89</guid>
      <comments>https://reversecore.tistory.com/89#entry89comment</comments>
      <pubDate>Tue, 31 Aug 2010 01:00:00 +0900</pubDate>
    </item>
    <item>
      <title>InjDll.exe &amp;ndash; DLL Injection/Ejection 전용 도구</title>
      <link>https://reversecore.tistory.com/76</link>
      <description>&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div style=&quot;BORDER-BOTTOM: rgb(121,165,228) 1px solid; BORDER-LEFT: rgb(121,165,228) 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(219,232,251); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(121,165,228) 1px solid; BORDER-RIGHT: rgb(121,165,228) 1px solid; PADDING-TOP: 10px&quot; class=&quot;txc-textbox&quot;&gt;
&lt;div&gt;
제가 개발한 &lt;b&gt;&lt;font color=&quot;#3058d2&quot;&gt;InjDll.exe &lt;/font&gt;&lt;/b&gt;프로그램을 소개합니다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
이 프로그램을 이용해서 원하는 DLL 을 대상 프로세스에 Injection/Ejection 시킬 수 있습니다.&lt;/div&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;b&gt;&lt;font color=&quot;#3058d2&quot;&gt;DLL Injection&lt;/font&gt;&lt;/b&gt; 에 관련된 설명을 아래 링크를 참조하세요.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
☞ &lt;a title=&quot;[http://www.reversecore.com/38]로 이동합니다.&quot; href=&quot;http://www.reversecore.com/38&quot; target=&quot;_self&quot;&gt;DLL Injection – 다른 프로세스에 침투하기 (1)&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
☞ &lt;a title=&quot;[http://www.reversecore.com/73]로 이동합니다.&quot; href=&quot;http://www.reversecore.com/73&quot; target=&quot;_self&quot;&gt;DLL Injection in Windows 7&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;b&gt;&lt;span style=&quot;FONT-SIZE: 14pt&quot;&gt;InjDll.exe (Ver 1.0.0)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div&gt;
&lt;hr style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
제 블로그 study 에서 자주 소개되는 프로그램입니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
소스를 조금 다듬고 기능을 추가시켜서 정식 버전(1.0.0)으로 배포합니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1142031A4B9CFE9067&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;InjDll.exe&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;b&gt;&lt;font color=&quot;#3058d2&quot;&gt;이 프로그램은 공개용이며, 자유롭게 사용하실 수 있습니다.&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;font color=&quot;#e31600&quot;&gt;&lt;b&gt;* 주의!&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;font color=&quot;#e31600&quot;&gt;기본적으로 Windows 2000 이상만 지원합니다. (Windows 7, XP 에서 테스트 되었습니다.)&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;font color=&quot;#e31600&quot;&gt;Windows 9X 계열에서는 사용하실 수 없습니다.&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
사용방법은 아래와 같습니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div style=&quot;BORDER-BOTTOM: rgb(203,203,203) 1px solid; BORDER-LEFT: rgb(203,203,203) 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(255,255,255); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(203,203,203) 1px solid; BORDER-RIGHT: rgb(203,203,203) 1px solid; PADDING-TOP: 10px&quot; class=&quot;txc-textbox&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;InjDll.exe &amp;lt;procname|pid|*&amp;gt; &amp;lt;-i|-e&amp;gt; &amp;lt;dll path&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font color=&quot;#000000&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;procname|pid|*&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;procname &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;Process name (ex: explorer.exe, notepad.exe, etc)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;pid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Process ID&lt;/span&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;-i|-e&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;-i&lt;/span&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;Injection Mode&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;-e&lt;/span&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;Ejection Mode&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-STYLE: normal; FONT-FAMILY: 굴림; COLOR: rgb(51,51,51); FONT-WEIGHT: normal&quot;&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-STYLE: normal; FONT-FAMILY: 굴림; COLOR: rgb(51,51,51); FONT-WEIGHT: normal&quot;&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;lt;dll path&amp;gt;&lt;/span&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;FONT-FAMILY: 'Courier New'&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;FONT-FAMILY: Courier New&quot;&gt;DLL File Path (relative or full)&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;b&gt;&lt;span style=&quot;FONT-SIZE: 14pt&quot;&gt;사용 예&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div&gt;
&lt;hr style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/123DA3274B9CFEF376&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/dll.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;dummy.dll&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
- PID 2840 프로세스에게 dummy.dll 파일을 Injection 시킬 때&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 515px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/133FFD254B9CFFD691&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F133FFD254B9CFFD691&quot; width=&quot;515&quot; height=&quot;118&quot; filename=&quot;cmd_1.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
- IE 프로세스에게 dummy.dll 파일을 Injection 시킬 때&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 515px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/124D73284B9CFFEE03&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F124D73284B9CFFEE03&quot; width=&quot;515&quot; height=&quot;154&quot; filename=&quot;cmd_2.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
- 모든 프로세스에게 dummy.dll 파일을 Injection 시킬 때&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 572px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/200E57244B9D00165C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F200E57244B9D00165C&quot; width=&quot;572&quot; height=&quot;321&quot; filename=&quot;cmd_3.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
Ejection 은 –i 대신 –e 를 사용하면 됩니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;InjDll.exe (Ver 1.1.1)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;div&gt;
&lt;hr style=&quot;border-bottom-color: black; border-right-width: 0px; border-top-color: black; display: block; border-top-width: 1px; border-bottom-width: 0px; height: 1px; border-right-color: black; border-left-color: black; border-left-width: 0px; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;InjDll.exe 가 버전업 되었습니다.&amp;nbsp;(2010.10.29)&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/146241164CC9DDAF3F&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;InjDll32.exe&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/186302164CC9DDAF10&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;InjDll64.exe&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/144E63194CC9DDC12B&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/dll.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;dummy32.dll&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/194E56194CC9DDC13D&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/dll.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;dummy64.dll&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: transparent; &quot;&gt;&lt;b&gt;&lt;font color=&quot;#3058D2&quot;&gt;추가/변경 사항&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;u&gt;1. 64bit 지원&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
InjDll64.exe 를 이용하여 64bit 프로세스에 64bit DLL 파일을 인젝션 시킬 수 있습니다.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
* 64bit 프로세스에 DLL Injection 을 하기 위해서는 Injector(InjDll64.exe) &amp;amp; DLL 파일이 모두 64bit(PE32+) 이어야 합니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;u&gt;2. &amp;lt;dll path&amp;gt; 의 &quot;상대 경로&quot; 지원&amp;nbsp;&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
아래와 같이 Dll 파일 위치를 상대 경로로 입력할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Courier New'; &quot;&gt;InjDll32.exe notepad.exe -i dummy32.dll&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 'Courier New'; &quot;&gt;InjDll32.exe calc.exe -i ..\hook.dll&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 'Courier New'; &quot;&gt;...&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; &quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;&lt;b&gt;&lt;span style=&quot;FONT-SIZE: 14pt&quot;&gt;주의사항&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div&gt;
&lt;hr style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
1) 원격 스레드를 실행시켜 LoadLibrary() 를 호출하는 방식이므로 대상 프로세스에 kernel32.dll 이 로딩되어 있지 않다면 Injection/Ejection 작업은 실패합니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
2) 접근 권한이 제한된 (보호받는) 프로세스나 Anti-Injection 기법이 적용된 프로세스 들에게도 역시 Injection/Ejection 작업은 실패합니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
3) 원칙적으로 Injection 을 N 번 시켰을 때 Ejection 도 같은 횟수로 호출해 줘야 해당 DLL 이 제대로 unloading 됩니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;b&gt;&lt;span style=&quot;FONT-SIZE: 14pt&quot;&gt;Bugs&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div&gt;
&lt;hr style=&quot;BORDER-BOTTOM-COLOR: black; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-COLOR: black; DISPLAY: block; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; BORDER-RIGHT-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-LEFT-WIDTH: 0px&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
사용하시다가 버그가 발견된다면 댓글로 알려주시면 감사하겠습니다.&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(51, 51, 51); background-color: transparent; font-size: 9pt; line-height: 1.5; &quot;&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;BACKGROUND-COLOR: rgb(255,255,190)&quot;&gt;&lt;font color=&quot;#5c7fb0&quot;&gt;ReverseCore&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
위 글이 도움이 되셨다면 추천(VIEW ON) 부탁 드려요~&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 191); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; height: auto; line-height: normal; text-align: left; width: auto; direction: ltr; z-index: 99995; &quot;&gt;&lt;/div&gt;</description>
      <category>tool</category>
      <category>dll</category>
      <category>DLL Injection</category>
      <category>dummy.dll</category>
      <category>Eject</category>
      <category>InjDll.exe</category>
      <category>inject</category>
      <category>it</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>Reversing</category>
      <category>리버스 엔지니어링</category>
      <category>리버싱</category>
      <category>소프트웨어 역공학</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/76</guid>
      <comments>https://reversecore.tistory.com/76#entry76comment</comments>
      <pubDate>Mon, 15 Mar 2010 00:23:57 +0900</pubDate>
    </item>
    <item>
      <title>질문/답변 코너입니다. (2)</title>
      <link>https://reversecore.tistory.com/71</link>
      <description>&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
질문/답변 코너를 만든 이후로&amp;nbsp;많은 분들께서 질문을 해주시고, 답변도 도와 주셨습니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
모든 분들께 정말로 감사를 드립니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
댓글로 질문/답변을 진행하고 있는데요, 너무 댓글이 길어져서 사용하기 불편해졌습니다.&lt;/div&gt;
&lt;div&gt;
그래서 새로 추가하였습니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
이후부터는 이쪽에 질문/답변을 올려주세요~&lt;/div&gt;
&lt;div&gt;
감사합니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
* 예전 질문/답변 코너 링크입니다. (원하시는 내용이 있는지 검색해 보세요~)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
☞ &lt;a href=&quot;http://www.reversecore.com/52&quot; target=&quot;_self&quot; title=&quot;[http://www.reversecore.com/52]로 이동합니다.&quot;&gt;질문/답변 코너입니다.&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
=======================================================&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-right-color: rgb(121, 165, 228); border-right-width: 1px; border-right-style: solid; padding-right: 10px; border-top-color: rgb(121, 165, 228); border-top-width: 1px; border-top-style: solid; padding-left: 10px; padding-bottom: 10px; border-left-color: rgb(121, 165, 228); border-left-width: 1px; border-left-style: solid; padding-top: 10px; border-bottom-color: rgb(121, 165, 228); border-bottom-width: 1px; border-bottom-style: solid; background-color: rgb(219, 232, 251); &quot;&gt;
리버스 엔지니어링 분야에 대해&amp;nbsp;&lt;strong&gt;&lt;font color=&quot;#3058d2&quot;&gt;질문이 있으시면 아래의 댓글&lt;/font&gt;&lt;/strong&gt;로 올려주세요. 역시&amp;nbsp;&lt;strong&gt;&lt;font color=&quot;#3058d2&quot;&gt;댓글로 답변&lt;/font&gt;&lt;/strong&gt;을 올려드리겠습니다. 공개하기 어려운 내용은 '비밀글' 에 체크해주세요.&lt;br /&gt;
&lt;br /&gt;
&lt;font color=&quot;#e31600&quot;&gt;&quot;비도덕적, 불법적&quot; 인 내용은 답변 드릴 수 없음을 이해해 주시기 바랍니다.&lt;/font&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
댓글, 방명록, 이메일 등으로 많은 분들께서 여러 가지 질문들을 해주십니다.&amp;nbsp;&lt;br /&gt;
그중에 정말 좋은 질문들이 많아서 여러분들과&amp;nbsp;&lt;strong&gt;&lt;font color=&quot;#3058d2&quot;&gt;공유&lt;/font&gt;&lt;/strong&gt;하면 좋겠다고 생각하였습니다.&lt;/p&gt;
&lt;p&gt;이제부터 저에게 들어오는 모든 질문과 답변들을 이곳으로 모을 것입니다.&lt;br /&gt;
앞으로 질문과 답변은&amp;nbsp;이곳에서 해주세요~&lt;br /&gt;
&lt;br /&gt;
&lt;font color=&quot;#3058d2&quot;&gt;&lt;u&gt;질문에 대한 답변은 저 뿐만 아니라 제 블로그에 오시는 모든 분들께서 하실 수 있습니다.&lt;br /&gt;
&lt;/u&gt;&lt;/font&gt;문제 해결을 위한 방법은 다양합니다. 저 말고도 다른 분들의 답변은 언제나 환영입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;font style=&quot;background-color: rgb(212, 42, 27); &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;strong&gt;&quot;질문은 좋은 것 입니다. 많이 해주세요. ^^ &quot;&lt;br /&gt;
&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;
* 댓글로 질문하기 어려운 내용들(긴내용, 첨부파일 등)은 제 이메일(&lt;a href=&quot;mailto:reversecore@gmail.com&quot;&gt;reversecore@gmail.com&lt;/a&gt;)로 문의해 주세요.&lt;/p&gt;
&lt;p&gt;* 제가 사용하는 GMail 은 PE 파일을 첨부하면 전송 거부를 합니다. (압축을 시켜도 그걸 열어서 확인하지요.)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; =&amp;gt; 실행 파일을 첨부해서 보내실때는 확장자를 exex, dllx, zipx 등으로 변경해서 보내주세요.&lt;/p&gt;
&lt;p&gt;* 댓글이 너무&amp;nbsp;많이 달리면 제가 질문/답변 빈 포스트를 또 올릴 겁니다. 그쪽으로 계속 질문 댓글 달아주시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
감사합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;font color=&quot;#3058d2&quot; style=&quot;background-color: rgb(255, 255, 190); &quot;&gt;ReverseCore&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>q&amp;amp;a</category>
      <category>Communication</category>
      <category>Help</category>
      <category>it</category>
      <category>Reverse Code Engineering</category>
      <category>Reverse Engineering</category>
      <category>ReverseCore</category>
      <category>교류</category>
      <category>나눔</category>
      <category>답변</category>
      <category>댓글</category>
      <category>도움</category>
      <category>리버싱</category>
      <category>문제해결</category>
      <category>블로그</category>
      <category>소통</category>
      <category>소프트웨어 역공학</category>
      <category>역공학</category>
      <category>정보</category>
      <category>질문</category>
      <category>커뮤니케이션</category>
      <category>협동</category>
      <author>reversecore</author>
      <guid isPermaLink="true">https://reversecore.tistory.com/71</guid>
      <comments>https://reversecore.tistory.com/71#entry71comment</comments>
      <pubDate>Thu, 28 Jan 2010 12:09:57 +0900</pubDate>
    </item>
  </channel>
</rss>