<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>yon11b</title>
    <link>https://yon11b.tistory.com/</link>
    <description>보안과 개발과 음악과 &amp;quot;여행&amp;quot; 사이 / 
오늘 나는 어제보다 무엇을 하나 더 이해했는가?</description>
    <language>ko</language>
    <pubDate>Fri, 5 Jun 2026 15:40:33 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>yon11b</managingEditor>
    <image>
      <title>yon11b</title>
      <url>https://tistory1.daumcdn.net/tistory/5120754/attach/0415ccc07b3d4c48b99d8d68fd05941b</url>
      <link>https://yon11b.tistory.com</link>
    </image>
    <item>
      <title>[SK 쉴더스 루키즈] Practical Malware Analysis Lab 07-01 풀이</title>
      <link>https://yon11b.tistory.com/211</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 이 프로그램은 어떤 방식으로 컴퓨터가 재시작할 때마다 실행(지속매커니즘)을 보장하는가?&lt;/h2&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;650&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boIzGl/dJMcaglpsxL/w19cQWNQwkKk7ewZlG5YJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boIzGl/dJMcaglpsxL/w19cQWNQwkKk7ewZlG5YJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boIzGl/dJMcaglpsxL/w19cQWNQwkKk7ewZlG5YJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboIzGl%2FdJMcaglpsxL%2Fw19cQWNQwkKk7ewZlG5YJK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;510&quot; height=&quot;330&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;650&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;createserviceA로 Malservice를 services에 자동실행되게 등록함으로써 보장한다.&lt;br&gt;함수 인자 몇 가지만 보고 가자.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;lpBinaryPathName&lt;/b&gt;&lt;br&gt;path 쪽에 bp를 건 다음 실행해서 path를 확인해보면,&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1581&quot; data-origin-height=&quot;371&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mBZJ2/dJMcafz4tNM/DrGKMCNqAqchg3HWp5lq11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mBZJ2/dJMcafz4tNM/DrGKMCNqAqchg3HWp5lq11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mBZJ2/dJMcafz4tNM/DrGKMCNqAqchg3HWp5lq11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmBZJ2%2FdJMcafz4tNM%2FDrGKMCNqAqchg3HWp5lq11%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1581&quot; height=&quot;371&quot; data-origin-width=&quot;1581&quot; data-origin-height=&quot;371&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot;&gt;&lt;code&gt;BinaryPathName = &quot;C:\Documents and Settings\Windows\Desktop\malware_analysis_samples\Practical Malware Analysis Labs\BinaryCollection\Chapter_7L\Lab07_01.exe&quot;&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;.exe 파일 경로가 제대로 들어간 것을 확인할 수 있다.&lt;br&gt;이제 이 경로가 services에 등록이 된 것이다. 직접 확인해보면 다음과 같다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1555&quot; data-origin-height=&quot;661&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dB2zF8/dJMcahLpxGI/NyaERWktjaDwkHKLCjGfV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dB2zF8/dJMcahLpxGI/NyaERWktjaDwkHKLCjGfV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dB2zF8/dJMcahLpxGI/NyaERWktjaDwkHKLCjGfV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdB2zF8%2FdJMcahLpxGI%2FNyaERWktjaDwkHKLCjGfV1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1555&quot; height=&quot;661&quot; data-origin-width=&quot;1555&quot; data-origin-height=&quot;661&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;automatic으로 되어 있기 때문에, 재부팅을 할 때마다 저 .exe파일이 실행될 것이다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;dwStartType &lt;/b&gt;&lt;br&gt;dwStartType==2이면 재부팅 시 자동실행이다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;705&quot; data-origin-height=&quot;247&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dS5amV/dJMcaiKgwVD/RNrzXDeqHf14GKwbrw6Wzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dS5amV/dJMcaiKgwVD/RNrzXDeqHf14GKwbrw6Wzk/img.png&quot; data-alt=&quot;https://learn.microsoft.com/ko-kr/windows/win32/api/winsvc/nf-winsvc-createservicea&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dS5amV/dJMcaiKgwVD/RNrzXDeqHf14GKwbrw6Wzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdS5amV%2FdJMcaiKgwVD%2FRNrzXDeqHf14GKwbrw6Wzk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;198&quot; data-origin-width=&quot;705&quot; data-origin-height=&quot;247&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://learn.microsoft.com/ko-kr/windows/win32/api/winsvc/nf-winsvc-createservicea&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 이 프로그램은 왜 뮤텍스를 이용하고 있는가?&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터가&amp;nbsp;재시작할&amp;nbsp;때마다&amp;nbsp;실행하는데&amp;nbsp;중복&amp;nbsp;실행하지&amp;nbsp;않기&amp;nbsp;위해서.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 이 프로그램을 탐지할 때 호스트 기반으로 좋은 시그니처는 무엇인가?&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;1. 뮤텍스: HGL345&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;475&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byHktC/dJMcabxC6xK/dXljIyp5yeFyeWHivseKv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byHktC/dJMcabxC6xK/dXljIyp5yeFyeWHivseKv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byHktC/dJMcabxC6xK/dXljIyp5yeFyeWHivseKv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyHktC%2FdJMcabxC6xK%2FdXljIyp5yeFyeWHivseKv1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;439&quot; height=&quot;320&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;475&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 악성파일: Malservice&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 이 악성코드를 탐지할 때 네트워크 기반으로 좋은 시그니처는 무엇인가?&lt;/h2&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot;&gt;&lt;code&gt;http://www.malwareanalysisbook.com&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;정적분석을 통해서 wininet.dll을 사용하고 있음을 알아냈다. 즉, 네트워크 통신이 있다는 것이다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1333&quot; data-origin-height=&quot;398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A7ylT/dJMcadPIedr/CpestyfdwujpqLhLxkTD00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A7ylT/dJMcadPIedr/CpestyfdwujpqLhLxkTD00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A7ylT/dJMcadPIedr/CpestyfdwujpqLhLxkTD00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA7ylT%2FdJMcadPIedr%2FCpestyfdwujpqLhLxkTD00%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1333&quot; height=&quot;398&quot; data-origin-width=&quot;1333&quot; data-origin-height=&quot;398&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;ida에서 http를 입력하면 외부 url이 검색된다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;637&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rwDWq/dJMcafND8y4/fBY3JGwgdsLurJmz1EZ01K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rwDWq/dJMcafND8y4/fBY3JGwgdsLurJmz1EZ01K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rwDWq/dJMcafND8y4/fBY3JGwgdsLurJmz1EZ01K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrwDWq%2FdJMcafND8y4%2FfBY3JGwgdsLurJmz1EZ01K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;591&quot; height=&quot;376&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;637&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;두 번 클릭한 다음 ctrl+x를 눌러서 따라가 보자.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;973&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Yk9VD/dJMcahxS2U4/0CISaEiwcodI92X8GOPy01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Yk9VD/dJMcahxS2U4/0CISaEiwcodI92X8GOPy01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Yk9VD/dJMcahxS2U4/0CISaEiwcodI92X8GOPy01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYk9VD%2FdJMcahxS2U4%2F0CISaEiwcodI92X8GOPy01%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;627&quot; height=&quot;309&quot; data-origin-width=&quot;973&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;url을 InternetOpenUrlA로 실행한다.&lt;br&gt;근데 그러고 바로 또 jmp 해서 위로 올라가 해당 코드를 반복한다.&lt;br&gt;즉, 무한 반복하는 것이다. → DoS 공격일 가능성!&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 이 프로그램의 목적은 무엇인가?&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;DDoS 공격&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. 이 프로그램은 언제 실행을 종료하는가?&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;답: 종료를 안 함&lt;br&gt;InternetOpenUrlA 쪽에서 그래프를 그려보면 startaddress가 있다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;StartAddress란?&lt;/b&gt;&lt;br&gt;스레드가 시작할 함수의 주소를 의미한다.&lt;br&gt;CreateThread()의 3번째 인자인 lpStartAddress에 들어간다. CreateThread 메인 쓰레드 하나, StartAddress 서브 쓰레드 하나 또 실행 되는 것이므로 멀티 쓰레드라고 할 수 있다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;673&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dNE1DW/dJMcajoPvKk/huzDDg2iP73hYU7N1ue6ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dNE1DW/dJMcajoPvKk/huzDDg2iP73hYU7N1ue6ek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dNE1DW/dJMcajoPvKk/huzDDg2iP73hYU7N1ue6ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdNE1DW%2FdJMcajoPvKk%2FhuzDDg2iP73hYU7N1ue6ek%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;388&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;673&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상위 코드로 가보자.&lt;br&gt;맨 첫번째 줄에 커서를 두고 ctrl+x를 눌러준다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;537&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VikcC/dJMcahq8Fnq/OhHgO1sKUkm3gLZKijaB1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VikcC/dJMcahq8Fnq/OhHgO1sKUkm3gLZKijaB1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VikcC/dJMcahq8Fnq/OhHgO1sKUkm3gLZKijaB1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVikcC%2FdJMcahq8Fnq%2FOhHgO1sKUkm3gLZKijaB1K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;473&quot; height=&quot;419&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;537&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 화면이 나온다. CreateThread를 0x14번 반복한다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0gn6T/dJMcahq8Fnu/rms2IEwDPaIy6CPqKoanS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0gn6T/dJMcahq8Fnu/rms2IEwDPaIy6CPqKoanS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0gn6T/dJMcahq8Fnu/rms2IEwDPaIy6CPqKoanS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0gn6T%2FdJMcahq8Fnu%2Frms2IEwDPaIy6CPqKoanS0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;456&quot; height=&quot;338&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mov esi, 14h&amp;gt; esi에 0x14h 할당&lt;br&gt;dec esi &amp;gt; esi를 하나씩 감소시키면서 반복문 돎&lt;br&gt;중간에 보이는 lpStartAddress로 인해 아까 위에서 봤던 StartAddress 함수가 실행되어 URL 무한반복 호출 DoS 공격이 일어나게 되는 것이다.&lt;br&gt;그 밑에 코드를 보면, FFFF FFFF 만큼 sleep을 한다. 이건 메인 스레드를 무한 sleep 상태로 둔다는 말이다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;551&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sps3O/dJMcagThqrs/urIJZOMXMs2fXMQ9ll3Vp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sps3O/dJMcagThqrs/urIJZOMXMs2fXMQ9ll3Vp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sps3O/dJMcagThqrs/urIJZOMXMs2fXMQ9ll3Vp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsps3O%2FdJMcagThqrs%2FurIJZOMXMs2fXMQ9ll3Vp0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;501&quot; height=&quot;377&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;551&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 저 위치에서 Sleep 하는 건 메인 스레드이고, 이미 생성된 20개 스레드는 각자 StartAddress 안의 코드를 계속 실행한다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;정리&lt;/b&gt;&lt;br&gt;무한 sleep하는 이유?&lt;br&gt;⇒ 프로세스 종료 방지+작업 스레드들이 계속 동작하게 유지하기 위해서&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;치명적인 버그: 타이머 설정부터 무한 sleep까지 흐름 살펴보기&lt;/h2&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;557&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n47DH/dJMcahxS2WN/aZY8v5sMBJL86gQVtkz5LK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n47DH/dJMcahxS2WN/aZY8v5sMBJL86gQVtkz5LK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n47DH/dJMcahxS2WN/aZY8v5sMBJL86gQVtkz5LK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn47DH%2FdJMcahxS2WN%2FaZY8v5sMBJL86gQVtkz5LK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;418&quot; height=&quot;368&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;557&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; 설명 &lt;/b&gt;&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3397&quot; data-origin-height=&quot;1888&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZM7q1/dJMcagFMiYw/RaRRksZkqSkMHFUe00sxN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZM7q1/dJMcagFMiYw/RaRRksZkqSkMHFUe00sxN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZM7q1/dJMcagFMiYw/RaRRksZkqSkMHFUe00sxN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZM7q1%2FdJMcagFMiYw%2FRaRRksZkqSkMHFUe00sxN0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;792&quot; height=&quot;440&quot; data-origin-width=&quot;3397&quot; data-origin-height=&quot;1888&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SystemTime 구조체 값 할당&lt;/b&gt;&lt;br&gt;xor edx, edx =⇒ edx = 0&lt;br&gt;2100년 0월 0일 00:00:00&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;SystemTime -&amp;gt; FileTime 변환: SystemTimeToFileTime&lt;/b&gt;&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot;&gt;&lt;code&gt;SystemTimeToFileTime(&amp;amp;SystemTime, &amp;amp;DueTime);&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;SetWaitableTimer에서 시간을 FILETIME 형식으로 받기 때문에 변환하는 것이다.&lt;/p&gt;&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;SYSTEMTIME
2100-01-01 00:00:00

↓

FILETIME
Windows 내부 시간 형식
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;Waitable Timer 생성:&lt;/b&gt; CreateWaitableTimerA&lt;/p&gt;&lt;pre class=&quot;ini&quot;&gt;&lt;code&gt;hTimer = CreateWaitableTimerA(NULL, FALSE, NULL);
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;이름 없는 Waitable Timer 객체 생성&lt;br&gt;자동 리셋 타이머&lt;br&gt;보안 속성 기본값&lt;br&gt;이 함수의 반환값은 eax에 들어간다. (밑에서 mov esi, eax 로 eax 쓰임)&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;타이머 설정: 지정된 시간까지 기다리는 용도:&lt;/b&gt; SetWaitableTimer&lt;/p&gt;&lt;pre class=&quot;x86asm&quot;&gt;&lt;code&gt;push 0               ; fResume
push 0               ; lpArgToCompletionRoutine
push 0               ; pfnCompletionRoutine
lea edx, [esp+410h+DueTime]
push 0               ; lPeriod
**push edx             ; lpDueTime**
push esi             ; hTimer
call ds:SetWaitableTimer
&lt;/code&gt;&lt;/pre&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;lPeriod 0 -&amp;gt; 반복 주기 없음&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;lpDueTime까지 기다림&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;lpDueTime은 SystemTimeToFileTime의 출력값이다. 따라서 lpDueTime=2100년 0월 0일 00:00:00이 된다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;hHandle(hTimer)가 신호상태가 될 때까지 무한 대기:&lt;/b&gt; WaitForSingleObject&lt;/p&gt;&lt;pre class=&quot;x86asm&quot;&gt;&lt;code&gt;push 0FFFFFFFFh      ; dwMilliseconds
push esi             ; hHandle
call ds:WaitForSingleObject
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;타이머가 신호 상태가 될 때까지 무한 대기(2100년이 되기 전까지는 아무 실행도 안 하고 그냥 잠잠히 대기만 타고 있음)&lt;br&gt;⇒ 조건이 충족되면 깨어남&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;++제일 마지막 코드(아까 봤던 부분) - 무한 &lt;/b&gt;&lt;b&gt;sleep&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;551&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHfOJh/dJMcadB8yPr/KrYMyVutcfs7UAFtemug2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHfOJh/dJMcadB8yPr/KrYMyVutcfs7UAFtemug2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHfOJh/dJMcadB8yPr/KrYMyVutcfs7UAFtemug2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHfOJh%2FdJMcadB8yPr%2FKrYMyVutcfs7UAFtemug2K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;559&quot; height=&quot;420&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;551&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;만약 2100년이 되었다면, 위의 조건이 충족되어 깨어나고, 다음 코드(지금 여기)를 실행하게 된다.&lt;br&gt;여기서는 쓰레드를 0x14개(20개) 생성하고 무한 sleep을 걸게 된다.&lt;br&gt;이 무한 sleep은 탈출 조건도 없어서 진짜 영원히 thread가 돌아가게 된다.&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SYSTEMTIME 문서&lt;/b&gt;&lt;br&gt;지금 &lt;b&gt;SystemTime 구조체 값이&lt;/b&gt; 2100년 0월 0일 00:00:00으로 할당되어 있다.&lt;br&gt;그런데 SystemTime 구조체에 대한 msdn 문서를 살펴보면 month값과 day은 1부터 시작한다고 나와있다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;658&quot; data-origin-height=&quot;88&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxiZTA/dJMcafz4tQ8/ksiyPjaU3XqBAuWoCxEb01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxiZTA/dJMcafz4tQ8/ksiyPjaU3XqBAuWoCxEb01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxiZTA/dJMcafz4tQ8/ksiyPjaU3XqBAuWoCxEb01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxiZTA%2FdJMcafz4tQ8%2FksiyPjaU3XqBAuWoCxEb01%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;508&quot; height=&quot;68&quot; data-origin-width=&quot;658&quot; data-origin-height=&quot;88&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;668&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRKtYa/dJMcaiXMWDY/qVFHKY3h6FHlxaaIKHUzXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRKtYa/dJMcaiXMWDY/qVFHKY3h6FHlxaaIKHUzXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRKtYa/dJMcaiXMWDY/qVFHKY3h6FHlxaaIKHUzXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRKtYa%2FdJMcaiXMWDY%2FqVFHKY3h6FHlxaaIKHUzXk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;493&quot; height=&quot;443&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;668&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;371&quot; data-origin-height=&quot;94&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qOY6a/dJMcahR8tfX/xUDV2zt8h4ujp7TDEAeMW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qOY6a/dJMcahR8tfX/xUDV2zt8h4ujp7TDEAeMW1/img.png&quot; data-alt=&quot;https://learn.microsoft.com/ko-kr/windows/win32/api/minwinbase/ns-minwinbase-systemtime&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qOY6a/dJMcahR8tfX/xUDV2zt8h4ujp7TDEAeMW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqOY6a%2FdJMcahR8tfX%2FxUDV2zt8h4ujp7TDEAeMW1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;371&quot; height=&quot;94&quot; data-origin-width=&quot;371&quot; data-origin-height=&quot;94&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://learn.microsoft.com/ko-kr/windows/win32/api/minwinbase/ns-minwinbase-systemtime&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SystemTime 구조체가 잘못된 날짜를 나타내고 있는 것이다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;SystemTimeToFileTime 문서&lt;/b&gt;&lt;br&gt;SystemTime → FileTime을 변환을 위해 사용되는 SystemTimeToFileTime 함수 문서도 살펴보면, SystemTime이 잘못된 날짜를 나타내면 반환값으로 False 를 전달한다고 나와있다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;534&quot; data-origin-height=&quot;135&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XrjJf/dJMcag6M3Iz/HhGMztWA2mpSL7cM86C3BK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XrjJf/dJMcag6M3Iz/HhGMztWA2mpSL7cM86C3BK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XrjJf/dJMcag6M3Iz/HhGMztWA2mpSL7cM86C3BK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXrjJf%2FdJMcag6M3Iz%2FHhGMztWA2mpSL7cM86C3BK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;435&quot; height=&quot;110&quot; data-origin-width=&quot;534&quot; data-origin-height=&quot;135&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;361&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E6Ejb/dJMcabqUndp/JEwD5FZBvUjvPmoE8gGZo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E6Ejb/dJMcabqUndp/JEwD5FZBvUjvPmoE8gGZo1/img.png&quot; data-alt=&quot;https://learn.microsoft.com/ko-kr/windows/win32/api/timezoneapi/nf-timezoneapi-systemtimetofiletime&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E6Ejb/dJMcabqUndp/JEwD5FZBvUjvPmoE8gGZo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE6Ejb%2FdJMcabqUndp%2FJEwD5FZBvUjvPmoE8gGZo1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;509&quot; height=&quot;253&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;361&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://learn.microsoft.com/ko-kr/windows/win32/api/timezoneapi/nf-timezoneapi-systemtimetofiletime&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데! 코드를 보면 SystemTimeToFileTime 함수 반환값에 대한 검사(test eax, eax)를 하지 않고 있다.&lt;br&gt;그래서 잘못된 값이 그대로 SetWaitableTimer로 넘어가게 된다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;SetWaitableTimer 문서&lt;/b&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmPjDz/dJMcabqUndv/R2cIyxVkjfy24evgijS7rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmPjDz/dJMcabqUndv/R2cIyxVkjfy24evgijS7rk/img.png&quot; data-alt=&quot;https://learn.microsoft.com/ko-kr/windows/win32/api/synchapi/nf-synchapi-setwaitabletimer&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmPjDz/dJMcabqUndv/R2cIyxVkjfy24evgijS7rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmPjDz%2FdJMcabqUndv%2FR2cIyxVkjfy24evgijS7rk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;188&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://learn.microsoft.com/ko-kr/windows/win32/api/synchapi/nf-synchapi-setwaitabletimer&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 여기서는 잘못된 날짜가 들어왔을 때 어떻게 반응하는지에 대한 내용은 나와있지는 않다.&lt;br&gt;그럼 그냥 실행을 시켜보자. 어떤 문제가 일어날까?&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;답부터: CreateThread 부분이 바로 실행이 된다!&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;SystemTimeToFileTime&lt;/b&gt;&lt;br&gt;SystemTimeToFileTime에서 일단 systemtime → filetime 값이 어떻게 나오는지 보자.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;663&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQoh0b/dJMcaiXMWIX/Hk6tiM4kKmgKiTk8SaQhg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQoh0b/dJMcaiXMWIX/Hk6tiM4kKmgKiTk8SaQhg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQoh0b/dJMcaiXMWIX/Hk6tiM4kKmgKiTk8SaQhg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQoh0b%2FdJMcaiXMWIX%2FHk6tiM4kKmgKiTk8SaQhg0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;2006&quot; height=&quot;663&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;663&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;systemtime(0x0012F868)은 2100년 0월 0일 0시 0분 0초로 나오고 (34 08 ==2100년이다.)&lt;br&gt;filetime(0x0012F878)은 0년 0월 0일 0시 0분 0초로 나온다.&lt;br&gt;systemtime자체가 잘못된 값이니까 filetime에도 제대로 값이 잘 안 들어간 것이다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;SetWaitableTimer&lt;/b&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1999&quot; data-origin-height=&quot;582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HaPPh/dJMcadhXu0V/KfDNtecdkwKBYV2BKmNx4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HaPPh/dJMcadhXu0V/KfDNtecdkwKBYV2BKmNx4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HaPPh/dJMcadhXu0V/KfDNtecdkwKBYV2BKmNx4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHaPPh%2FdJMcadhXu0V%2FKfDNtecdkwKBYV2BKmNx4K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1999&quot; height=&quot;582&quot; data-origin-width=&quot;1999&quot; data-origin-height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;arg2는 lpDueTime을 나타낸다. 그 주소로 가보면 여전히(당연히) 0년 0월 0일 0시 0분 0초 값이 저장되어 있다.&lt;/p&gt;&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;BOOL SetWaitableTimer(
  [in]           HANDLE              hTimer,
  [in]           const LARGE_INTEGER *lpDueTime,
  [in]           LONG                lPeriod,
  [in, optional] PTIMERAPCROUTINE    pfnCompletionRoutine,
  [in, optional] LPVOID              lpArgToCompletionRoutine,
  [in]           BOOL                fResume
);
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;그리고 쭉 내려가보면 createThread 밑으로 내려가진다. 즉, createThread가 실행이 된다는 것이다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1335&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGR6pL/dJMcacXCS4Z/djbmjK5YePwImpTwoXen6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGR6pL/dJMcacXCS4Z/djbmjK5YePwImpTwoXen6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGR6pL/dJMcacXCS4Z/djbmjK5YePwImpTwoXen6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGR6pL%2FdJMcacXCS4Z%2FdjbmjK5YePwImpTwoXen6K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1335&quot; height=&quot;570&quot; data-origin-width=&quot;1335&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;JNZ에서 다시 PUSH 0으로 올라와 반복문을 실행한다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1334&quot; data-origin-height=&quot;409&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kKVkQ/dJMcaiDx4oV/tbSjOatESnLkpSVuoOdP40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kKVkQ/dJMcaiDx4oV/tbSjOatESnLkpSVuoOdP40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kKVkQ/dJMcaiDx4oV/tbSjOatESnLkpSVuoOdP40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkKVkQ%2FdJMcaiDx4oV%2FtbSjOatESnLkpSVuoOdP40%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1334&quot; height=&quot;409&quot; data-origin-width=&quot;1334&quot; data-origin-height=&quot;409&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1343&quot; data-origin-height=&quot;355&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caVtmn/dJMcacpO4U9/Rvl5zahtDsGCh5k3wZGlG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caVtmn/dJMcacpO4U9/Rvl5zahtDsGCh5k3wZGlG1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caVtmn/dJMcacpO4U9/Rvl5zahtDsGCh5k3wZGlG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaVtmn%2FdJMcacpO4U9%2FRvl5zahtDsGCh5k3wZGlG1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1343&quot; height=&quot;355&quot; data-origin-width=&quot;1343&quot; data-origin-height=&quot;355&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1월 1일로 바꿔서 실행하면?&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;0월 0일&lt;/b&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1912&quot; data-origin-height=&quot;901&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BvBVL/dJMcageFnb7/oKkWJQsJoHg43F6KLHLT9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BvBVL/dJMcageFnb7/oKkWJQsJoHg43F6KLHLT9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BvBVL/dJMcageFnb7/oKkWJQsJoHg43F6KLHLT9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBvBVL%2FdJMcageFnb7%2FoKkWJQsJoHg43F6KLHLT9K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1912&quot; height=&quot;901&quot; data-origin-width=&quot;1912&quot; data-origin-height=&quot;901&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;1월 1일&lt;/b&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1782&quot; data-origin-height=&quot;754&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/taEcK/dJMcafUnTe8/XpUjZz0UOKX7fzotWVKip1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/taEcK/dJMcafUnTe8/XpUjZz0UOKX7fzotWVKip1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/taEcK/dJMcafUnTe8/XpUjZz0UOKX7fzotWVKip1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtaEcK%2FdJMcafUnTe8%2FXpUjZz0UOKX7fzotWVKip1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1782&quot; height=&quot;754&quot; data-origin-width=&quot;1782&quot; data-origin-height=&quot;754&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;갑자기 F878값도 바뀌었다. 우리는 이미 이 주소가 pFileTime 주소인걸 위에서 봤다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ah6U9/dJMcacpO4Vj/0KwCKHb3cY3ngnhaBpvQO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ah6U9/dJMcacpO4Vj/0KwCKHb3cY3ngnhaBpvQO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ah6U9/dJMcacpO4Vj/0KwCKHb3cY3ngnhaBpvQO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAh6U9%2FdJMcacpO4Vj%2F0KwCKHb3cY3ngnhaBpvQO0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1312&quot; height=&quot;388&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pFileTime는 pSystemTime이랑 다르게 1601-01-01 00:00:00 UTC부터 흐른 100나노초 단위 카운터 값을 메모리에 나타낸다. 1601-01-01 부터0x022F716377640000나노초 만큼 흐른 날짜가 언제인지를 계산하는 파이썬 코드는 다음과 같다.&lt;/p&gt;&lt;pre class=&quot;perl&quot;&gt;&lt;code&gt;from datetime import datetime, timedelta, timezone

filetime = 0x022F716377640000

epoch = datetime(1601, 1, 1, tzinfo=timezone.utc)
dt = epoch + timedelta(microseconds=filetime // 10)

print(dt.strftime(&quot;%Y-%m-%d %H:%M:%S UTC&quot;))
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;결과: 2100-01-01 00:00:00 UTC&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;63&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ekOLAK/dJMcahR8tf8/cNGCKOMYBG3JM35CQZwtWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ekOLAK/dJMcahR8tf8/cNGCKOMYBG3JM35CQZwtWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ekOLAK/dJMcahR8tf8/cNGCKOMYBG3JM35CQZwtWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FekOLAK%2FdJMcahR8tf8%2FcNGCKOMYBG3JM35CQZwtWk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;417&quot; height=&quot;63&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;63&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 변환되어 들어간 것을 확인할 수 있다.&lt;br&gt;&amp;nbsp;&lt;br&gt;그리고 계속 내려가서 WaitForSingleObject까지 가면 이 이상으로는 더 내려갈 수가 없다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1909&quot; data-origin-height=&quot;855&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMX7m9/dJMcahR8tgH/J1cNzsXD4Abq4eNjD6kUR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMX7m9/dJMcahR8tgH/J1cNzsXD4Abq4eNjD6kUR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMX7m9/dJMcahR8tgH/J1cNzsXD4Abq4eNjD6kUR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMX7m9%2FdJMcahR8tgH%2FJ1cNzsXD4Abq4eNjD6kUR0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1909&quot; height=&quot;855&quot; data-origin-width=&quot;1909&quot; data-origin-height=&quot;855&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2100년이 될 때까지 계속 wait timer가 돌고 있는 것이다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;(이해에 도움을 주신 복습방 스터디 멤버 조**와 김**님 감사합니다^^)&lt;/p&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <category>DDoS</category>
      <category>Ida</category>
      <category>동적분석</category>
      <category>루키즈 31기</category>
      <category>뮤텍스</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/211</guid>
      <comments>https://yon11b.tistory.com/211#entry211comment</comments>
      <pubDate>Wed, 3 Jun 2026 02:57:37 +0900</pubDate>
    </item>
    <item>
      <title>[SK 쉴더스 루키즈] 고급 정적 분석 - IDA로 Practical Malware Analysis Labs 05-01.dll 분석하기</title>
      <link>https://yon11b.tistory.com/210</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;IDA 기본 단축키&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;G&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;br /&gt;X&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;br /&gt;N&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;br /&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;주석 &lt;br /&gt;Space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;그래프/텍스트&amp;nbsp;전환 &lt;br /&gt;Tab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;의사코드&amp;nbsp;전환 &lt;br /&gt;Shift+F12&amp;nbsp;&amp;nbsp;&amp;nbsp;문자열 &lt;br /&gt;Shift+F5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;함수&amp;nbsp;목록 &lt;br /&gt;Esc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;뒤로가기 &lt;br /&gt;Enter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;따라가기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. \cmd.exe /c를 참조하는 코드 영역에서 어떤 동작이 수행되는가?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;strings에서 \\cmd 검색을 해주자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;717&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CBsCE/dJMcacXB4aF/vdf3KKe07WPR1FgTO4DIi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CBsCE/dJMcacXB4aF/vdf3KKe07WPR1FgTO4DIi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CBsCE/dJMcacXB4aF/vdf3KKe07WPR1FgTO4DIi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCBsCE%2FdJMcacXB4aF%2Fvdf3KKe07WPR1FgTO4DIi0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;717&quot; height=&quot;512&quot; data-origin-width=&quot;717&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더블 클릭해서 따라간 다음 ctrl+x로 저 문자열을 부르는 곳을 찾으러 간다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bf7XLa/dJMcacJ8czO/2FKEE4nAGy6E95G1PoZkg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bf7XLa/dJMcacJ8czO/2FKEE4nAGy6E95G1PoZkg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bf7XLa/dJMcacJ8czO/2FKEE4nAGy6E95G1PoZkg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf7XLa%2FdJMcacJ8czO%2F2FKEE4nAGy6E95G1PoZkg1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1168&quot; height=&quot;374&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;374&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나밖에 안 나온다. 저거 클릭하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;414&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pM682/dJMcadoCgoo/jdQEBydIc4zP7Gy3kx4DS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pM682/dJMcadoCgoo/jdQEBydIc4zP7Gy3kx4DS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pM682/dJMcadoCgoo/jdQEBydIc4zP7Gy3kx4DS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpM682%2FdJMcadoCgoo%2FjdQEBydIc4zP7Gy3kx4DS0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;958&quot; height=&quot;414&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;414&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;cmd.exe랑 command.ex로 분기를 한다. 어떤 조건일 때 분기가 되는지 궁금하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;myVersionInfo 함수를 두 번 클릭해서 들어간 뒤, 똑같이 ctrl+X를 해주자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 저 값이 뭔지 궁금한 것이므로, write를 한 제일 첫번째 라인으로 가준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1290&quot; data-origin-height=&quot;457&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkQxbe/dJMcacwzllx/VuAIoUFui8W1ALl16kUKS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkQxbe/dJMcacwzllx/VuAIoUFui8W1ALl16kUKS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkQxbe/dJMcacwzllx/VuAIoUFui8W1ALl16kUKS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkQxbe%2FdJMcacwzllx%2FVuAIoUFui8W1ALl16kUKS0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1290&quot; height=&quot;457&quot; data-origin-width=&quot;1290&quot; data-origin-height=&quot;457&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;myVersoinInfo에는 sub_10003695의 결과(eax)가 들어간다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;485&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KG28H/dJMcadITYvR/KOuuJ9NEU9L4CD0b2Yxb7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KG28H/dJMcadITYvR/KOuuJ9NEU9L4CD0b2Yxb7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KG28H/dJMcadITYvR/KOuuJ9NEU9L4CD0b2Yxb7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKG28H%2FdJMcadITYvR%2FKOuuJ9NEU9L4CD0b2Yxb7K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;485&quot; height=&quot;374&quot; data-origin-width=&quot;485&quot; data-origin-height=&quot;374&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sub_10003695로 가보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRtkgw/dJMcaaMfMNc/0gHymZFRD6RPnti1Rik3ck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRtkgw/dJMcaaMfMNc/0gHymZFRD6RPnti1Rik3ck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRtkgw/dJMcaaMfMNc/0gHymZFRD6RPnti1Rik3ck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRtkgw%2FdJMcaaMfMNc%2F0gHymZFRD6RPnti1Rik3ck%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;661&quot; height=&quot;480&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cmp version, 2로 비교를 하고 있다.&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;b&gt; GetVersionExA &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 운영체제 정보를 얻어오는 Windows API&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;326&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8McDq/dJMcaaesosW/xokNcv1IG6IA4UsZFA3230/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8McDq/dJMcaaesosW/xokNcv1IG6IA4UsZFA3230/img.png&quot; data-alt=&quot;https://learn.microsoft.com/ko-kr/windows/win32/api/winnt/ns-winnt-osversioninfow&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8McDq/dJMcaaesosW/xokNcv1IG6IA4UsZFA3230/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8McDq%2FdJMcaaesosW%2FxokNcv1IG6IA4UsZFA3230%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;326&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;326&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://learn.microsoft.com/ko-kr/windows/win32/api/winnt/ns-winnt-osversioninfow&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 환경은 XP이므로 cmp 결과가 0이 되고,&amp;nbsp; setz al-&amp;gt; al= 1이 될 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(setz: 직전에 수행한 연산 결과로 &lt;span data-token-index=&quot;1&quot;&gt;ZF(Zero Flag)가 1이면 1을 저장&lt;/span&gt;, 아니면 0을 저장한다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AL = (VersionInformation.dwPlatformId == 2);&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;b&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;myVersionInfo&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;myVersionInfo = (VersionInformation.dwPlatformId == 2);&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;b&gt;&lt;span&gt;dwPlatformId가 2인 경우&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;ini&quot;&gt;&lt;code&gt;myVersionInfo = 1;&lt;/code&gt;&lt;/pre&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;414&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pM682/dJMcadoCgoo/jdQEBydIc4zP7Gy3kx4DS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pM682/dJMcadoCgoo/jdQEBydIc4zP7Gy3kx4DS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pM682/dJMcadoCgoo/jdQEBydIc4zP7Gy3kx4DS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpM682%2FdJMcadoCgoo%2FjdQEBydIc4zP7Gy3kx4DS0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;958&quot; height=&quot;414&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;414&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;xp면 cmp myVersionInfo, ebx가 1이 되어서 왼쪽 분기문으로 간다. 그래서&amp;nbsp;cmd.exe /c를 가져오게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. 0x1000FF58에서&amp;nbsp;서브루틴(함수)으로&amp;nbsp;수백&amp;nbsp;라인은&amp;nbsp;문자열을&amp;nbsp;비교하기&amp;nbsp;위한&amp;nbsp;일련의&amp;nbsp;memcmp&amp;nbsp;비교&amp;nbsp;루틴이다.&amp;nbsp;robotwork와&amp;nbsp;문자열&amp;nbsp;비교가&amp;nbsp;성공적으로&amp;nbsp;이뤄지면&amp;nbsp;무슨&amp;nbsp;일이&amp;nbsp;일어나는가?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0x1000FF58은 맨 위다. 밑으로 스크롤을 내려가면서 보면 memcmp가 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;robotwork가 있는 곳까지 내려 찾아주자.&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;965&quot; data-origin-height=&quot;545&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ddtZSm/dJMcah5JDoX/XvjsoKpkk0r5nJ8riknNg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddtZSm/dJMcah5JDoX/XvjsoKpkk0r5nJ8riknNg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddtZSm/dJMcah5JDoX/XvjsoKpkk0r5nJ8riknNg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddtZSm%2FdJMcah5JDoX%2FXvjsoKpkk0r5nJ8riknNg0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;453&quot; height=&quot;256&quot; data-origin-width=&quot;965&quot; data-origin-height=&quot;545&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;384&quot; data-origin-height=&quot;235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brvEic/dJMcaaFx7je/E9dIENrNVJi9bk2tqUKGbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brvEic/dJMcaaFx7je/E9dIENrNVJi9bk2tqUKGbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brvEic/dJMcaaFx7je/E9dIENrNVJi9bk2tqUKGbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrvEic%2FdJMcaaFx7je%2FE9dIENrNVJi9bk2tqUKGbk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;337&quot; height=&quot;206&quot; data-origin-width=&quot;384&quot; data-origin-height=&quot;235&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;결과가 0이면 왼쪽으로 감.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EJnEi/dJMcaiwLjTm/TtyfKXb9uVD0kJpxK3KTuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EJnEi/dJMcaiwLjTm/TtyfKXb9uVD0kJpxK3KTuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EJnEi/dJMcaiwLjTm/TtyfKXb9uVD0kJpxK3KTuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEJnEi%2FdJMcaiwLjTm%2FTtyfKXb9uVD0kJpxK3KTuK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1197&quot; height=&quot;420&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;420&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;464&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1LSVF/dJMcadITXIW/JQFf1phRl6IRKQjJV84oZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1LSVF/dJMcadITXIW/JQFf1phRl6IRKQjJV84oZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1LSVF/dJMcadITXIW/JQFf1phRl6IRKQjJV84oZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1LSVF%2FdJMcadITXIW%2FJQFf1phRl6IRKQjJV84oZ0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;326&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;464&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;sub_100052A2 함수를 호출하는 것을 알 수 있다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;sub_100052A2 함수는 뭐하는 녀석일까&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;sub_100052A2&lt;span&gt; 를 두 번 클릭해서 이동해준 뒤, 그래프를 그려보자.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;327&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OfHGh/dJMcaf04VLX/xckixOMkmR1WOiMQZ0fLo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OfHGh/dJMcaf04VLX/xckixOMkmR1WOiMQZ0fLo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OfHGh/dJMcaf04VLX/xckixOMkmR1WOiMQZ0fLo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOfHGh%2FdJMcaf04VLX%2FxckixOMkmR1WOiMQZ0fLo0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;242&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;327&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;1. send&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Reg(레지스터) 관련&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;일단 sub_100052A2&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; 함수의 이름을 보기 쉽게 바꿔주자. robotwork 문자열 관련이므로, myRobotwork로 지어주겠다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;545&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1amK3/dJMcajoOGMz/IpdBKseSMlvXVKc25uehJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1amK3/dJMcajoOGMz/IpdBKseSMlvXVKc25uehJK/img.png&quot; data-alt=&quot;우클릭 후 Rename 선택하면 바꿀 수 있음&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1amK3/dJMcajoOGMz/IpdBKseSMlvXVKc25uehJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1amK3%2FdJMcajoOGMz%2FIpdBKseSMlvXVKc25uehJK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;260&quot; height=&quot;354&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;545&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;우클릭 후 Rename 선택하면 바꿀 수 있음&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. send&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭘 send하는지 보자. sub_100038EE 함수를 보자. 이 함수의 시작 주소는 100038EE이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AfVOg/dJMcaaZNdCM/A3V8j7UzLKs9xkgeUlGuH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AfVOg/dJMcaaZNdCM/A3V8j7UzLKs9xkgeUlGuH0/img.png&quot; data-origin-width=&quot;471&quot; data-origin-height=&quot;565&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.0197%; margin-right: 10px;&quot; data-widthpercent=&quot;54.66&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AfVOg/dJMcaaZNdCM/A3V8j7UzLKs9xkgeUlGuH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAfVOg%2FdJMcaaZNdCM%2FA3V8j7UzLKs9xkgeUlGuH0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;471&quot; height=&quot;565&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AiJco/dJMcaaZNdCQ/ygmNV71hu9KSgP7KOHy4JK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AiJco/dJMcaaZNdCQ/ygmNV71hu9KSgP7KOHy4JK/img.png&quot; data-origin-width=&quot;388&quot; data-origin-height=&quot;561&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.8176%;&quot; data-widthpercent=&quot;45.34&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AiJco/dJMcaaZNdCQ/ygmNV71hu9KSgP7KOHy4JK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAiJco%2FdJMcaaZNdCQ%2FygmNV71hu9KSgP7KOHy4JK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;388&quot; height=&quot;561&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;주소 검색은 G&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;malloc, send, free가 있음을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1037&quot; data-origin-height=&quot;525&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PJrmD/dJMcaiKfIUH/KUuGZ78oRfhpUgWwo1nAz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PJrmD/dJMcaiKfIUH/KUuGZ78oRfhpUgWwo1nAz0/img.png&quot; data-alt=&quot;socket으로 전달한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PJrmD/dJMcaiKfIUH/KUuGZ78oRfhpUgWwo1nAz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPJrmD%2FdJMcaiKfIUH%2FKUuGZ78oRfhpUgWwo1nAz0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;303&quot; data-origin-width=&quot;1037&quot; data-origin-height=&quot;525&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;socket으로 전달한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. Register 관련&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아까 그래프에서 보면 RegOpenKeyExA, RegCloseKey, RegQueryValueExA가 있었다.&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;RegOpenKeyExA: 레지스트리 키를 연다. (권한 획득)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RegQueryValueExA: 열린 레지스트리 키 안의 값을 읽는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RegCloseKey: 열어둔 레지스트리 키를 닫는다. (핸들 반환)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TePp7/dJMcaaFx7wR/2enpuBCNDDY5h0o8jeS5x0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TePp7/dJMcaaFx7wR/2enpuBCNDDY5h0o8jeS5x0/img.png&quot; data-origin-width=&quot;828&quot; data-origin-height=&quot;325&quot; data-is-animation=&quot;false&quot; width=&quot;670&quot; height=&quot;263&quot; style=&quot;width: 72.0537%; margin-right: 10px;&quot; data-widthpercent=&quot;72.9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TePp7/dJMcaaFx7wR/2enpuBCNDDY5h0o8jeS5x0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTePp7%2FdJMcaaFx7wR%2F2enpuBCNDDY5h0o8jeS5x0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;828&quot; height=&quot;325&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTS3Oi/dJMcacwzkCu/9bvk77j32WGFYrpkzynuok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTS3Oi/dJMcacwzkCu/9bvk77j32WGFYrpkzynuok/img.png&quot; data-origin-width=&quot;429&quot; data-origin-height=&quot;453&quot; data-is-animation=&quot;false&quot; style=&quot;width: 26.7836%;&quot; data-widthpercent=&quot;27.1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTS3Oi/dJMcacwzkCu/9bvk77j32WGFYrpkzynuok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTS3Oi%2FdJMcacwzkCu%2F9bvk77j32WGFYrpkzynuok%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;429&quot; height=&quot;453&quot;/&gt;&lt;/span&gt;&lt;/div&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;큰 흐름: RegOpenKeyExA -&amp;gt; RegQueryValueExA -&amp;gt; atoi -&amp;gt; RegCloseKey&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;RegOpenKeyExA&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: HKLM\Software\Microsoft\Windows\CurrentVersion 열기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;828&quot; data-origin-height=&quot;325&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhe9Yh/dJMcadvnuia/xIwowJ3tkHEU8hv9Fq0SKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhe9Yh/dJMcadvnuia/xIwowJ3tkHEU8hv9Fq0SKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhe9Yh/dJMcadvnuia/xIwowJ3tkHEU8hv9Fq0SKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbhe9Yh%2FdJMcadvnuia%2FxIwowJ3tkHEU8hv9Fq0SKk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;828&quot; height=&quot;325&quot; data-origin-width=&quot;828&quot; data-origin-height=&quot;325&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;hkey가 80000002h == HKEY_LOCAL_MACHINE&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;C코드로 바꾸면 다음과 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1780330430836&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;HKEY hKey;

if (RegOpenKeyExA(
        HKEY_LOCAL_MACHINE,
        &quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion&quot;,
        0,
        KEY_ALL_ACCESS,
        &amp;amp;hKey) == ERROR_SUCCESS)
{
    // 레지스트리 열기 성공
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;b&gt;RegQueryValueExA&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 레지스트리 열기에 성공하면 이어서 RegQueryValueExA 호출해서 열린 레지스트리 키(&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;HKLM\Software\Microsoft\Windows\CurrentVersion&lt;/span&gt;) 안의 값(WorkTime) 읽기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 읽은 값을 atoi()로 숫자로 변환&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;429&quot; data-origin-height=&quot;453&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSeq0G/dJMcaiDxdQr/Bv8FQSp8GfM611l4hdoaxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSeq0G/dJMcaiDxdQr/Bv8FQSp8GfM611l4hdoaxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSeq0G/dJMcaiDxdQr/Bv8FQSp8GfM611l4hdoaxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSeq0G%2FdJMcaiDxdQr%2FBv8FQSp8GfM611l4hdoaxK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;352&quot; height=&quot;372&quot; data-origin-width=&quot;429&quot; data-origin-height=&quot;453&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;c로 나타내기&lt;/p&gt;
&lt;pre id=&quot;code_1780330869267&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;LONG result;

result = RegQueryValueExA(
    hKey,        // [ebp+hKey]
    &quot;WorkTime&quot;, // aWorktime
    NULL,        // lpReserved
    &amp;amp;Type,       // [ebp+Type]
    Data,        // [ebp+Data]
    &amp;amp;cbData      // [ebp+cbData]
);

if (result != ERROR_SUCCESS) {
    goto loc_10005379;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;b&gt;그 후 로직들...&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. ebp+var_60c에 worktime 정보를 저장한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;746&quot; data-origin-height=&quot;180&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ykbUV/dJMcaiKfIHB/zY2BjlRASrjkvfH3kEghMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ykbUV/dJMcaiKfIHB/zY2BjlRASrjkvfH3kEghMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ykbUV/dJMcaiKfIHB/zY2BjlRASrjkvfH3kEghMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FykbUV%2FdJMcaiKfIHB%2FzY2BjlRASrjkvfH3kEghMk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;746&quot; height=&quot;180&quot; data-origin-width=&quot;746&quot; data-origin-height=&quot;180&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1780331256804&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sprintf(
    var_60C,
    &quot;\r\n\r\n[Robot_WorkTime :] %d\r\n\r\n&quot;,
    worktime
);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;2. ebp+var_60c(worktime)를 sub_1000038EE의 인자로 전달한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9TXVl/dJMcadPHqwH/O8lODUttFQBiKG3AERZBp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9TXVl/dJMcadPHqwH/O8lODUttFQBiKG3AERZBp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9TXVl/dJMcadPHqwH/O8lODUttFQBiKG3AERZBp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9TXVl%2FdJMcadPHqwH%2FO8lODUttFQBiKG3AERZBp1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;411&quot; height=&quot;140&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;140&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1780331405157&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sub_100038EE(
    s,
    var_60C,
    strlen(var_60C)
);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;registry 다루는 로직에서는 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;HKLM\Software\Microsoft\Windows\CurrentVersion&lt;/span&gt;&amp;nbsp; 레지스트리를 열고 그 안에 있는 worktime을 꺼내서 sub_100038EE로 전달한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sub_100038EE에서는 data(worktime)를 send한다.&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;b&gt;추론&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. worktime은 악성코드가&amp;nbsp;레지스트리에&amp;nbsp;저장해둔&amp;nbsp;동작&amp;nbsp;시간&amp;nbsp;또는&amp;nbsp;실행&amp;nbsp;시간&amp;nbsp;관련&amp;nbsp;값으로&amp;nbsp;보인다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이 정보를 C2로 추정되는 서버에 전송하는 흐름이라고 예측할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 사실 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;HKLM\Software\Microsoft\Windows\CurrentVersion 안에는 worktime 같은 값이 없다. 따라서 worktime값은 이전에 악성코드가 심어놓은 값 등으로 추론해볼 수 있다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Q14. 0x10001358에 Sleep 호출이 있다. 해당 코드가 실행되기까지 프로그램은 얼마 동안 대기하는가?&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;438&quot; data-origin-height=&quot;336&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/00mE6/dJMcacDmdd0/OMTQERLoF8OylMZ4avoKd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/00mE6/dJMcacDmdd0/OMTQERLoF8OylMZ4avoKd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/00mE6/dJMcacDmdd0/OMTQERLoF8OylMZ4avoKd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F00mE6%2FdJMcacDmdd0%2FOMTQERLoF8OylMZ4avoKd0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;438&quot; height=&quot;336&quot; data-origin-width=&quot;438&quot; data-origin-height=&quot;336&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;10019020에서 읽은 주소에 0D를 더하고, 숫자로 변환하고, 거기에 0x3e8을 곱한 값 만큼 sleep 을 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10019020 주소로 가면 100192ac를 찾을 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc5qNn/dJMcaiwLktB/43VRTdHP7f0kF5mHXIGwTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc5qNn/dJMcaiwLktB/43VRTdHP7f0kF5mHXIGwTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc5qNn/dJMcaiwLktB/43VRTdHP7f0kF5mHXIGwTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc5qNn%2FdJMcaiwLktB%2F43VRTdHP7f0kF5mHXIGwTK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;786&quot; height=&quot;148&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;148&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;100192ac에 가면 [This is CTI]30 문자열을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;58&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Yckb4/dJMcadoCf74/xxl0vSWW6dRPIFcVKS6DeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Yckb4/dJMcadoCf74/xxl0vSWW6dRPIFcVKS6DeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Yckb4/dJMcadoCf74/xxl0vSWW6dRPIFcVKS6DeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYckb4%2FdJMcadoCf74%2Fxxl0vSWW6dRPIFcVKS6DeK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;774&quot; height=&quot;58&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;58&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;[에서 시작해서 0xD를 더하면 딱 30 이 나온다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clDkxJ/dJMcada5bXB/K0X3LUikEVvxMkkrskZg7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clDkxJ/dJMcada5bXB/K0X3LUikEVvxMkkrskZg7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clDkxJ/dJMcada5bXB/K0X3LUikEVvxMkkrskZg7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclDkxJ%2FdJMcada5bXB%2FK0X3LUikEVvxMkkrskZg7K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;767&quot; height=&quot;52&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;52&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;30을 숫자로 변환하고(atoi), 0x3e8을 곱하면 30000이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 30000ms&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 30s&lt;/p&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <category>Practical Malware Analysis Labs</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/210</guid>
      <comments>https://yon11b.tistory.com/210#entry210comment</comments>
      <pubDate>Tue, 2 Jun 2026 02:16:19 +0900</pubDate>
    </item>
    <item>
      <title>[Lena Reversing] 4번-PixtopianBook 체험판 크랙하기</title>
      <link>https://yon11b.tistory.com/209</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;PixtopianBook 프로그램을 크랙하는 문제이다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;풀이&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 파일을 install해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 username 넣고 만들어준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;543&quot; data-origin-height=&quot;315&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnCrmG/dJMcagTfnae/1XcFZ2VfBfBXiBTKCaloA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnCrmG/dJMcagTfnae/1XcFZ2VfBfBXiBTKCaloA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnCrmG/dJMcagTfnae/1XcFZ2VfBfBXiBTKCaloA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnCrmG%2FdJMcagTfnae%2F1XcFZ2VfBfBXiBTKCaloA1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;543&quot; height=&quot;315&quot; data-origin-width=&quot;543&quot; data-origin-height=&quot;315&quot;/&gt;&lt;/span&gt;&lt;/figure&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;665&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RTeVd/dJMcaiDvWCS/nILrf0RdynKDlWtORVDWnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RTeVd/dJMcaiDvWCS/nILrf0RdynKDlWtORVDWnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RTeVd/dJMcaiDvWCS/nILrf0RdynKDlWtORVDWnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRTeVd%2FdJMcaiDvWCS%2FnILrf0RdynKDlWtORVDWnk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;385&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;665&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Unregistered version 문자열 삭제/수정&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;981&quot; data-origin-height=&quot;669&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vQf5b/dJMcabYIMNj/GlaWjQcHPcPOQAWeYIxufk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vQf5b/dJMcabYIMNj/GlaWjQcHPcPOQAWeYIxufk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vQf5b/dJMcabYIMNj/GlaWjQcHPcPOQAWeYIxufk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvQf5b%2FdJMcabYIMNj%2FGlaWjQcHPcPOQAWeYIxufk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;981&quot; height=&quot;669&quot; data-origin-width=&quot;981&quot; data-origin-height=&quot;669&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;Memory창으로 가서 ctrl+b 눌러서 검색을 해주자.&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;검색아: PixtopianBook (UNREGISTERED&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;461&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IhcaX/dJMcaijcVd1/BvK72ccNmxpEqqp6jKh0hK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IhcaX/dJMcaijcVd1/BvK72ccNmxpEqqp6jKh0hK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IhcaX/dJMcaijcVd1/BvK72ccNmxpEqqp6jKh0hK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIhcaX%2FdJMcaijcVd1%2FBvK72ccNmxpEqqp6jKh0hK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;461&quot; height=&quot;259&quot; data-origin-width=&quot;461&quot; data-origin-height=&quot;259&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lFF7X/dJMcajoNs8s/NZ6DZ0EeHH09cTxnpBBOm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lFF7X/dJMcajoNs8s/NZ6DZ0EeHH09cTxnpBBOm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lFF7X/dJMcajoNs8s/NZ6DZ0EeHH09cTxnpBBOm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlFF7X%2FdJMcajoNs8s%2FNZ6DZ0EeHH09cTxnpBBOm0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;771&quot; height=&quot;462&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;462&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;UNREGISTERED ~~ 부분을다 0으로 채워서 안 보이게 해주자. (수정은 ctrl+e로 가능하다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;949&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dv10mS/dJMcaccdXlK/ishunkTIOFuPZYvlwCNFY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dv10mS/dJMcaccdXlK/ishunkTIOFuPZYvlwCNFY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dv10mS/dJMcaccdXlK/ishunkTIOFuPZYvlwCNFY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdv10mS%2FdJMcaccdXlK%2FishunkTIOFuPZYvlwCNFY1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;949&quot; height=&quot;375&quot; data-origin-width=&quot;949&quot; data-origin-height=&quot;375&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;214&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv8mfz/dJMcaa6Ahdi/A6WNeCnhcVMX8C7jaOby1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv8mfz/dJMcaa6Ahdi/A6WNeCnhcVMX8C7jaOby1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv8mfz/dJMcaa6Ahdi/A6WNeCnhcVMX8C7jaOby1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv8mfz%2FdJMcaa6Ahdi%2FA6WNeCnhcVMX8C7jaOby1k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;937&quot; height=&quot;214&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;214&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;변경사항을 copy execute file로 저장해주고 실행해보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;474&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBzQPu/dJMcacDkSBu/Pg2hwEJcjYYIjyruRYfd71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBzQPu/dJMcacDkSBu/Pg2hwEJcjYYIjyruRYfd71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBzQPu/dJMcacDkSBu/Pg2hwEJcjYYIjyruRYfd71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBzQPu%2FdJMcacDkSBu%2FPg2hwEJcjYYIjyruRYfd71%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;710&quot; height=&quot;349&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;474&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;665&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cL3rwV/dJMcabqSlg3/sijda2bwieT5dQwhUouRR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cL3rwV/dJMcabqSlg3/sijda2bwieT5dQwhUouRR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cL3rwV/dJMcabqSlg3/sijda2bwieT5dQwhUouRR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcL3rwV%2FdJMcabqSlg3%2Fsijda2bwieT5dQwhUouRR1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;676&quot; height=&quot;457&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;665&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. This is an unregistered version of PixtopianBook 메시지 수정&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Oe6K3/dJMcafz2rDL/0v4bUYNgk1xRh0QGycIfW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Oe6K3/dJMcafz2rDL/0v4bUYNgk1xRh0QGycIfW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Oe6K3/dJMcafz2rDL/0v4bUYNgk1xRh0QGycIfW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOe6K3%2FdJMcafz2rDL%2F0v4bUYNgk1xRh0QGycIfW1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;601&quot; height=&quot;414&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;/figure&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;Memory로 가서&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;904&quot; data-origin-height=&quot;437&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tfLoc/dJMcadB6BN4/F37VG0nMjw5H6eba8ZO8Rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tfLoc/dJMcadB6BN4/F37VG0nMjw5H6eba8ZO8Rk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tfLoc/dJMcadB6BN4/F37VG0nMjw5H6eba8ZO8Rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtfLoc%2FdJMcadB6BN4%2FF37VG0nMjw5H6eba8ZO8Rk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;904&quot; height=&quot;437&quot; data-origin-width=&quot;904&quot; data-origin-height=&quot;437&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;474&quot; data-origin-height=&quot;272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8kXeR/dJMcadoAZBX/gYVFKLiKcUvyFhgUGKCXH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8kXeR/dJMcadoAZBX/gYVFKLiKcUvyFhgUGKCXH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8kXeR/dJMcadoAZBX/gYVFKLiKcUvyFhgUGKCXH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8kXeR%2FdJMcadoAZBX%2FgYVFKLiKcUvyFhgUGKCXH1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;474&quot; height=&quot;272&quot; data-origin-width=&quot;474&quot; data-origin-height=&quot;272&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;303&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0fIhn/dJMcadoAZBY/0iDoVkrJPNf6x17r0PZId1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0fIhn/dJMcadoAZBY/0iDoVkrJPNf6x17r0PZId1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0fIhn/dJMcadoAZBY/0iDoVkrJPNf6x17r0PZId1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0fIhn%2FdJMcadoAZBY%2F0iDoVkrJPNf6x17r0PZId1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;755&quot; height=&quot;303&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;303&quot;/&gt;&lt;/span&gt;&lt;/figure&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1103&quot; data-origin-height=&quot;397&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ePN1yp/dJMcadoAZB0/T2zI7YuqlWKd1lwkaR3bj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ePN1yp/dJMcadoAZB0/T2zI7YuqlWKd1lwkaR3bj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ePN1yp/dJMcadoAZB0/T2zI7YuqlWKd1lwkaR3bj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FePN1yp%2FdJMcadoAZB0%2FT2zI7YuqlWKd1lwkaR3bj0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1103&quot; height=&quot;397&quot; data-origin-width=&quot;1103&quot; data-origin-height=&quot;397&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;241&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MlPZ9/dJMcaiXKX3V/Xrv6YAiWo4roNeiQ0zqgbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MlPZ9/dJMcaiXKX3V/Xrv6YAiWo4roNeiQ0zqgbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MlPZ9/dJMcaiXKX3V/Xrv6YAiWo4roNeiQ0zqgbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMlPZ9%2FdJMcaiXKX3V%2FXrv6YAiWo4roNeiQ0zqgbK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;961&quot; height=&quot;241&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;241&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하고 copy execute file 저장해주고 그 파일을 실행하면&amp;hellip;.성공적으로 잘 반영이 된 것을 확인할 수 있다!&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNyqZS/dJMcaiXKX3W/2XTogstz4C5542dxkvmKVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNyqZS/dJMcaiXKX3W/2XTogstz4C5542dxkvmKVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNyqZS/dJMcaiXKX3W/2XTogstz4C5542dxkvmKVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNyqZS%2FdJMcaiXKX3W%2F2XTogstz4C5542dxkvmKVK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;993&quot; height=&quot;675&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;675&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;h2 data-ke-size=&quot;size26&quot;&gt;3. About 정보에 나와있는 unregistered version 문자열 수정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버전을 보면 등록되어있지 않은 버전이라고 나와있다. 이걸 수정해서 정품인 것처럼 보이게 해보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;487&quot; data-origin-height=&quot;295&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAuUar/dJMcaiDvWDp/KNKS6CA561RkTK4ramHm9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAuUar/dJMcaiDvWDp/KNKS6CA561RkTK4ramHm9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAuUar/dJMcaiDvWDp/KNKS6CA561RkTK4ramHm9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAuUar%2FdJMcaiDvWDp%2FKNKS6CA561RkTK4ramHm9K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;395&quot; height=&quot;239&quot; data-origin-width=&quot;487&quot; data-origin-height=&quot;295&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;459&quot; data-origin-height=&quot;257&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fvvm4/dJMcah5IiTj/ZskYkPSKFLj2BkXsAjvqrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fvvm4/dJMcah5IiTj/ZskYkPSKFLj2BkXsAjvqrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fvvm4/dJMcah5IiTj/ZskYkPSKFLj2BkXsAjvqrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFvvm4%2FdJMcah5IiTj%2FZskYkPSKFLj2BkXsAjvqrk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;459&quot; height=&quot;257&quot; data-origin-width=&quot;459&quot; data-origin-height=&quot;257&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;UNICODE로 해야 검색된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dmNjZq/dJMcaipYGfE/5mK1LT5yZpBB3UklGTouW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dmNjZq/dJMcaipYGfE/5mK1LT5yZpBB3UklGTouW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dmNjZq/dJMcaipYGfE/5mK1LT5yZpBB3UklGTouW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdmNjZq%2FdJMcaipYGfE%2F5mK1LT5yZpBB3UklGTouW0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;475&quot; height=&quot;268&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;268&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;446&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJDd7U/dJMcaipYGfO/7V3fslu4Fz5UKmOwUQ5lO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJDd7U/dJMcaipYGfO/7V3fslu4Fz5UKmOwUQ5lO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJDd7U/dJMcaipYGfO/7V3fslu4Fz5UKmOwUQ5lO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJDd7U%2FdJMcaipYGfO%2F7V3fslu4Fz5UKmOwUQ5lO0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;765&quot; height=&quot;446&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;446&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저 주소로 가서 unregistered를 registered로 수정해주자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;470&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbdsYT/dJMcafNBZ4F/pKvj3jvkpq2iTm9kK52unK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbdsYT/dJMcafNBZ4F/pKvj3jvkpq2iTm9kK52unK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbdsYT/dJMcafNBZ4F/pKvj3jvkpq2iTm9kK52unK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbdsYT%2FdJMcafNBZ4F%2FpKvj3jvkpq2iTm9kK52unK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;470&quot; height=&quot;264&quot; data-origin-width=&quot;470&quot; data-origin-height=&quot;264&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;그러고 copy exe file save 해주면! 성공!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;658&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVs4Zj/dJMcafNBZ43/LWNK8PbIrCwujrYdpZYvf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVs4Zj/dJMcafNBZ43/LWNK8PbIrCwujrYdpZYvf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVs4Zj/dJMcafNBZ43/LWNK8PbIrCwujrYdpZYvf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVs4Zj%2FdJMcafNBZ43%2FLWNK8PbIrCwujrYdpZYvf1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;387&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;658&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;h2 data-ke-size=&quot;size26&quot;&gt;4. 백엔드 기능도 우회해주자: Add group 여러개 가능하도록&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Add group을 해주어서 그룹을 3개까지 만들었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;328&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHHggb/dJMcag6K3qa/z36hz5a53BeiT39kddcWk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHHggb/dJMcag6K3qa/z36hz5a53BeiT39kddcWk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHHggb/dJMcag6K3qa/z36hz5a53BeiT39kddcWk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHHggb%2FdJMcag6K3qa%2Fz36hz5a53BeiT39kddcWk0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;758&quot; height=&quot;328&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;328&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;그런데 4개부터는 추가가 안된다. 기능은 그대로 체험판 버전이기 때문이다. 이번에는 이걸 우회해보도록 해보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;660&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NNV5c/dJMcacDkSDW/f5A7VHvIRa0F1DGQ4o8l0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NNV5c/dJMcacDkSDW/f5A7VHvIRa0F1DGQ4o8l0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NNV5c/dJMcacDkSDW/f5A7VHvIRa0F1DGQ4o8l0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNNV5c%2FdJMcacDkSDW%2Ff5A7VHvIRa0F1DGQ4o8l0k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;489&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;660&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;ollydbg에서 F9을 눌러서 파일을 실행시키고, 파일에서 group 추가를 눌러 alert 창을 띄운 상태에서 정지를 누른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 K를 클릭하여 call stack을 불러온다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1473&quot; data-origin-height=&quot;527&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blzoGX/dJMcagZXvGH/W0jriwp0BpRjKdBgw30TjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blzoGX/dJMcagZXvGH/W0jriwp0BpRjKdBgw30TjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blzoGX/dJMcagZXvGH/W0jriwp0BpRjKdBgw30TjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblzoGX%2FdJMcagZXvGH%2FW0jriwp0BpRjKdBgw30TjK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1473&quot; height=&quot;527&quot; data-origin-width=&quot;1473&quot; data-origin-height=&quot;527&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Debug &amp;gt; execute till user code 를 실행해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;group이 3 초과면 에러 메시지 (ASCII &amp;ldquo;Please ~~&amp;rdquo;) 띄움.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1111&quot; data-origin-height=&quot;539&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nzDP3/dJMcaaeq6Y1/9llzh7KgwOaehI2WnVT6V1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nzDP3/dJMcaaeq6Y1/9llzh7KgwOaehI2WnVT6V1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nzDP3/dJMcaaeq6Y1/9llzh7KgwOaehI2WnVT6V1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnzDP3%2FdJMcaaeq6Y1%2F9llzh7KgwOaehI2WnVT6V1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1111&quot; height=&quot;539&quot; data-origin-width=&quot;1111&quot; data-origin-height=&quot;539&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JL말고 JMP로 바꾸면 될듯?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니면 limited를 3이 아니라 엄청 큰 수로 하면 된다.&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;그럼 이제 그룹이 4개도 추가가 된다.&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;681&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FKQfo/dJMcaak9BEB/j0XEkRMEojMlV3totYf8EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FKQfo/dJMcaak9BEB/j0XEkRMEojMlV3totYf8EK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FKQfo/dJMcaak9BEB/j0XEkRMEojMlV3totYf8EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFKQfo%2FdJMcaak9BEB%2Fj0XEkRMEojMlV3totYf8EK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;681&quot; height=&quot;263&quot; data-origin-width=&quot;681&quot; data-origin-height=&quot;263&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;h2 data-ke-size=&quot;size26&quot;&gt;5. 필요없는 메시지 안 나오게 하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 찐 정품 프로그램에서는 This is a registered version of PixtopianBook 이라는 메시지가 계속해서 나오지는 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dump 창에서 저 메시지의 주소를 찾고, ctrl+r을 눌러서 reference(참조)를 찾아 가주자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;343&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d7e52v/dJMb990UB2V/hdFFOO9bq9WWx1lbLpmSS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d7e52v/dJMb990UB2V/hdFFOO9bq9WWx1lbLpmSS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d7e52v/dJMb990UB2V/hdFFOO9bq9WWx1lbLpmSS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd7e52v%2FdJMb990UB2V%2FhdFFOO9bq9WWx1lbLpmSS1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;772&quot; height=&quot;343&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;343&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;reference란? 저 문자열을 부른 주소.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EBP가 0x907이라서 무조건 ASCII &amp;ldquo;This is a registered&amp;rdquo; 메시지가 출력된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0x907 은 아마 체험판 전용 상수? 같은 느낌인 것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1417&quot; data-origin-height=&quot;550&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lOI5S/dJMcaayJYz8/I8hkicSijUCujVoU4VXqVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lOI5S/dJMcaayJYz8/I8hkicSijUCujVoU4VXqVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lOI5S/dJMcaayJYz8/I8hkicSijUCujVoU4VXqVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlOI5S%2FdJMcaayJYz8%2FI8hkicSijUCujVoU4VXqVK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1417&quot; height=&quot;550&quot; data-origin-width=&quot;1417&quot; data-origin-height=&quot;550&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 그냥 JNZ를 JMP로 수정해주자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이젠 This is a registered~~ 메시지가 보이지 않고 이전에 한 행동에 대한 메시지만 출력되고 있는 모습을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;680&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biqify/dJMcaijcVqI/prZPmq9mi6Mv1PuXslYKn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biqify/dJMcaijcVqI/prZPmq9mi6Mv1PuXslYKn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biqify/dJMcaijcVqI/prZPmq9mi6Mv1PuXslYKn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbiqify%2FdJMcaijcVqI%2FprZPmq9mi6Mv1PuXslYKn1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;754&quot; height=&quot;520&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;680&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;그리고 이 수정사항을 full_crack.exe 파일로 저장해주면 완벽한 크랙 파일 완성!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUntrN/dJMcabYIMRZ/mlMWVT7mXVMybmEeYbpRV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUntrN/dJMcabYIMRZ/mlMWVT7mXVMybmEeYbpRV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUntrN/dJMcabYIMRZ/mlMWVT7mXVMybmEeYbpRV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUntrN%2FdJMcabYIMRZ%2FmlMWVT7mXVMybmEeYbpRV1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;352&quot; height=&quot;103&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;103&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;</description>
      <category>보안/리버싱</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/209</guid>
      <comments>https://yon11b.tistory.com/209#entry209comment</comments>
      <pubDate>Sat, 30 May 2026 23:57:59 +0900</pubDate>
    </item>
    <item>
      <title>[Lena Reversing] 3번-잔소리 제거하기</title>
      <link>https://yon11b.tistory.com/208</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;두 개의 파일이 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sq1It/dJMcagZXvCX/084kzluTuSbAdF9HEw1Wgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sq1It/dJMcagZXvCX/084kzluTuSbAdF9HEw1Wgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sq1It/dJMcagZXvCX/084kzluTuSbAdF9HEw1Wgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsq1It%2FdJMcagZXvCX%2F084kzluTuSbAdF9HEw1Wgk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;598&quot; height=&quot;104&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RegisterMe.exe 파일 먼저 살펴보겠다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1113&quot; data-origin-height=&quot;588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oZA1a/dJMcabYIMFx/BcveP1RNKvB5irEDk89icK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oZA1a/dJMcabYIMFx/BcveP1RNKvB5irEDk89icK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oZA1a/dJMcabYIMFx/BcveP1RNKvB5irEDk89icK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoZA1a%2FdJMcabYIMFx%2FBcveP1RNKvB5irEDk89icK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1113&quot; height=&quot;588&quot; data-origin-width=&quot;1113&quot; data-origin-height=&quot;588&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;진짜 시작은 00401000에서부터이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;293&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/duVPuI/dJMcadhVjmK/iyYPa6vvvAhAeSU1CWkyJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/duVPuI/dJMcadhVjmK/iyYPa6vvvAhAeSU1CWkyJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/duVPuI/dJMcadhVjmK/iyYPa6vvvAhAeSU1CWkyJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FduVPuI%2FdJMcadhVjmK%2FiyYPa6vvvAhAeSU1CWkyJk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1134&quot; height=&quot;293&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;293&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;실행해보면 다음과 같은 창들이 뜬다. nag(잔소리. 여기서 1번 3번 창)를 없애는 것이 목적인 문제이다.&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;297&quot; data-origin-height=&quot;156&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nPKl5/dJMcagZXvDb/zT6A3lxe2VO3HhWy1NOyW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nPKl5/dJMcagZXvDb/zT6A3lxe2VO3HhWy1NOyW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nPKl5/dJMcagZXvDb/zT6A3lxe2VO3HhWy1NOyW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnPKl5%2FdJMcagZXvDb%2FzT6A3lxe2VO3HhWy1NOyW0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;297&quot; height=&quot;156&quot; data-origin-width=&quot;297&quot; data-origin-height=&quot;156&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kZ32b/dJMcaarYou1/DKhRcNNB2lmWIlHz5YadKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kZ32b/dJMcaarYou1/DKhRcNNB2lmWIlHz5YadKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kZ32b/dJMcaarYou1/DKhRcNNB2lmWIlHz5YadKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkZ32b%2FdJMcaarYou1%2FDKhRcNNB2lmWIlHz5YadKk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;190&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;190&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;134&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p8B2J/dJMcaarYou7/Pko4yjkQG3SI7jdrKNbFt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p8B2J/dJMcaarYou7/Pko4yjkQG3SI7jdrKNbFt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p8B2J/dJMcaarYou7/Pko4yjkQG3SI7jdrKNbFt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp8B2J%2FdJMcaarYou7%2FPko4yjkQG3SI7jdrKNbFt1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;215&quot; height=&quot;134&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;134&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;h2 data-ke-size=&quot;size26&quot;&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1342&quot; data-origin-height=&quot;288&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTGPEI/dJMcagTfm9w/UhRsjDwBd38MXggQLNsfE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTGPEI/dJMcagTfm9w/UhRsjDwBd38MXggQLNsfE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTGPEI/dJMcagTfm9w/UhRsjDwBd38MXggQLNsfE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTGPEI%2FdJMcagTfm9w%2FUhRsjDwBd38MXggQLNsfE1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1342&quot; height=&quot;288&quot; data-origin-width=&quot;1342&quot; data-origin-height=&quot;288&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CMP EAX, 0의 값은 항상 ZF=1이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GetModuleHandleA가 실행되고 반환된 값은 EAX에 할당되기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 그냥 실행하면 JE는 무조건 실행된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 우리는 x표 친 부분을 실행 시켜서는 안 되고 0x401024로 바로 넘어가야 하는데 그 방법에는 여러가지가 있다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;JE를 JMP로 수정&lt;/li&gt;
&lt;li&gt;entry point를 401000이 아니라 401024로 수정&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2번 방법으로 해주자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;616&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUmLz8/dJMcacDkSqL/9dwWbZiXptxU3OqMMd4QY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUmLz8/dJMcacDkSqL/9dwWbZiXptxU3OqMMd4QY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUmLz8/dJMcacDkSqL/9dwWbZiXptxU3OqMMd4QY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUmLz8%2FdJMcacDkSqL%2F9dwWbZiXptxU3OqMMd4QY0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1138&quot; height=&quot;616&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;616&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;entrypoint가 위치한 주소는 4000E8이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dump창으로 가서 이 주소를 24 10 으로 수정해주자.(리틀엔디안)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;309&quot; data-origin-height=&quot;140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lwOZ4/dJMcaayJYsE/qQs4sWYilnPXNbKT1V8XWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lwOZ4/dJMcaayJYsE/qQs4sWYilnPXNbKT1V8XWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lwOZ4/dJMcaayJYsE/qQs4sWYilnPXNbKT1V8XWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlwOZ4%2FdJMcaayJYsE%2FqQs4sWYilnPXNbKT1V8XWK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;309&quot; height=&quot;140&quot; data-origin-width=&quot;309&quot; data-origin-height=&quot;140&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수정 방법은 ctrl+e를 누르면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 밑에 error message box가 하나 더 있다. 얘는 따로 jmp 가 없으므로 그냥 다 NOP으로 채워주도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1327&quot; data-origin-height=&quot;197&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7CfuZ/dJMcaayJYsJ/ElJXcoRnNsDguBJVdYdNH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7CfuZ/dJMcaayJYsJ/ElJXcoRnNsDguBJVdYdNH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7CfuZ/dJMcaayJYsJ/ElJXcoRnNsDguBJVdYdNH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7CfuZ%2FdJMcaayJYsJ%2FElJXcoRnNsDguBJVdYdNH1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1327&quot; height=&quot;197&quot; data-origin-width=&quot;1327&quot; data-origin-height=&quot;197&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1101&quot; data-origin-height=&quot;417&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4bZBH/dJMb997DAcZ/pJJKQ0VT8M7ScFNLKjjLl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4bZBH/dJMb997DAcZ/pJJKQ0VT8M7ScFNLKjjLl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4bZBH/dJMb997DAcZ/pJJKQ0VT8M7ScFNLKjjLl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4bZBH%2FdJMb997DAcZ%2FpJJKQ0VT8M7ScFNLKjjLl0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1101&quot; height=&quot;417&quot; data-origin-width=&quot;1101&quot; data-origin-height=&quot;417&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;여기까지 하고 copy to execute file 을 해주자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 그 파일을 실행하면 두 개의 nags alert 창이 안 뜨고 아래 창만 뜨는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGiLeT/dJMb997DAc1/8W0qYTI3PJ1zZnEGo2WRd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGiLeT/dJMb997DAc1/8W0qYTI3PJ1zZnEGo2WRd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGiLeT/dJMb997DAc1/8W0qYTI3PJ1zZnEGo2WRd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGiLeT%2FdJMb997DAc1%2F8W0qYTI3PJ1zZnEGo2WRd0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;190&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;190&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;h2 data-ke-size=&quot;size26&quot;&gt;RegisterMe vs RegisterMe.oops 비교&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그냥 RegisterMe.oops을 열어보면 내용이 좀 빠져있는 것을 알 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;363&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ppx62/dJMcacwx6GU/lzEkI7tR9snFwh6ULKpVa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ppx62/dJMcacwx6GU/lzEkI7tR9snFwh6ULKpVa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ppx62/dJMcacwx6GU/lzEkI7tR9snFwh6ULKpVa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPpx62%2FdJMcacwx6GU%2FlzEkI7tR9snFwh6ULKpVa1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;689&quot; height=&quot;363&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;363&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;HxD로 정상이랑 비정상(oops)를 비교해가면서 이상한 곳을 수정해주자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 파일을 두고 같은 위치에 커서를 두고 F6을 누르면 자동으로 다른 곳을 찾아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 부분은 size of code 값이 다른 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상: 400 / 비정상: 400 400&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1762&quot; data-origin-height=&quot;529&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qm5D5/dJMcabRSCed/KdBMF7Pko9oJudhxbzbpUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qm5D5/dJMcabRSCed/KdBMF7Pko9oJudhxbzbpUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qm5D5/dJMcabRSCed/KdBMF7Pko9oJudhxbzbpUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqm5D5%2FdJMcabRSCed%2FKdBMF7Pko9oJudhxbzbpUk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1762&quot; height=&quot;529&quot; data-origin-width=&quot;1762&quot; data-origin-height=&quot;529&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다 수정하면 이런 창이 뜬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1406&quot; data-origin-height=&quot;595&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dd8fLW/dJMcahYTlMM/TDV7KbNFqryQtDKy0syEe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dd8fLW/dJMcahYTlMM/TDV7KbNFqryQtDKy0syEe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dd8fLW/dJMcahYTlMM/TDV7KbNFqryQtDKy0syEe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdd8fLW%2FdJMcahYTlMM%2FTDV7KbNFqryQtDKy0syEe1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1406&quot; height=&quot;595&quot; data-origin-width=&quot;1406&quot; data-origin-height=&quot;595&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;그리고 다시 peview로 oops파일을 열어보면 정상적으로 모든 구조가 잘 표시된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;533&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c41jZI/dJMcaftfbF8/ueNsNpBm1z3fTdI6Q8bsGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c41jZI/dJMcaftfbF8/ueNsNpBm1z3fTdI6Q8bsGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c41jZI/dJMcaftfbF8/ueNsNpBm1z3fTdI6Q8bsGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc41jZI%2FdJMcaftfbF8%2FueNsNpBm1z3fTdI6Q8bsGK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1316&quot; height=&quot;533&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;533&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;&amp;nbsp;&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;&amp;nbsp;&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;&amp;nbsp;&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>보안/리버싱</category>
      <category>레나튜토리얼</category>
      <category>리버싱</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/208</guid>
      <comments>https://yon11b.tistory.com/208#entry208comment</comments>
      <pubDate>Sat, 30 May 2026 23:49:37 +0900</pubDate>
    </item>
    <item>
      <title>[SK 쉴더스 루키즈] 윈도우 악성코드 고급 동적 분석: OllyDbg, Lena reversing tutorial01 문제</title>
      <link>https://yon11b.tistory.com/207</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3가지 공부 거리가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 어셈 플래그 수정해서 성공하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 조건에 맞는 파일 생성하여 해결하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3. 크랙 만들기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 어셈 플래그 수정해서 성공하는 방법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot; data-token-index=&quot;0&quot;&gt; 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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;CreateFileA는 파일 생성만 하는 게 아니라 파일 open도 하는 함수이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;둘 중에 뭘 할지는 세번째 인자에서 명시한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;여기서는 PUSH 3 &amp;gt; OPEN_EXISTING으로, 이미 존재하는 파일 open하기이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;207&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cc08CS/dJMcahYS0oN/CYLTGHNl5O9xOHGzuYHXtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cc08CS/dJMcahYS0oN/CYLTGHNl5O9xOHGzuYHXtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cc08CS/dJMcahYS0oN/CYLTGHNl5O9xOHGzuYHXtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcc08CS%2FdJMcahYS0oN%2FCYLTGHNl5O9xOHGzuYHXtk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1271&quot; height=&quot;207&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;207&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그런데 Keyfile.dat이라는 파일이 존재하지 않으므로 EAX에 -1(FFFFF FFFFF)이 들어간다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;rarr; 참고: x86에서는 함수 반환값이 항상 EAX에 들어간다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1412&quot; data-origin-height=&quot;319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d8qgyU/dJMb99T5Lzy/AihU4UjkytixQdbsI09KDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d8qgyU/dJMb99T5Lzy/AihU4UjkytixQdbsI09KDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d8qgyU/dJMb99T5Lzy/AihU4UjkytixQdbsI09KDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd8qgyU%2FdJMb99T5Lzy%2FAihU4UjkytixQdbsI09KDK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1412&quot; height=&quot;319&quot; data-origin-width=&quot;1412&quot; data-origin-height=&quot;319&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;CMP 결과가 0이 아니어야 error msg 출력 코드를 건너뛰고 정상 흐름(ReadFile)으로 이동할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;지금은 0이라 ZF(Zero Flag)가 1이 되어 있으므로 이걸 0으로 바꿔주자.&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-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Zero flag = 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1759&quot; data-origin-height=&quot;715&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmaPnA/dJMcadPFNxn/I1ZlIZUdkIsjKdzXBJ0MlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmaPnA/dJMcadPFNxn/I1ZlIZUdkIsjKdzXBJ0MlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmaPnA/dJMcadPFNxn/I1ZlIZUdkIsjKdzXBJ0MlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmaPnA%2FdJMcadPFNxn%2FI1ZlIZUdkIsjKdzXBJ0MlK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1759&quot; height=&quot;715&quot; data-origin-width=&quot;1759&quot; data-origin-height=&quot;715&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Zero&amp;nbsp;flag&amp;nbsp;=&amp;nbsp;0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1763&quot; data-origin-height=&quot;644&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PaHUa/dJMcaciWx0b/p0EyKXDB5YiclhzGx5BKG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PaHUa/dJMcaciWx0b/p0EyKXDB5YiclhzGx5BKG1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PaHUa/dJMcaciWx0b/p0EyKXDB5YiclhzGx5BKG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPaHUa%2FdJMcaciWx0b%2Fp0EyKXDB5YiclhzGx5BKG1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1763&quot; height=&quot;644&quot; data-origin-width=&quot;1763&quot; data-origin-height=&quot;644&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 파일&amp;nbsp;Read&amp;nbsp;내용&amp;nbsp;확인&amp;nbsp;거짓말&amp;nbsp;치기&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot; data-token-index=&quot;0&quot;&gt; 파일 read 부분 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1254&quot; data-origin-height=&quot;442&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ngAFZ/dJMcai4vPuV/HPeYeDSkKJH1AkcgVK8KZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ngAFZ/dJMcai4vPuV/HPeYeDSkKJH1AkcgVK8KZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ngAFZ/dJMcai4vPuV/HPeYeDSkKJH1AkcgVK8KZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FngAFZ%2FdJMcai4vPuV%2FHPeYeDSkKJH1AkcgVK8KZK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1254&quot; height=&quot;442&quot; data-origin-width=&quot;1254&quot; data-origin-height=&quot;442&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;없는 파일을 읽으려고 하니까 당연히 몇 바이트 읽었는지(0x00402173), 읽은 바이트(0x00402111A) 둘 다 아무 내용이 없이 0만 채워져 있는 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;pBytesRead 부분(0x00402173)이 0이므로 CMP 402173, 10을 하면 음수가 나와서 JL 조건을 충족해서 error 메시지를 띄우는 곳으로 jmp해버린다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;CMP 402173, 10 결과가 음수라서 SF(Sign Flag)가 1이 되었고, JL은 SF를 보고 조건을 판단하므로, 우리는 SF 값을 1에서 0으로 바꿔주면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1555&quot; data-origin-height=&quot;856&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Xtq5P/dJMcahR6ee7/hIMfgW9H9SdcoADMucH8JK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Xtq5P/dJMcahR6ee7/hIMfgW9H9SdcoADMucH8JK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Xtq5P/dJMcahR6ee7/hIMfgW9H9SdcoADMucH8JK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXtq5P%2FdJMcahR6ee7%2FhIMfgW9H9SdcoADMucH8JK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1555&quot; height=&quot;856&quot; data-origin-width=&quot;1555&quot; data-origin-height=&quot;856&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;b&gt;3. 파일&amp;nbsp;read&amp;nbsp;내부&amp;nbsp;실행&amp;nbsp;중&amp;nbsp;검증&amp;nbsp;우회하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CMP ESI, 8의 결과로 SF=1이 되었다. 여기서도 음수면 error 메시지 출력하는 004010F7로 가버리므로, SF를 0으로 해주어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 로직에 대해서는 조건파일 생성 풀이에서 좀 더 자세히 다룰 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1611&quot; data-origin-height=&quot;443&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kPdc4/dJMcaijczen/jYmxtJVUFh9d7AZU1Zj80K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kPdc4/dJMcaijczen/jYmxtJVUFh9d7AZU1Zj80K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kPdc4/dJMcaijczen/jYmxtJVUFh9d7AZU1Zj80K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkPdc4%2FdJMcaijczen%2FjYmxtJVUFh9d7AZU1Zj80K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1611&quot; height=&quot;443&quot; data-origin-width=&quot;1611&quot; data-origin-height=&quot;443&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 00401008이 실행되고, 그 주소로 가보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1795&quot; data-origin-height=&quot;622&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjACe/dJMcah5HW5I/cceGxsnC9dQlkw20dfGTM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjACe/dJMcah5HW5I/cceGxsnC9dQlkw20dfGTM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjACe/dJMcah5HW5I/cceGxsnC9dQlkw20dfGTM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmjACe%2FdJMcah5HW5I%2FcceGxsnC9dQlkw20dfGTM1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1795&quot; height=&quot;622&quot; data-origin-width=&quot;1795&quot; data-origin-height=&quot;622&quot;/&gt;&lt;/span&gt;&lt;/figure&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;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;개념 이해&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;JL은 작은지를 비교하는 것 &lt;br /&gt;jump if less: 왼쪽값이 오른쪽 값보다 작으면 점프한다는 뜻&lt;br /&gt;&lt;br /&gt;signed: +/- 표기 &lt;br /&gt;왼쪽값이 오른쪽 값보다 작으면 sign flag가 1&lt;br /&gt;&lt;br /&gt;음수: sign flag=1, of=0 / 양수: sf=0 of=0(overflow flag)&lt;br /&gt;&lt;br /&gt;지금 그냥 나온 결과가 음수임. 이걸 양수로 만들어주기 위해 sf를 0으로 바꿔준 것임.&lt;br /&gt;&lt;br /&gt;JL: 음수여야 점프함.&lt;br /&gt;&lt;br /&gt;우린 점프하면 error message 출력하므로 점프하면 안됨.&lt;br /&gt;&lt;br /&gt;그러니까 sign=1(음수)를 sign=0(양수)로 바꿔야 함&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;519&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6oxRO/dJMcacpMyV4/JGnmGzOyo81N8M0BxYtdgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6oxRO/dJMcacpMyV4/JGnmGzOyo81N8M0BxYtdgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6oxRO/dJMcacpMyV4/JGnmGzOyo81N8M0BxYtdgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6oxRO%2FdJMcacpMyV4%2FJGnmGzOyo81N8M0BxYtdgk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;606&quot; height=&quot;221&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;519&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 조건에 맞는 파일 생성하여 해결하는 방법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번에는&amp;nbsp;코드에서&amp;nbsp;어떤&amp;nbsp;조건으로&amp;nbsp;keyfile을&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blnxHg/dJMcadhUWYr/tcc3HzZOkPhc70VNm70r1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blnxHg/dJMcadhUWYr/tcc3HzZOkPhc70VNm70r1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blnxHg/dJMcadhUWYr/tcc3HzZOkPhc70VNm70r1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblnxHg%2FdJMcadhUWYr%2Ftcc3HzZOkPhc70VNm70r1K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1426&quot; height=&quot;160&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Keyfile.dat이름으로 된 파일을 open 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;&amp;rArr; 첫번째 조건: Keyfile.dat 파일을 만든다.&lt;/b&gt;&lt;/u&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;0x00402173에는 읽은 파일 &lt;b&gt;바이트&lt;/b&gt; 값(길이)이 저장된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0x0040211A에는 읽은 파일 &lt;b&gt;내용&lt;/b&gt;이 저장된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1367&quot; data-origin-height=&quot;425&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cD5DCS/dJMcabYIqzG/G2nqSm9WkgVaTrUfgLtwyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cD5DCS/dJMcabYIqzG/G2nqSm9WkgVaTrUfgLtwyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cD5DCS/dJMcabYIqzG/G2nqSm9WkgVaTrUfgLtwyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcD5DCS%2FdJMcabYIqzG%2FG2nqSm9WkgVaTrUfgLtwyK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1367&quot; height=&quot;425&quot; data-origin-width=&quot;1367&quot; data-origin-height=&quot;425&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0x402173&amp;nbsp;위치에&amp;nbsp;있는&amp;nbsp;값과&amp;nbsp;0x10을&amp;nbsp;비교해서&amp;nbsp;음수가&amp;nbsp;나오면&amp;nbsp;error&amp;nbsp;msg&amp;nbsp;위치(0x004010F7)로&amp;nbsp;이동&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1821&quot; data-origin-height=&quot;569&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1ySYR/dJMcabYIqzH/UtV6JQa5woTHQ4JZ3yshy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1ySYR/dJMcabYIqzH/UtV6JQa5woTHQ4JZ3yshy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1ySYR/dJMcabYIqzH/UtV6JQa5woTHQ4JZ3yshy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1ySYR%2FdJMcabYIqzH%2FUtV6JQa5woTHQ4JZ3yshy0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1821&quot; height=&quot;569&quot; data-origin-width=&quot;1821&quot; data-origin-height=&quot;569&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;&amp;rArr; 두번째 조건: 파일 바이트는 0x10 이상이어야 한다.&lt;/b&gt;&lt;/u&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;ESI값과 8을 비교해서 음수가 나오면 error msg 위치로 이동&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1821&quot; data-origin-height=&quot;569&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/culRiM/dJMcagZW9aM/2pDX5iGKjrBXrFuuv2cZ4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/culRiM/dJMcagZW9aM/2pDX5iGKjrBXrFuuv2cZ4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/culRiM/dJMcagZW9aM/2pDX5iGKjrBXrFuuv2cZ4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FculRiM%2FdJMcagZW9aM%2F2pDX5iGKjrBXrFuuv2cZ4K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1821&quot; height=&quot;569&quot; data-origin-width=&quot;1821&quot; data-origin-height=&quot;569&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rArr; ESI값이 8이상이어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ESI 값은 어떻게 증가시킬까? &amp;rarr; AL값이 47h(&amp;rsquo;G&amp;rsquo;)여야 ESI가 INC 된다.&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1821&quot; data-origin-height=&quot;569&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bd9Czh/dJMcagFJNn7/KRsfhFAl3d2roYCWtQ8zT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bd9Czh/dJMcagFJNn7/KRsfhFAl3d2roYCWtQ8zT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bd9Czh/dJMcagFJNn7/KRsfhFAl3d2roYCWtQ8zT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd9Czh%2FdJMcagFJNn7%2FKRsfhFAl3d2roYCWtQ8zT0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1821&quot; height=&quot;569&quot; data-origin-width=&quot;1821&quot; data-origin-height=&quot;569&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;&amp;rArr; 세번째 조건: 파일 안의 문자열 'G'는 8개 이상이어야 한다.&lt;/b&gt;&lt;/u&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;종합: 길이 16이상 &amp;amp; G 8개 이상 문자열을 갖고 있는 Keyfile.dat 파일을 만들자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;226&quot; data-origin-height=&quot;101&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJXUFd/dJMcajbfzaz/sG4Vv4OrqJ2L1zUckg8NO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJXUFd/dJMcajbfzaz/sG4Vv4OrqJ2L1zUckg8NO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJXUFd/dJMcajbfzaz/sG4Vv4OrqJ2L1zUckg8NO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJXUFd%2FdJMcajbfzaz%2FsG4Vv4OrqJ2L1zUckg8NO0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;226&quot; height=&quot;101&quot; data-origin-width=&quot;226&quot; data-origin-height=&quot;101&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성공!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;295&quot; data-origin-height=&quot;311&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dvnRSi/dJMcagFJNn8/K1EltRWuXKQeP1sLXK51Y1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dvnRSi/dJMcagFJNn8/K1EltRWuXKQeP1sLXK51Y1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dvnRSi/dJMcagFJNn8/K1EltRWuXKQeP1sLXK51Y1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdvnRSi%2FdJMcagFJNn8%2FK1EltRWuXKQeP1sLXK51Y1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;225&quot; height=&quot;237&quot; data-origin-width=&quot;295&quot; data-origin-height=&quot;311&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;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3. 크랙 만들기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;아래 부분들을 다 수정해 준 뒤, 변경된 부분을 파일로 저장하면 한번에 congratz가 나온다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;405&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcKdbI/dJMcaciWx3B/rtK7KDUecsKAFezi2yM3wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcKdbI/dJMcaciWx3B/rtK7KDUecsKAFezi2yM3wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcKdbI/dJMcaciWx3B/rtK7KDUecsKAFezi2yM3wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcKdbI%2FdJMcaciWx3B%2FrtK7KDUecsKAFezi2yM3wk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1262&quot; height=&quot;405&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;405&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U9d1m/dJMcaciWx3E/Gn86mj0tssH6oaQY6hxC40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U9d1m/dJMcaciWx3E/Gn86mj0tssH6oaQY6hxC40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U9d1m/dJMcaciWx3E/Gn86mj0tssH6oaQY6hxC40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU9d1m%2FdJMcaciWx3E%2FGn86mj0tssH6oaQY6hxC40%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1252&quot; height=&quot;314&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;538&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/V23Zn/dJMcadWtFVC/zJAftDVARmjL6bJc3YOq40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/V23Zn/dJMcadWtFVC/zJAftDVARmjL6bJc3YOq40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/V23Zn/dJMcadWtFVC/zJAftDVARmjL6bJc3YOq40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FV23Zn%2FdJMcadWtFVC%2FzJAftDVARmjL6bJc3YOq40%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;538&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;538&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UmV27/dJMcagZW9aJ/gJ3DZUg0CVzQ4O0EenbSf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UmV27/dJMcagZW9aJ/gJ3DZUg0CVzQ4O0EenbSf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UmV27/dJMcagZW9aJ/gJ3DZUg0CVzQ4O0EenbSf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUmV27%2FdJMcagZW9aJ%2FgJ3DZUg0CVzQ4O0EenbSf1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1162&quot; height=&quot;353&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;353&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;NOP으로 변경된 모습&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YEanT/dJMcaf03nox/wXMgECDYcAs2FAdTbC5ohk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YEanT/dJMcaf03nox/wXMgECDYcAs2FAdTbC5ohk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YEanT/dJMcaf03nox/wXMgECDYcAs2FAdTbC5ohk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYEanT%2FdJMcaf03nox%2FwXMgECDYcAs2FAdTbC5ohk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;654&quot; height=&quot;250&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;250&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;추가: 저 로직을 코드로 만들어봐라!&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1165&quot; data-origin-height=&quot;364&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdqlrR/dJMcahEyTlb/i2pXD3Cw1vsoxJJx1xGFUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdqlrR/dJMcahEyTlb/i2pXD3Cw1vsoxJJx1xGFUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdqlrR/dJMcahEyTlb/i2pXD3Cw1vsoxJJx1xGFUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdqlrR%2FdJMcahEyTlb%2Fi2pXD3Cw1vsoxJJx1xGFUK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1165&quot; height=&quot;364&quot; data-origin-width=&quot;1165&quot; data-origin-height=&quot;364&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;pre id=&quot;code_1780081444672&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if bytes_read &amp;gt;= 16:
	while (*(sentence+i))
		if *(sentence+i)=='G'
			sen_len++
		i++
	if sen_len &amp;gt;= 8:
		print('congratz')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;&amp;nbsp;&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/207</guid>
      <comments>https://yon11b.tistory.com/207#entry207comment</comments>
      <pubDate>Sat, 30 May 2026 04:06:18 +0900</pubDate>
    </item>
    <item>
      <title>[SK 쉴더스 루키즈] EMU 8086 실습(신호등, 계산기)</title>
      <link>https://yon11b.tistory.com/206</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;EMU8086이란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16비트 x86 환경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8086&amp;nbsp;CPU&amp;nbsp;에뮬레이터&amp;nbsp;+&amp;nbsp;어셈블리&amp;nbsp;개발&amp;nbsp;도구&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8086&amp;nbsp;CPU를&amp;nbsp;가상으로&amp;nbsp;흉내&amp;nbsp;내서&amp;nbsp;어셈블리&amp;nbsp;코드를&amp;nbsp;실행해볼&amp;nbsp;수&amp;nbsp;있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table id=&quot;36fb3aca-18a4-805b-9d5c-e5c8423f8627&quot; 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&gt;&lt;b&gt; 구분 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 16비트 (8086 ) &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 32비트 (80386+) &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36fb3aca-18a4-8083-bbc2-c1a45615d458&quot;&gt;
&lt;td id=&quot;LoJt&quot;&gt;범용 레지스터&lt;/td&gt;
&lt;td id=&quot;ezDh&quot;&gt;AX, BX, CX, DX&lt;/td&gt;
&lt;td id=&quot;jCQ~&quot;&gt;EAX, EBX, ECX, EDX&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36fb3aca-18a4-80aa-990b-faee1f9fca7d&quot;&gt;
&lt;td id=&quot;LoJt&quot;&gt;포인터 레지스터&lt;/td&gt;
&lt;td id=&quot;ezDh&quot;&gt;SP, BP, SI, DI&lt;/td&gt;
&lt;td id=&quot;jCQ~&quot;&gt;ESP, EBP, ESI, EDI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36fb3aca-18a4-80f2-a64b-c8cc7b555ef9&quot;&gt;
&lt;td id=&quot;LoJt&quot;&gt;주소 크기&lt;/td&gt;
&lt;td id=&quot;ezDh&quot;&gt;16비트&lt;/td&gt;
&lt;td id=&quot;jCQ~&quot;&gt;32비트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36fb3aca-18a4-80ad-9cd3-c97dd8ecff77&quot;&gt;
&lt;td id=&quot;LoJt&quot;&gt;최대 메모리&lt;/td&gt;
&lt;td id=&quot;ezDh&quot;&gt;1MB&lt;/td&gt;
&lt;td id=&quot;jCQ~&quot;&gt;4GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36fb3aca-18a4-8030-94dc-d37df50d4ecd&quot;&gt;
&lt;td id=&quot;LoJt&quot;&gt;실행 모드&lt;/td&gt;
&lt;td id=&quot;ezDh&quot;&gt;Real Mode&lt;/td&gt;
&lt;td id=&quot;jCQ~&quot;&gt;Protected Mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36fb3aca-18a4-809e-8933-f80f64360e03&quot;&gt;
&lt;td id=&quot;LoJt&quot;&gt;시스템 호출&lt;/td&gt;
&lt;td id=&quot;ezDh&quot;&gt;INT 21h&lt;/td&gt;
&lt;td id=&quot;jCQ~&quot;&gt;Windows API, SYSENTER 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36fb3aca-18a4-8000-922f-d35606bd476a&quot;&gt;
&lt;td id=&quot;LoJt&quot;&gt;어셈 문법&lt;/td&gt;
&lt;td id=&quot;ezDh&quot;&gt;상대적으로 단순&lt;/td&gt;
&lt;td id=&quot;jCQ~&quot;&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;EMU8086: DOS(16비트) 인터럽트 호출 방식 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면에, 32비트 Windows에서는 보통&lt;/p&gt;
&lt;pre class=&quot;autoit&quot;&gt;&lt;code&gt;CALL MessageBoxA
CALL CreateFileA
CALL ExitProcess
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 Windows API를 호출한다.&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;b&gt;INT 21h 방식 (&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;DOS 인터럽트 호출 방식&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DOS 운영체제에게 기능을 요청하는 방식&lt;/p&gt;
&lt;pre class=&quot;x86asm&quot;&gt;&lt;code&gt;MOV AH, 기능번호
INT 21h
&lt;/code&gt;&lt;/pre&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;입력: DOS야, 키보드 입력 1글자 받아줘.&lt;/p&gt;
&lt;pre class=&quot;x86asm&quot;&gt;&lt;code&gt;MOV AH, 01h
INT 21h
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력: DOS야, DL에 있는 문자 출력해줘.&lt;/p&gt;
&lt;pre class=&quot;x86asm&quot;&gt;&lt;code&gt;MOV DL, 'A'
MOV AH, 02h
INT 21h
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;신호등 예제&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1e1ac/dJMcag6KHSI/pcsW9Il6mClelE6RQwX070/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1e1ac/dJMcag6KHSI/pcsW9Il6mClelE6RQwX070/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1e1ac/dJMcag6KHSI/pcsW9Il6mClelE6RQwX070/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1e1ac%2FdJMcag6KHSI%2FpcsW9Il6mClelE6RQwX070%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;587&quot; height=&quot;411&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;776&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;pre id=&quot;code_1780079195297&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;; controlling external device with 8086 microprocessor.
; realistic test for c:\emu8086\devices\Traffic_Lights.exe

#start=Traffic_Lights.exe#

name &quot;traffic&quot;

; 모든 신호등을 빨간불로 설정
mov ax, all_red
out 4, ax     ; AX 값을 IO포트 4번으로 보내는 명령어
              ; AX에 들어있는 신호등 상태값을 외부 장치로 출력
              

mov si, offset situation  ; si에 situation의 주소를 넣는다.
                          ; si는 현재 출력할 신호등 패턴을 가리키는 포인터 역할


next:
mov ax, [si]
out 4, ax

; 5초 대기 명령어
mov     cx, 4Ch    ; 004C4B40h = 5,000,000
mov     dx, 4B40h  ; 5초를 나타내려면 두 개의 레지스터에 나눠서 표현해야 함.
mov     ah, 86h
int     15h


; 반복문
add si, 2 ; next situation
cmp si, sit_end  ; 마지막까지 갔는지 비교
jb  next         ; 작으면 위(next)로 점프 / 같으면 밑으로 ㄱㄱ  
mov si, offset situation ;  situation 시작 주소로 si 포인터를 되돌림
jmp next                 ; 다시 처음부터 반복


;                        FEDC_BA98_7654_3210
situation        dw      0000_0011_0000_1100b
s1               dw      0000_0110_1001_1010b
s2               dw      0000_1000_0110_0001b
s3               dw      0000_1000_0110_0001b
s4               dw      0000_0100_1101_0011b
sit_end = $


all_red          equ     0000_0010_0100_1001b&lt;/code&gt;&lt;/pre&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dXxy3J/dJMcafNBDUf/SPxePD4A58ALdOIPdE6EJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dXxy3J/dJMcafNBDUf/SPxePD4A58ALdOIPdE6EJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dXxy3J/dJMcafNBDUf/SPxePD4A58ALdOIPdE6EJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdXxy3J%2FdJMcafNBDUf%2FSPxePD4A58ALdOIPdE6EJk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;397&quot; height=&quot;191&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;235&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;table style=&quot;border-collapse: collapse; width: 53.3721%; height: 112px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt; 구분 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 의미 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;INT&lt;/td&gt;
&lt;td&gt;어떤 서비스를 호출할지 결정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AH&lt;/td&gt;
&lt;td&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;table style=&quot;border-collapse: collapse; width: 37.3256%; height: 138px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt; BIOS 인터럽트 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 기능 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;int 10h&lt;/td&gt;
&lt;td&gt;화면 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;int 13h&lt;/td&gt;
&lt;td&gt;디스크 읽기/쓰기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;int 15h&lt;/td&gt;
&lt;td&gt;시스템 서비스(대기 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;int 16h&lt;/td&gt;
&lt;td&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;table style=&quot;border-collapse: collapse; width: 38.4884%; height: 81px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt; 코드 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 의미 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AH=86h&lt;/td&gt;
&lt;td&gt;지정 시간만큼 대기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AH=88h&lt;/td&gt;
&lt;td&gt;메모리 크기 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AH=C0h&lt;/td&gt;
&lt;td&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;h4 data-ke-size=&quot;size20&quot;&gt;흐름 해석&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1289&quot; data-origin-height=&quot;761&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tFl9a/dJMcada3EJ4/k3JgiW7O0YEJoEsnjLTEF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tFl9a/dJMcada3EJ4/k3JgiW7O0YEJoEsnjLTEF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tFl9a/dJMcada3EJ4/k3JgiW7O0YEJoEsnjLTEF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtFl9a%2FdJMcada3EJ4%2Fk3JgiW7O0YEJoEsnjLTEF1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1289&quot; height=&quot;761&quot; data-origin-width=&quot;1289&quot; data-origin-height=&quot;761&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;situation&amp;nbsp; 반복문 돌릴 때 상황이다.&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;b&gt;ADD SI, 02h&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SI레지스터에 0025 저장&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;b&gt;mov ax, [si]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;si를 주소로 하는 값을 ax에 저장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;=&amp;gt;&amp;nbsp; 그래서 메모리에서 0025주소를 찾아가봤더니 06 9A 라는 값이 있었다. (이 값을 ax에 저장)&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;b&gt;out 4, ax&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ax에 들어있는 값을 IO포트 4번으로 출력해라&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 값을 바이너리로 변환하면, s1의 situation (0000 0100 1001 1010)이 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;시간 나타내는 부분 해석&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 BIOS는 시간을&lt;/p&gt;
&lt;pre class=&quot;avrasm&quot;&gt;&lt;code&gt;CX:DX
&lt;/code&gt;&lt;/pre&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;pre class=&quot;x86asm&quot;&gt;&lt;code&gt;mov cx, 4Ch
mov dx, 4B40h
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;를 하면&lt;/p&gt;
&lt;pre class=&quot;maxima&quot;&gt;&lt;code&gt;CX = 004C
DX = 4B40
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 되고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BIOS는 이를&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;004C4B40h
&lt;/code&gt;&lt;/pre&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;계산기 만들기&lt;/h2&gt;
&lt;pre id=&quot;code_1780080509098&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;목표: 한 자리 숫자 두 개의 덧셈&amp;middot;뺄셈을 수행하는 콘솔 계산기 작성
➢설명
▶사용자로부터 한 자리 숫자 두 개를 입력받는다.
▶연산자를 입력받아 덧셈(+) 또는 뺄셈(-) 중 하나를 선택한다.
▶입력값은 ASCII 코드이므로 '0'(30h) 을 빼서 실제 숫자로 변환
▶결과는 다시 '0' 을 더해 ASCII로 변환 후 출력&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1780080515845&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;; You may customize this and other start-up templates; 
; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h       

; add your code here
; 첫번째 숫자 입력
MOV ah, 01h
INT 21h             ; 입력결과가 AL에 들어감
MOV bl, al

; 두번째 숫자 입력
MOV ah, 01h
INT 21h
MOV bh, al

; 연산자 입력
MOV ah, 01h
INT 21h
MOV ch, al


; calculate
SUB bl, 30h
SUB bh, 30h

; + 이면 add_cal 함수로 ㄱㄱ / 아니면 sub_cal로 ㄱㄱ
CMP ch, 2bh
JE add_cal
JNZ sub_cal

add_cal:
    ADD bl, bh
    JMP END
    
sub_cal:
    SUB bl, bh
    JMP END

END:    
    ADD bl, 30h  ; 출력할 때는 다시 30h 더해서.
    MOV dl, bl
    MOV ah, 02h
    INT 21h

ret&lt;/code&gt;&lt;/pre&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;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w90JA/dJMcacDkwHY/qJBkRkfUVjiK5AN0k87ZE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w90JA/dJMcacDkwHY/qJBkRkfUVjiK5AN0k87ZE0/img.png&quot; data-origin-width=&quot;297&quot; data-origin-height=&quot;91&quot; data-is-animation=&quot;false&quot; style=&quot;width: 52.2757%; margin-right: 10px;&quot; data-widthpercent=&quot;52.89&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w90JA/dJMcacDkwHY/qJBkRkfUVjiK5AN0k87ZE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw90JA%2FdJMcacDkwHY%2FqJBkRkfUVjiK5AN0k87ZE0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;297&quot; height=&quot;91&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nqTfi/dJMcaayJCrC/KdEEJ4jvmV0ykh5g7r8Yl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nqTfi/dJMcaayJCrC/KdEEJ4jvmV0ykh5g7r8Yl0/img.png&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;86&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.5615%;&quot; data-widthpercent=&quot;47.11&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nqTfi/dJMcaayJCrC/KdEEJ4jvmV0ykh5g7r8Yl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnqTfi%2FdJMcaayJCrC%2FKdEEJ4jvmV0ykh5g7r8Yl0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;86&quot;/&gt;&lt;/span&gt;&lt;/div&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;5 - 3 = 2 / 5+ 3 = 8&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: #333333; text-align: start;&quot;&gt;5 - 3 = 2&lt;span&gt; 했을 때 상황이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBknS6/dJMcacwxMhW/HJRuhMDKzBOTkpf5dH2eH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBknS6/dJMcacwxMhW/HJRuhMDKzBOTkpf5dH2eH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBknS6/dJMcacwxMhW/HJRuhMDKzBOTkpf5dH2eH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBknS6%2FdJMcacwxMhW%2FHJRuhMDKzBOTkpf5dH2eH1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;607&quot; height=&quot;382&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BL에 0x32. 즉, 2가 들어있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CH에는 0x2D. 즉, - 이 들어있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;좀 더 깔끔한 GPT 코드&lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1780080733455&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;org 100h

; 첫번째 숫자 입력
MOV ah, 01h
INT 21h
MOV bl, al

; 두번째 숫자 입력
MOV ah, 01h
INT 21h
MOV bh, al

; 연산자 입력
MOV ah, 01h
INT 21h
MOV ch, al

; 문자 숫자 -&amp;gt; 실제 숫자
SUB bl, 30h
SUB bh, 30h

; 연산자 비교
CMP ch, '+'
JE add_cal

CMP ch, '-'
JE sub_cal

JMP END

add_cal:
    ADD bl, bh
    JMP PRINT

sub_cal:
    SUB bl, bh
    JMP PRINT

PRINT:
    ADD bl, 30h
    MOV dl, bl
    MOV ah, 02h
    INT 21h

END:
ret&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/206</guid>
      <comments>https://yon11b.tistory.com/206#entry206comment</comments>
      <pubDate>Sat, 30 May 2026 03:52:24 +0900</pubDate>
    </item>
    <item>
      <title>[SK 쉴더스 루키즈] 윈도우 기초 정적/동적 분석 실습 (Practical Malware Analysis LAB 03-02)</title>
      <link>https://yon11b.tistory.com/205</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;======= 정적 분석 =======&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dll 파일이라 실행을 이렇게 해야 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1779991294287&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;C:\windows\system32\rundll32.exe C:\Lab03-02.dll,installA&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[네트워크 통신 dll -PEstudio(libraries)]&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;108&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q9mQe/dJMcacQMSVr/lWiwhV3H5HLxNyE4kXyxE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q9mQe/dJMcacQMSVr/lWiwhV3H5HLxNyE4kXyxE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q9mQe/dJMcacQMSVr/lWiwhV3H5HLxNyE4kXyxE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ9mQe%2FdJMcacQMSVr%2FlWiwhV3H5HLxNyE4kXyxE0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;240&quot; height=&quot;253&quot; data-origin-width=&quot;108&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ws2_32.dll&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;kernel32.dll&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;advapi32.dll&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;msvcrt.dll&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;printf 쓰면 등장. 문자열 관련.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;[ServiceMain - PEstudio(exports)]&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;327&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvOfx4/dJMcadWsCsW/VeOQsBUUdbK5qh0TcKhod0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvOfx4/dJMcadWsCsW/VeOQsBUUdbK5qh0TcKhod0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvOfx4/dJMcadWsCsW/VeOQsBUUdbK5qh0TcKhod0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvOfx4%2FdJMcadWsCsW%2FVeOQsBUUdbK5qh0TcKhod0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;689&quot; height=&quot;327&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;327&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ServiceMain이 여기서 이상한 얘다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜냐?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ServiceMain이란?: Windows Service의 실제 시작 함수(entry 역할)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반 프로그램은 main(), WinMain() 부터 시작한다. (ServiceMain은 x)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본래 ServiceMain의 역할&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스 초기화&lt;/li&gt;
&lt;li&gt;스레드 생성&lt;/li&gt;
&lt;li&gt;네트워크 연결&lt;/li&gt;
&lt;li&gt;백그라운드 루프 실행&lt;/li&gt;
&lt;li&gt;서비스 상태 등록&lt;/li&gt;
&lt;/ul&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;부팅 후 자동 실행&lt;/li&gt;
&lt;li&gt;백그라운드 상주&lt;/li&gt;
&lt;li&gt;SYSTEM 권한으로 실행 가능&lt;/li&gt;
&lt;li&gt;사용자 눈에 잘 안 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목적으로 ServiceMain을 쓴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;++windows 서비스는 보통 services.exe &amp;rarr; svchost.exe &amp;rarr; ServiceMain 호출 이런 흐름으로 동작한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[도메인 &amp;amp; quit 명령어 &amp;amp; svchost.exe &amp;amp; INA - strings]&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 외부 도메인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;practicalmalwareanalysis.com&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;53&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkSgj6/dJMcabRRdsY/iIXep2q9ODkIMbOuV8DIS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkSgj6/dJMcabRRdsY/iIXep2q9ODkIMbOuV8DIS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkSgj6/dJMcabRRdsY/iIXep2q9ODkIMbOuV8DIS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkSgj6%2FdJMcabRRdsY%2FiIXep2q9ODkIMbOuV8DIS1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;259&quot; height=&quot;53&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;53&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. quit 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;base64인코딩 된 것처럼 보이는 문자열이 있어서 base64 디코딩을 해보았다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bstt0K/dJMcagZV97Y/IDxKGVs6u7keTzk4KWBG4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bstt0K/dJMcagZV97Y/IDxKGVs6u7keTzk4KWBG4k/img.png&quot; data-origin-width=&quot;943&quot; data-origin-height=&quot;486&quot; data-is-animation=&quot;false&quot; style=&quot;width: 66.272%; margin-right: 10px;&quot; data-widthpercent=&quot;67.05&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bstt0K/dJMcagZV97Y/IDxKGVs6u7keTzk4KWBG4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbstt0K%2FdJMcagZV97Y%2FIDxKGVs6u7keTzk4KWBG4k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w0Fae/dJMcaa6yNYa/ugELkIXfyDY4kEIoAhm4QK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w0Fae/dJMcaa6yNYa/ugELkIXfyDY4kEIoAhm4QK/img.png&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;623&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.5652%;&quot; data-widthpercent=&quot;32.95&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w0Fae/dJMcaa6yNYa/ugELkIXfyDY4kEIoAhm4QK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw0Fae%2FdJMcaa6yNYa%2FugELkIXfyDY4kEIoAhm4QK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;594&quot; height=&quot;623&quot;/&gt;&lt;/span&gt;&lt;/div&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;quit 명령어로 나왔다.이 명령어가 있으면 백도어일 가능성이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rArr; 왜냐하면 일반 프로그램은 &quot;원격 제어용 명령 문자열&quot;을 거의 안 쓰기 때문이다.&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;table style=&quot;border-collapse: collapse; width: 49.5349%; height: 205px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;명령&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 의미 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;connect&lt;/td&gt;
&lt;td&gt;C2 연결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cmd&lt;/td&gt;
&lt;td&gt;명령 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sleep&lt;/td&gt;
&lt;td&gt;대기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;getfile&lt;/td&gt;
&lt;td&gt;파일 다운로드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;quit&lt;/td&gt;
&lt;td&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. svchost.exe&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의심가는 파일 발견: Svchost&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;433&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wQ1AG/dJMcabEmnr2/kyZp5x1PkmGslerHCmdmY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wQ1AG/dJMcabEmnr2/kyZp5x1PkmGslerHCmdmY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wQ1AG/dJMcabEmnr2/kyZp5x1PkmGslerHCmdmY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwQ1AG%2FdJMcabEmnr2%2FkyZp5x1PkmGslerHCmdmY0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;433&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;433&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;svchost.exe는 백그라운드 실행 관련 파일이다.&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;b&gt;svchost.exe -k netsvcs 의 의미&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; netsvcs 그룹 서비스(악성 DLL)가 svcst 서비스 그룹에 삽입된다&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;Windows는 DLL 형태 서비스들을 직접 실행하지 못한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 svchost.exe 라는 서비스 실행용 호스트 프로세스 안에 DLL 서비스를 넣어서 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구조는 보통 이렇다.&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;services.exe
    &amp;darr;
svchost.exe -k netsvcs
    &amp;darr;
서비스 DLL들 로드
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. INA (Intranet Network Awareness), IPRIP, INA 설명&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0w8y8/dJMcafGNubj/CSK1ZkzIcGuEvuWxtvUkC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0w8y8/dJMcafGNubj/CSK1ZkzIcGuEvuWxtvUkC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0w8y8/dJMcafGNubj/CSK1ZkzIcGuEvuWxtvUkC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0w8y8%2FdJMcafGNubj%2FCSK1ZkzIcGuEvuWxtvUkC1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1125&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1125&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;h2 data-ke-size=&quot;size26&quot;&gt;======= 동적 분석 =======&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;INA를 강제로 시작해준다.&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;제어판(Control Panel) - Administrative Tools - Service&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1019&quot; data-origin-height=&quot;660&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rj1D4/dJMcahq434u/v0wqvnKqwoaUyE0WBkVv0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rj1D4/dJMcahq434u/v0wqvnKqwoaUyE0WBkVv0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rj1D4/dJMcahq434u/v0wqvnKqwoaUyE0WBkVv0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRj1D4%2FdJMcahq434u%2Fv0wqvnKqwoaUyE0WBkVv0k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;743&quot; height=&quot;481&quot; data-origin-width=&quot;1019&quot; data-origin-height=&quot;660&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;그럼 procexp에서 lab03-02가 보인다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/riBq4/dJMcaak8hEs/sSNiJCnK8Mq6gowV0MN7qK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/riBq4/dJMcaak8hEs/sSNiJCnK8Mq6gowV0MN7qK/img.png&quot; data-origin-width=&quot;1353&quot; data-origin-height=&quot;897&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.3263%; margin-right: 10px;&quot; data-widthpercent=&quot;44.85&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/riBq4/dJMcaak8hEs/sSNiJCnK8Mq6gowV0MN7qK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FriBq4%2FdJMcaak8hEs%2FsSNiJCnK8Mq6gowV0MN7qK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1353&quot; height=&quot;897&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DdKMJ/dJMcaak8hEN/J1NCOLix1pgYU7rSb5tMK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DdKMJ/dJMcaak8hEN/J1NCOLix1pgYU7rSb5tMK0/img.png&quot; data-origin-width=&quot;1317&quot; data-origin-height=&quot;710&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.5109%;&quot; data-widthpercent=&quot;55.15&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DdKMJ/dJMcaak8hEN/J1NCOLix1pgYU7rSb5tMK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDdKMJ%2FdJMcaak8hEN%2FJ1NCOLix1pgYU7rSb5tMK0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1317&quot; height=&quot;710&quot;/&gt;&lt;/span&gt;&lt;/div&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[sysanlayzer로 분석]&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; &lt;span data-token-index=&quot;0&quot;&gt;reg monitor&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wIpcs/dJMcaiwIv0G/MAKZX8g2YkKdbkow6TwiC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wIpcs/dJMcaiwIv0G/MAKZX8g2YkKdbkow6TwiC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wIpcs/dJMcaiwIv0G/MAKZX8g2YkKdbkow6TwiC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwIpcs%2FdJMcaiwIv0G%2FMAKZX8g2YkKdbkow6TwiC1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;695&quot; height=&quot;259&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당&amp;nbsp;레지스트리&amp;nbsp;값이&amp;nbsp;IPRIP=로&amp;nbsp;변조되었다는&amp;nbsp;것을&amp;nbsp;의미한다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; &lt;span data-token-index=&quot;0&quot;&gt;sniff_hit&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 요청/응답 볼 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;991&quot; data-origin-height=&quot;586&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lR2Id/dJMcajbeu3v/EhSBHJBsBTa98Wifk29kyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lR2Id/dJMcajbeu3v/EhSBHJBsBTa98Wifk29kyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lR2Id/dJMcajbeu3v/EhSBHJBsBTa98Wifk29kyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlR2Id%2FdJMcajbeu3v%2FEhSBHJBsBTa98Wifk29kyk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;991&quot; height=&quot;586&quot; data-origin-width=&quot;991&quot; data-origin-height=&quot;586&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;최종결론&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Lab03-02.dll은 DLL 형태의 Windows 서비스형 악성코드이다.&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;rundll32.exe를 통해 installA 함수가 호출되면, 악성코드는 Service Control Manager와 레지스트리를 조작하여 자신을 서비스로 등록하려고 한다.&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;서비스명은 IPRIP, 표시 이름은 Intranet Network Awareness로 확인되며, 정상 네트워크 관련 서비스처럼 위장한다.&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;또한 svchost.exe -k netsvcs 그룹에 포함되어 백그라운드 서비스처럼 실행되도록 설계된 것으로 보인다.&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;네트워크 측면에서는 practicalmalwareanalysis.com/serve.html로 HTTP 요청을 보내고, cmd, getfile, sleep, quit 같은 명령을 처리할 수 있는 백도어 성격을 가진다.&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;따라서 이 악성코드는 서비스 등록 기반 지속성 확보, svchost 위장 실행, 외부 C2 통신, 원격 명령 실행 기능을 가진 백도어형 악성코드로 판단된다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; &lt;span data-token-index=&quot;0&quot;&gt;전체 흐름&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqRvEd/dJMcacDjrHI/6R3L0QB4yA5RDOrsgLQNJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqRvEd/dJMcacDjrHI/6R3L0QB4yA5RDOrsgLQNJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqRvEd/dJMcacDjrHI/6R3L0QB4yA5RDOrsgLQNJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqRvEd%2FdJMcacDjrHI%2F6R3L0QB4yA5RDOrsgLQNJk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;1024&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;1024&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/205</guid>
      <comments>https://yon11b.tistory.com/205#entry205comment</comments>
      <pubDate>Fri, 29 May 2026 03:08:16 +0900</pubDate>
    </item>
    <item>
      <title>[SK 쉴더스 루키즈] 윈도우 기초 정적/동적 분석 실습 (Practical Malware Analysis LAB 03-01)</title>
      <link>https://yon11b.tistory.com/204</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;======== 정적 분석 ========&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;순서: 정적분석 &amp;rarr; 동적분석&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[entropy 비정상적 높음]&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;entropy란?&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;PE 파일 내부 데이터가 얼마나 &amp;ldquo;무질서한지&amp;rdquo; 나타내는 값&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;entropy가 높다&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;패킹, 암호화 의심&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;entropy 가 낮다&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;일반 코드/문자열일 가능성 높음&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;entropy 기준&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;0 ~ 3
&amp;rarr; 매우 규칙적

4 ~ 6
&amp;rarr; 일반적인 코드/데이터

7 이상
&amp;rarr; 압축/암호화/패킹 의심
&lt;/code&gt;&lt;/pre&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-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;sections &amp;gt; entropy&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;417&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Vu8yb/dJMcagr8r4k/DR5agXgv3yVq4smZT5DcxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Vu8yb/dJMcagr8r4k/DR5agXgv3yVq4smZT5DcxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Vu8yb/dJMcagr8r4k/DR5agXgv3yVq4smZT5DcxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVu8yb%2FdJMcagr8r4k%2FDR5agXgv3yVq4smZT5DcxK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;817&quot; height=&quot;417&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;417&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;.data 영역의 엔트로피가 좀 높긴 하다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;[import table에 함수가 하나뿐!]&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;imports&amp;gt; 함수가 하나뿐?! (ExitProcess)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;325&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dFH9gy/dJMcacpLugo/3UqWGJ6KLoBIrkAkJyiPQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dFH9gy/dJMcacpLugo/3UqWGJ6KLoBIrkAkJyiPQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dFH9gy/dJMcacpLugo/3UqWGJ6KLoBIrkAkJyiPQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFH9gy%2FdJMcacpLugo%2F3UqWGJ6KLoBIrkAkJyiPQK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;927&quot; height=&quot;325&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;325&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;왜 import table에 함수가 ExitProcess 하나만 있는가?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;-&amp;gt; 다른 API들은 import table에 안 적고 실행 중 직접 찾아서 호출했기 때문이다.&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-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그럼 ExitProcess는 왜 불러오는가? 얘도 나중에 찾아오면 되는 거 아님?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;-&amp;gt; GetProcAddress랑 LoadLibrary 을 불러오려면 kernel32.dll이 필요함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;rarr; kernel32.dll을 불러오기 위한 함수 최소한 1개는 필요함.&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-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;windows XP 시절에는 ASLR이 없어서 kernel32.dll이 올라온 주소가 항상 고정이었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그래서 이 주소를 미리 예측하고 kernel32.dll 이 export하는 다른 함수들(ex: LoadLibrary)을 불러오는 코드를 미리 짤 수가 있었다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCvUbI/dJMcadWsCjq/XbhRdgndnBDqcv3fpQRwzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCvUbI/dJMcadWsCjq/XbhRdgndnBDqcv3fpQRwzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCvUbI/dJMcadWsCjq/XbhRdgndnBDqcv3fpQRwzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCvUbI%2FdJMcadWsCjq%2FXbhRdgndnBDqcv3fpQRwzk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;493&quot; height=&quot;454&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;713&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;strings를 보면 kernel32.dll 말고도 다른 dll이 있다. 그럼 저 dll 들도 불러와야 하는데 import table에는 없다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FiESI/dJMcahdwNG2/AOExLaVNMEJFzi1KHlMnC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FiESI/dJMcahdwNG2/AOExLaVNMEJFzi1KHlMnC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FiESI/dJMcahdwNG2/AOExLaVNMEJFzi1KHlMnC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFiESI%2FdJMcahdwNG2%2FAOExLaVNMEJFzi1KHlMnC1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1082&quot; height=&quot;700&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;700&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ws2_32.dll 이런 얘들이 이상한 악성 행위를 하기 때문에 이걸 감추려고 일부러 table에는 안 올리고 나중에 동적 실행되게 한 것으로 추정해 볼 수 있다.&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;b&gt;ws2_32.dll&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;역할
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Windows Socket 통신&lt;/li&gt;
&lt;li&gt;TCP/IP 통신 기능 제공&lt;/li&gt;
&lt;li&gt;소켓 생성 및 네트워크 연결 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;대표 API
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;socket&lt;/li&gt;
&lt;li&gt;connect&lt;/li&gt;
&lt;li&gt;send&lt;/li&gt;
&lt;li&gt;recv&lt;/li&gt;
&lt;li&gt;bind&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;악성코드에서의 활용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C2 서버 통신&lt;/li&gt;
&lt;li&gt;데이터 유출&lt;/li&gt;
&lt;li&gt;백도어 연결&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;size16&quot;&gt;&lt;b&gt;advapi32.dll&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;역할
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Windows 고급 시스템 기능 담당&lt;/li&gt;
&lt;li&gt;레지스트리 및 서비스 관리 기능 제공&lt;/li&gt;
&lt;li&gt;권한 및 보안 관련 기능 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;대표 API
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RegOpenKeyEx&lt;/li&gt;
&lt;li&gt;RegSetValueEx &amp;gt; Run 등록&lt;/li&gt;
&lt;li&gt;OpenSCManager&lt;/li&gt;
&lt;li&gt;CreateService&lt;/li&gt;
&lt;li&gt;AdjustTokenPrivileges&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;악성코드에서의 활용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;레지스트리 자동실행 등록&lt;/li&gt;
&lt;li&gt;서비스 생성&lt;/li&gt;
&lt;li&gt;권한 상승&lt;/li&gt;
&lt;li&gt;보안 설정 변경&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;size16&quot;&gt;&lt;b&gt;user32.dll&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;역할
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Windows GUI 및 사용자 입력 처리 담당&lt;/li&gt;
&lt;li&gt;키보드, 마우스, 창(Window) 제어 기능 제공&lt;/li&gt;
&lt;li&gt;사용자 인터페이스 관련 기능 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;대표 API
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MessageBox&lt;/li&gt;
&lt;li&gt;SetWindowsHookEx&lt;/li&gt;
&lt;li&gt;GetAsyncKeyState&lt;/li&gt;
&lt;li&gt;FindWindow&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;악성코드에서의 활용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;키로깅&lt;/li&gt;
&lt;li&gt;사용자 입력 감시&lt;/li&gt;
&lt;li&gt;화면 조작&lt;/li&gt;
&lt;li&gt;특정 프로그램 실행 여부 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[외부 도메인 접속]&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;428&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2rdDI/dJMcaftdN0q/XXUfysOJcQXNWJVrdYithk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2rdDI/dJMcaftdN0q/XXUfysOJcQXNWJVrdYithk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2rdDI/dJMcaftdN0q/XXUfysOJcQXNWJVrdYithk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2rdDI%2FdJMcaftdN0q%2FXXUfysOJcQXNWJVrdYithk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1160&quot; height=&quot;428&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;428&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drK89N/dJMcacJ5srl/I8E3ZTlGxFEIzYYXvKR3TK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drK89N/dJMcacJ5srl/I8E3ZTlGxFEIzYYXvKR3TK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drK89N/dJMcacJ5srl/I8E3ZTlGxFEIzYYXvKR3TK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrK89N%2FdJMcacJ5srl%2FI8E3ZTlGxFEIzYYXvKR3TK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;890&quot; height=&quot;429&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;429&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;strings에 도메인, HTTP, 상태코드로 추정되는 503, 200, 윈도우 소켓 api인 ws2_32가 보이므로 네트워크 통신 관련 코드가 .exe 파일에 있다는 것을 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(정적분석이므로 실제로 네트워크 통신이 일어난 것은 아님.)&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[의심 레지스트리 분석] &amp;gt; 네트워크, 자동실행&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c7FgVh/dJMcagZV9Tv/8UyNmL7ISlj2KdvX826ig0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c7FgVh/dJMcagZV9Tv/8UyNmL7ISlj2KdvX826ig0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c7FgVh/dJMcagZV9Tv/8UyNmL7ISlj2KdvX826ig0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7FgVh%2FdJMcagZV9Tv%2F8UyNmL7ISlj2KdvX826ig0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1096&quot; height=&quot;269&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;269&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;commandv: HTTP 핸들 조작 가능성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CurrentVersion\Run: 자동 실행 등록 위치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Shell.Folders: 사용자 shell folder 조회 가능성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[의심 파일명 분석]&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;521&quot; data-origin-height=&quot;58&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sNt6G/dJMcacQMSOy/P4kLXAMfYxCSN8QuHevrek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sNt6G/dJMcacQMSOy/P4kLXAMfYxCSN8QuHevrek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sNt6G/dJMcacQMSOy/P4kLXAMfYxCSN8QuHevrek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsNt6G%2FdJMcacQMSOy%2FP4kLXAMfYxCSN8QuHevrek%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;521&quot; height=&quot;58&quot; data-origin-width=&quot;521&quot; data-origin-height=&quot;58&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;485&quot; data-origin-height=&quot;51&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bC6lnD/dJMcafz04Gp/QYDwXPJMKUKHeHo57TnFpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bC6lnD/dJMcafz04Gp/QYDwXPJMKUKHeHo57TnFpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bC6lnD/dJMcafz04Gp/QYDwXPJMKUKHeHo57TnFpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbC6lnD%2FdJMcafz04Gp%2FQYDwXPJMKUKHeHo57TnFpK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;485&quot; height=&quot;51&quot; data-origin-width=&quot;485&quot; data-origin-height=&quot;51&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;vmx32to64.exe, WinVMX32와 같은 파일명은 윈도우에 존재하지 않는 파일명이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공격자가 만든 위장 악성 파일일 가능성이 크다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[악성 행위 흐름 추정]&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 Lab03-01.exe를 실행한다.&lt;/li&gt;
&lt;li&gt;초기 스텁 코드가 실행된다.&lt;/li&gt;
&lt;li&gt;필요한 DLL 또는 API를 런타임에 해석한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ws2_32&lt;/li&gt;
&lt;li&gt;advapi32&lt;/li&gt;
&lt;li&gt;ntdll&lt;/li&gt;
&lt;li&gt;user32&lt;/li&gt;
&lt;li&gt;advpack&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;사용자 AppData 경로를 조회한다.&lt;/li&gt;
&lt;li&gt;자기 자신 또는 내장 데이터를 vmx32to64.exe 등의 이름으로 복사한다.&lt;/li&gt;
&lt;li&gt;레지스트리에 자동 실행 값을 등록한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CurrentVersion\Run&lt;/li&gt;
&lt;li&gt;Active Setup\Installed Components&lt;/li&gt;
&lt;li&gt;StubPath&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HTTP 관련 레지스트리 또는 핸들러를 조회&amp;middot;수정할 수 있다.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.practicalmalwareanalysis.com&quot;&gt;www.practicalmalwareanalysis.com&lt;/a&gt; 도메인으로 HTTP 기반 통신을 시도한다.&lt;/li&gt;
&lt;li&gt;HTTP 응답 코드 200, 503 등을 기준으로 분기 처리할 수 있다.&lt;/li&gt;
&lt;li&gt;작업 완료 후 ExitProcess를 호출해 종료한다.&lt;/li&gt;
&lt;/ol&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;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동적 분석 보고서 생성을 위해 GPT에 넘길 자료들&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;PE studio 결과 파일&lt;/li&gt;
&lt;li&gt;regshot 스냅샷 비교 파일&lt;/li&gt;
&lt;li&gt;process monitor 파일&lt;/li&gt;
&lt;li&gt;process explorer 파일&lt;/li&gt;
&lt;li&gt;wireshark로 캡쳐한 파일&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;각각에서 어떤 정보들을 얻을 수 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;PE studio 결과 파일
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Import API
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 Windows API를 사용하는지 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Sections 정보
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;entropy, rwx 권한, 이상한 section 이름 확인 가능&lt;/li&gt;
&lt;li&gt;패킹/난독화 여부 판단&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Strings
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;URL, IP, mutex, registry 경로, 파일 경로 등 IOC 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PE Header 정보
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴파일 시간, subsystem, entry point, architecture(x86/x64) 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;regshot 스냅샷 비교 파일
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;새로 생성된 Registry Key
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자동실행 등록 여부 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;수정된 Registry 값
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시스템 설정 변경 여부 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;삭제된 Registry 정보
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;흔적 제거 행위 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Persistence 관련 흔적 ?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Run, Services, Winlogon 등 지속성 확보 여부 분석 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;process monitor 파일
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 생성/삭제/수정 기록
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 파일을 건드렸는지 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry 접근 기록
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 레지스트리를 읽고 수정했는지 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Process/Thread 생성
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자식 프로세스 실행 여부 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DLL 로드 정보
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 DLL을 사용하는지 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;process explorer 파일
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;부모-자식 프로세스 관계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 프로세스가 악성코드를 실행했는지 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;로드된 DLL 목록
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DLL Injection 및 수상한 모듈 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Handles / Mutex 정보
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일, 레지스트리, mutex 사용 여부 확인 가능
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mutex 정보를 보는 이유
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;악성코드 충돌 나면 비정상 실행되므로 악성코드에 mutex 쓰는 경우 많음&lt;/li&gt;
&lt;li&gt;옛날 악성코드의 경우, mutex 이름에 abc123, HGL345, DarkCometMutex 의 문자열을 돌려썼음. 이 문자열 보고 악성코드인 거 판별 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Strings / 메모리 정보
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메모리 내 URL, 명령어, 경로 등 IOC 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;wireshark로 캡쳐한 파일
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;통신 대상 IP / Domain
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C2 서버 및 외부 통신 대상 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;사용 프로토콜
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HTTP, DNS, SMB, TCP 등 어떤 통신 사용하는지 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;전송 데이터 내용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;평문 데이터, 다운로드 URL, 명령어 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;패킷 흐름 및 타이밍
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;beaconing, 주기적 통신, 데이터 유출 여부 분석 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;[레지스트리 확인: regshot &amp;gt; vmx32to64]&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;레지스트리 경로에 이상한 파일들이 올라왔는지 확인해보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;329&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oPWKr/dJMcaak8hva/FtRpH7kncKmj2bSikBKb2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oPWKr/dJMcaak8hva/FtRpH7kncKmj2bSikBKb2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oPWKr/dJMcaak8hva/FtRpH7kncKmj2bSikBKb2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoPWKr%2FdJMcaak8hva%2FFtRpH7kncKmj2bSikBKb2k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1262&quot; height=&quot;329&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;329&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Currentversion\\Run\\VideoDriver 경로에 어떤 파일이 올라온 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디코딩하여 확인해보니, vmx32to64였다. 이 파일은 (정적분석에서도) self copy되어서 currentversion\Run에 등록될 것으로 예상했던 악성 파일이었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;718&quot; data-origin-height=&quot;358&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dPgFA4/dJMcaak8hvc/TH5cytlHxlcCncc2pmKDa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dPgFA4/dJMcaak8hvc/TH5cytlHxlcCncc2pmKDa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dPgFA4/dJMcaak8hvc/TH5cytlHxlcCncc2pmKDa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdPgFA4%2FdJMcaak8hvc%2FTH5cytlHxlcCncc2pmKDa0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;718&quot; height=&quot;358&quot; data-origin-width=&quot;718&quot; data-origin-height=&quot;358&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;h2 data-ke-size=&quot;size26&quot;&gt;[외부 서버 도메인의 ip 얻기- wireshark]&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;03-01.exe 파일을 실행시키고 캡쳐를 하니 www.practicalmalwareanalysis.com으로 접속하는 패킷이 잡혔다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1421&quot; data-origin-height=&quot;765&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWjgPx/dJMcaiQ0g77/JtoEaeACgHckKHwA8NY4YK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWjgPx/dJMcaiQ0g77/JtoEaeACgHckKHwA8NY4YK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWjgPx/dJMcaiQ0g77/JtoEaeACgHckKHwA8NY4YK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWjgPx%2FdJMcaiQ0g77%2FJtoEaeACgHckKHwA8NY4YK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1421&quot; height=&quot;765&quot; data-origin-width=&quot;1421&quot; data-origin-height=&quot;765&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;해당 도메인의 ip도 얻었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dBxUCM/dJMcabdfyqv/aSwJuPbfbrdViFG1sI7pf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dBxUCM/dJMcabdfyqv/aSwJuPbfbrdViFG1sI7pf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dBxUCM/dJMcabdfyqv/aSwJuPbfbrdViFG1sI7pf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdBxUCM%2FdJMcabdfyqv%2FaSwJuPbfbrdViFG1sI7pf0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1100&quot; height=&quot;700&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;700&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;h2 data-ke-size=&quot;size26&quot;&gt;[self copy 확인 &amp;amp; Run 등록 &amp;amp; 윈도우 통신 - procmon]&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[번외] prefetch file: 이전에 한번 실행되었던 파일이라는 것을 알 수 있음. 포렌식에서 많이 쓰임]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1890&quot; data-origin-height=&quot;533&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZOQFM/dJMcabRRdnM/P1h5IcNfe7hr5ya5bJCm3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZOQFM/dJMcabRRdnM/P1h5IcNfe7hr5ya5bJCm3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZOQFM/dJMcabRRdnM/P1h5IcNfe7hr5ya5bJCm3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZOQFM%2FdJMcabRRdnM%2FP1h5IcNfe7hr5ya5bJCm3K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1890&quot; height=&quot;533&quot; data-origin-width=&quot;1890&quot; data-origin-height=&quot;533&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;C:\Windows\Prefetch&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;860&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x0NPa/dJMcab5qYb0/k3rEG3AyjJCLUfRlcopLLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x0NPa/dJMcab5qYb0/k3rEG3AyjJCLUfRlcopLLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x0NPa/dJMcab5qYb0/k3rEG3AyjJCLUfRlcopLLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx0NPa%2FdJMcab5qYb0%2Fk3rEG3AyjJCLUfRlcopLLk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;806&quot; height=&quot;860&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;860&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;taggerscript&quot;&gt;&lt;code&gt;프로그램 실행
&amp;darr;
Windows가 실행 정보 기록
&amp;darr;
C:\\Windows\\Prefetch 에 .pf 생성
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.pf 파일 안에는 &quot;이 exe 실행 시 어떤 DLL/파일을 읽었는지&amp;rdquo; 에 대한 정보가 기록된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WinPrefetchView 도구로 Chrome.exe.pf을 살펴봤다.&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-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1416&quot; data-origin-height=&quot;934&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b10Iax/dJMcadWsCln/fK78QKI02CXKIYi7pB2Cz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b10Iax/dJMcadWsCln/fK78QKI02CXKIYi7pB2Cz0/img.png&quot; data-alt=&quot;ws2_32.dll, msvcrt.dll, kernel32.dll 등 익숙한 dll들이 보인다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b10Iax/dJMcadWsCln/fK78QKI02CXKIYi7pB2Cz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb10Iax%2FdJMcadWsCln%2FfK78QKI02CXKIYi7pB2Cz0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1416&quot; height=&quot;934&quot; data-origin-width=&quot;1416&quot; data-origin-height=&quot;934&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ws2_32.dll, msvcrt.dll, kernel32.dll 등 익숙한 dll들이 보인다.&lt;/figcaption&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;b&gt;1. writefile&lt;/b&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1623&quot; data-origin-height=&quot;458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cojuuD/dJMcaf02j6v/PPz19h4q2bbaIiXSTzpNB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cojuuD/dJMcaf02j6v/PPz19h4q2bbaIiXSTzpNB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cojuuD/dJMcaf02j6v/PPz19h4q2bbaIiXSTzpNB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcojuuD%2FdJMcaf02j6v%2FPPz19h4q2bbaIiXSTzpNB0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1623&quot; height=&quot;458&quot; data-origin-width=&quot;1623&quot; data-origin-height=&quot;458&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;ReadFile에서 읽은 7168byte를 그대로 WriteFile로 심어놓았기 때문에 자기 자신을 심어놓은 self copy임을 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저 7168byte의 파일은 Lab03-01.exe 파일이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nyT4D/dJMcaaMc0qA/leVYd2u2aE8AXJrJIr57QK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nyT4D/dJMcaaMc0qA/leVYd2u2aE8AXJrJIr57QK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nyT4D/dJMcaaMc0qA/leVYd2u2aE8AXJrJIr57QK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnyT4D%2FdJMcaaMc0qA%2FleVYd2u2aE8AXJrJIr57QK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;370&quot; height=&quot;506&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;635&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;949&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGoKLh/dJMcaak8hwX/aH0TNVCXiPsiC8kk7kaOwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGoKLh/dJMcaak8hwX/aH0TNVCXiPsiC8kk7kaOwk/img.png&quot; data-alt=&quot;분석 보고서 일부&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGoKLh/dJMcaak8hwX/aH0TNVCXiPsiC8kk7kaOwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGoKLh%2FdJMcaak8hwX%2FaH0TNVCXiPsiC8kk7kaOwk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;949&quot; height=&quot;137&quot; data-origin-width=&quot;949&quot; data-origin-height=&quot;137&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;분석 보고서 일부&lt;/figcaption&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;763&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PMRrG/dJMcahExRIo/9acXTr9f2jqvgN0d3d5CD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PMRrG/dJMcahExRIo/9acXTr9f2jqvgN0d3d5CD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PMRrG/dJMcahExRIo/9acXTr9f2jqvgN0d3d5CD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPMRrG%2FdJMcahExRIo%2F9acXTr9f2jqvgN0d3d5CD0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;476&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;763&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;b&gt;2. RegSetValue도&amp;nbsp;중요!&amp;nbsp;&amp;gt;&amp;nbsp;Currentversion\Run&amp;nbsp;등록&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1467&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cY7t81/dJMcaf7NJrg/4oKKslookKSipBnmwvjjOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cY7t81/dJMcaf7NJrg/4oKKslookKSipBnmwvjjOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cY7t81/dJMcaf7NJrg/4oKKslookKSipBnmwvjjOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcY7t81%2FdJMcaf7NJrg%2F4oKKslookKSipBnmwvjjOK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1467&quot; height=&quot;647&quot; data-origin-width=&quot;1467&quot; data-origin-height=&quot;647&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. ws2_32.dll&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기는 윈도우 통신에 관한 라이브러리를 불러옴&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1886&quot; data-origin-height=&quot;953&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qPdE6/dJMcagZV9T2/6bvqchzJ2YlrVtlcpkMH8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qPdE6/dJMcagZV9T2/6bvqchzJ2YlrVtlcpkMH8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qPdE6/dJMcagZV9T2/6bvqchzJ2YlrVtlcpkMH8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqPdE6%2FdJMcagZV9T2%2F6bvqchzJ2YlrVtlcpkMH8k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1886&quot; height=&quot;953&quot; data-origin-width=&quot;1886&quot; data-origin-height=&quot;953&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;b&gt;4. aws&amp;nbsp;서비스&amp;nbsp;이용&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1443&quot; data-origin-height=&quot;232&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjPw1g/dJMcafmuQ7Y/atOj7OhEuK2kNrvRscnsAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjPw1g/dJMcafmuQ7Y/atOj7OhEuK2kNrvRscnsAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjPw1g/dJMcafmuQ7Y/atOj7OhEuK2kNrvRscnsAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjPw1g%2FdJMcafmuQ7Y%2FatOj7OhEuK2kNrvRscnsAK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1443&quot; height=&quot;232&quot; data-origin-width=&quot;1443&quot; data-origin-height=&quot;232&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;h2 data-ke-size=&quot;size26&quot;&gt;[mutex 확인 - procexp]&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mutex 이름: WinVMX32&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;994&quot; data-origin-height=&quot;757&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uSKyV/dJMcafGNt57/if5tDODzVjkku0JmVIF5P0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uSKyV/dJMcafGNt57/if5tDODzVjkku0JmVIF5P0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uSKyV/dJMcafGNt57/if5tDODzVjkku0JmVIF5P0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuSKyV%2FdJMcafGNt57%2Fif5tDODzVjkku0JmVIF5P0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;994&quot; height=&quot;757&quot; data-origin-width=&quot;994&quot; data-origin-height=&quot;757&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;h2 data-ke-size=&quot;size26&quot;&gt;실습 3-1 정리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;➢1. 이 악성코드의 임포트 함수에서 발견되는 주요 문자열은 무엇인가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;exitProcess&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;➢2. 감염을 식별할 수 있는 호스트 기반 지표(IOC)는 무엇인가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VMx32to64&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;➢3. 이 악성코드를 식별할 수 있는 네트워크 기반 시그니처가 존재하는가? 있다면 무엇인가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;www.practicalmalwareanalysis.com&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <category>sk 쉴더스 루키즈</category>
      <category>동적분석</category>
      <category>루키즈 31기</category>
      <category>악성코드 분석</category>
      <category>정적분석</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/204</guid>
      <comments>https://yon11b.tistory.com/204#entry204comment</comments>
      <pubDate>Fri, 29 May 2026 02:50:06 +0900</pubDate>
    </item>
    <item>
      <title>[SK 쉴더스 루키즈] 기초 동적 분석 도구 (procmon, procexp, regshot, SysAnalyzer)</title>
      <link>https://yon11b.tistory.com/203</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;동적 분석 환경 구성&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가상 머신, 스냅샷 기반
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;감염 후 즉시 롤백이 가능하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 인터넷과 분리, INetSim 등으로 가짜 서비스 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;malware&amp;nbsp;분석용&amp;nbsp;&amp;ldquo;가짜&amp;nbsp;인터넷&amp;rdquo;&amp;nbsp;서버&lt;/li&gt;
&lt;li&gt;INetSim: 분석&amp;nbsp;환경에서&amp;nbsp;인터넷&amp;nbsp;서비스르&amp;nbsp;흉내내는&amp;nbsp;가짜&amp;nbsp;서버&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;1. procmon&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;실시간 시스템 활동 추적하는 도구&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&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;b&gt;&lt;span data-token-index=&quot;0&quot;&gt;필터링&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;필터를 걸어서 프로세스 이름에 notepad 문자열을 포함하는 것들을 보고자 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1012&quot; data-origin-height=&quot;645&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6XysY/dJMcagFH6fv/9qSwi5mYTVERyNikW7gPM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6XysY/dJMcagFH6fv/9qSwi5mYTVERyNikW7gPM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6XysY/dJMcagFH6fv/9qSwi5mYTVERyNikW7gPM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6XysY%2FdJMcagFH6fv%2F9qSwi5mYTVERyNikW7gPM1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;694&quot; height=&quot;442&quot; data-origin-width=&quot;1012&quot; data-origin-height=&quot;645&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1013&quot; data-origin-height=&quot;666&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dmtbIA/dJMcaglloKm/wjmW1SbCa9xzytgS8NL9C0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dmtbIA/dJMcaglloKm/wjmW1SbCa9xzytgS8NL9C0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dmtbIA/dJMcaglloKm/wjmW1SbCa9xzytgS8NL9C0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdmtbIA%2FdJMcaglloKm%2FwjmW1SbCa9xzytgS8NL9C0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;492&quot; data-origin-width=&quot;1013&quot; data-origin-height=&quot;666&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 검색 &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;558&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/szVcd/dJMcadIQJXt/6f64RPEgMRf0vzZqZHPW3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/szVcd/dJMcadIQJXt/6f64RPEgMRf0vzZqZHPW3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/szVcd/dJMcadIQJXt/6f64RPEgMRf0vzZqZHPW3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FszVcd%2FdJMcadIQJXt%2F6f64RPEgMRf0vzZqZHPW3k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;558&quot; height=&quot;375&quot; data-origin-width=&quot;558&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1005&quot; data-origin-height=&quot;658&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dZQiOE/dJMcahExfBK/wTsE9TKQkPxSh4Fc0ThPKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dZQiOE/dJMcahExfBK/wTsE9TKQkPxSh4Fc0ThPKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dZQiOE/dJMcahExfBK/wTsE9TKQkPxSh4Fc0ThPKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdZQiOE%2FdJMcahExfBK%2FwTsE9TKQkPxSh4Fc0ThPKK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;499&quot; data-origin-width=&quot;1005&quot; data-origin-height=&quot;658&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1243&quot; data-origin-height=&quot;707&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6rzG4/dJMcafUjF9Y/2p9NFnQqELz0Y3kBO5o8eK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6rzG4/dJMcafUjF9Y/2p9NFnQqELz0Y3kBO5o8eK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6rzG4/dJMcafUjF9Y/2p9NFnQqELz0Y3kBO5o8eK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6rzG4%2FdJMcafUjF9Y%2F2p9NFnQqELz0Y3kBO5o8eK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;410&quot; data-origin-width=&quot;1243&quot; data-origin-height=&quot;707&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Stack&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Properties &amp;gt; Stack&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nJGC9/dJMcafUjGei/1Z6yOKDjf7gaVGRH0DUjl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nJGC9/dJMcafUjGei/1Z6yOKDjf7gaVGRH0DUjl1/img.png&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;735&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.3204%; margin-right: 10px;&quot; data-widthpercent=&quot;42.82&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nJGC9/dJMcafUjGei/1Z6yOKDjf7gaVGRH0DUjl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnJGC9%2FdJMcafUjGei%2F1Z6yOKDjf7gaVGRH0DUjl1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;735&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8hdIM/dJMcafUjGhj/Bayfyo1DDo4X7qufmkQLIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8hdIM/dJMcafUjGhj/Bayfyo1DDo4X7qufmkQLIk/img.png&quot; data-origin-width=&quot;813&quot; data-origin-height=&quot;708&quot; data-is-animation=&quot;false&quot; style=&quot;width: 56.5168%;&quot; data-widthpercent=&quot;57.18&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8hdIM/dJMcafUjGhj/Bayfyo1DDo4X7qufmkQLIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8hdIM%2FdJMcafUjGhj%2FBayfyo1DDo4X7qufmkQLIk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;813&quot; height=&quot;708&quot;/&gt;&lt;/span&gt;&lt;/div&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Process Explorer (procexp)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로세스 트리, 핸들, DLL, 서명, VirusTotal 평판 확인 가능&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;b&gt; notepad.exe&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;914&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Vi4Nw/dJMcac4jt7u/pvTRl54gm7FxNua4cFNQJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Vi4Nw/dJMcac4jt7u/pvTRl54gm7FxNua4cFNQJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Vi4Nw/dJMcac4jt7u/pvTRl54gm7FxNua4cFNQJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVi4Nw%2FdJMcac4jt7u%2FpvTRl54gm7FxNua4cFNQJ0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;715&quot; height=&quot;419&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;914&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;b&gt; peview.exe &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1566&quot; data-origin-height=&quot;918&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rt92Y/dJMcaipWO3C/eBJwE5wrhLKvCtGVhIrtA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rt92Y/dJMcaipWO3C/eBJwE5wrhLKvCtGVhIrtA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rt92Y/dJMcaipWO3C/eBJwE5wrhLKvCtGVhIrtA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Frt92Y%2FdJMcaipWO3C%2FeBJwE5wrhLKvCtGVhIrtA1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;782&quot; height=&quot;458&quot; data-origin-width=&quot;1566&quot; data-origin-height=&quot;918&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;b&gt; virustotal&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;434&quot; data-origin-height=&quot;545&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n47YO/dJMcaffJw9P/7IIwGI45IL1cZaQHe7ITj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n47YO/dJMcaffJw9P/7IIwGI45IL1cZaQHe7ITj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n47YO/dJMcaffJw9P/7IIwGI45IL1cZaQHe7ITj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn47YO%2FdJMcaffJw9P%2F7IIwGI45IL1cZaQHe7ITj1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;545&quot; data-origin-width=&quot;434&quot; data-origin-height=&quot;545&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;871&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHcogM/dJMb99T4ecM/9JCWAt1aSqeT1k8gQeBOK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHcogM/dJMb99T4ecM/9JCWAt1aSqeT1k8gQeBOK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHcogM/dJMb99T4ecM/9JCWAt1aSqeT1k8gQeBOK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHcogM%2FdJMb99T4ecM%2F9JCWAt1aSqeT1k8gQeBOK0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;600&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;871&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 win XP환경에서 해서 internet explorer가 막혀있어서 안되는 거 같긴한데 정상적으로 실행되는 모습을 보고 싶다면 다음의 블로그를 참고하면 된다. &lt;a href=&quot;https://hummingbird.tistory.com/5193&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[링크]&lt;/a&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;b&gt;검색&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;611&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBCQn4/dJMcahdwe70/Zi4OcyrlqtVkeffbgj5He0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBCQn4/dJMcahdwe70/Zi4OcyrlqtVkeffbgj5He0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBCQn4/dJMcahdwe70/Zi4OcyrlqtVkeffbgj5He0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBCQn4%2FdJMcahdwe70%2FZi4OcyrlqtVkeffbgj5He0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;760&quot; height=&quot;457&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;611&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. regshot&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(악성코드) 실행 전후의 레지스트리 및 파일 시스템의 변경 사항을 스냅샷을 찍어 비교 해주는 도구&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;370&quot; data-origin-height=&quot;381&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zS13J/dJMcadPEHJy/RNGNy1UO3DUkxINPXXmfb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zS13J/dJMcadPEHJy/RNGNy1UO3DUkxINPXXmfb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zS13J/dJMcadPEHJy/RNGNy1UO3DUkxINPXXmfb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzS13J%2FdJMcadPEHJy%2FRNGNy1UO3DUkxINPXXmfb0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;370&quot; height=&quot;381&quot; data-origin-width=&quot;370&quot; data-origin-height=&quot;381&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;shot 누르고 여러 행동하고 2 shot 누르고 또 다른 행동하면 이 두 개 행동을 비교해서 알려준다.&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1431&quot; data-origin-height=&quot;554&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdLSB2/dJMcaaZKvCG/lDDr5x7rSPIEC0wkV9Kyl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdLSB2/dJMcaaZKvCG/lDDr5x7rSPIEC0wkV9Kyl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdLSB2/dJMcaaZKvCG/lDDr5x7rSPIEC0wkV9Kyl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdLSB2%2FdJMcaaZKvCG%2FlDDr5x7rSPIEC0wkV9Kyl1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1431&quot; height=&quot;554&quot; data-origin-width=&quot;1431&quot; data-origin-height=&quot;554&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. SysAnalyzer&lt;/h3&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;4가지 도구가 통합된 버전의 도구.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;sniffHit
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;proxy&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ApiLogger
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;procmon이랑 비슷&lt;/li&gt;
&lt;li&gt;Win32 API&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Directory Watcher
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;procmon이랑 비슷&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Packet Capture
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;pcap 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;결과 화면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;855&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dIqv6j/dJMcahkkEeS/5hHje6ebPelYRqkmN59pNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dIqv6j/dJMcahkkEeS/5hHje6ebPelYRqkmN59pNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dIqv6j/dJMcahkkEeS/5hHje6ebPelYRqkmN59pNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdIqv6j%2FdJMcahkkEeS%2F5hHje6ebPelYRqkmN59pNK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1172&quot; height=&quot;855&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;855&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1411&quot; data-origin-height=&quot;376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLHsEQ/dJMcahR5gHq/SOMW558f0OC1E5TpPmbd10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLHsEQ/dJMcahR5gHq/SOMW558f0OC1E5TpPmbd10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLHsEQ/dJMcahR5gHq/SOMW558f0OC1E5TpPmbd10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLHsEQ%2FdJMcahR5gHq%2FSOMW558f0OC1E5TpPmbd10%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1411&quot; height=&quot;376&quot; data-origin-width=&quot;1411&quot; data-origin-height=&quot;376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sysanalysis&amp;nbsp;&amp;nbsp;prowatch&amp;nbsp;:&amp;nbsp;지나간&amp;nbsp;정보도&amp;nbsp;보여준다.&amp;nbsp;&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;b&gt;&amp;nbsp;&lt;span data-token-index=&quot;0&quot;&gt;reg monitor&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요한 정보만 잘 보여줌. regshot에서는 번잡한 거 다 보여줌.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; &lt;span data-token-index=&quot;0&quot;&gt;API Log&lt;/span&gt; &lt;/b&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;gt; &lt;span data-token-index=&quot;0&quot;&gt;api hooking 방식이라 그럼.&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 data-token-index=&quot;0&quot;&gt;api hooking이란?&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;프로그램이 원래 호출하려던 Windows API를 중간에서 가로채서(hook) 다른 코드가 먼저 실행되게 만드는 기술&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;흐름은 보통 이렇다.&lt;/p&gt;
&lt;pre class=&quot;stylus&quot;&gt;&lt;code&gt;원래 프로그램
&amp;darr;
CreateFile()
&amp;darr;
kernel32.dll 호출
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 Hooking 하면:&lt;/p&gt;
&lt;pre class=&quot;isbl&quot;&gt;&lt;code&gt;원래 프로그램
&amp;darr;
Hook 함수
&amp;darr;
(로그 남김 / 차단 / 조작)
&amp;darr;
진짜 CreateFile()
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 API 호출 흐름 사이에 끼어드는 것이다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;sniff_hit&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 요청/응답 볼 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;991&quot; data-origin-height=&quot;586&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/V5eAc/dJMcajbeuOV/ZQQxbdn4q4rFwk1FEkHTtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/V5eAc/dJMcajbeuOV/ZQQxbdn4q4rFwk1FEkHTtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/V5eAc/dJMcajbeuOV/ZQQxbdn4q4rFwk1FEkHTtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FV5eAc%2FdJMcajbeuOV%2FZQQxbdn4q4rFwk1FEkHTtk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;991&quot; height=&quot;586&quot; data-origin-width=&quot;991&quot; data-origin-height=&quot;586&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <category>sk쉴더스 루키즈</category>
      <category>루키즈 31기</category>
      <category>악성코드 분석</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/203</guid>
      <comments>https://yon11b.tistory.com/203#entry203comment</comments>
      <pubDate>Fri, 29 May 2026 02:38:38 +0900</pubDate>
    </item>
    <item>
      <title>[SK 쉴더스 루키즈] 기초정적분석으로 악성행위 예측하기 (Practical Malware Analysis LAB 01)</title>
      <link>https://yon11b.tistory.com/200</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이 실습은 Practical Malware Analysis 책에 있는 예제를 정리한 블로그입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;609&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCPOF5/dJMcaayHHZx/YFjcdj8Fq3jKgX0JM5wOGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCPOF5/dJMcaayHHZx/YFjcdj8Fq3jKgX0JM5wOGK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCPOF5/dJMcaayHHZx/YFjcdj8Fq3jKgX0JM5wOGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCPOF5%2FdJMcaayHHZx%2FYFjcdj8Fq3jKgX0JM5wOGK%2Fimg.jpg&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; loading=&quot;lazy&quot; width=&quot;253&quot; height=&quot;336&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;609&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Lab01-01 문제: Lab01-01.exe, Lab01-01.dll&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. VirusTotal에 파일을 업로드한 보고서에서 기존 안티바이러스 시그니처와 일치하는 결과가 있는가?&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;40/71&lt;/li&gt;
&lt;li&gt;56/71&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 이 파일은 언제 컴파일되었는가?&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2010/12/19 Sun 16:16:19 UTC&lt;/li&gt;
&lt;li&gt;2010/12/19 Sun 16:16:38 UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 이 파일에 패킹이나 난독화 징후가 있는가? 있다면 무엇으로 판단했는가?&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이름이 이상? x&lt;/li&gt;
&lt;li&gt;rwx 권한? x&lt;/li&gt;
&lt;li&gt;virtual size랑 raw size가 다르냐? x&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1395&quot; data-origin-height=&quot;640&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L3DiX/dJMcadB4tir/6gr6fzZf5FMsP2vgUmofh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L3DiX/dJMcadB4tir/6gr6fzZf5FMsP2vgUmofh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L3DiX/dJMcadB4tir/6gr6fzZf5FMsP2vgUmofh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL3DiX%2FdJMcadB4tir%2F6gr6fzZf5FMsP2vgUmofh0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;747&quot; height=&quot;343&quot; data-origin-width=&quot;1395&quot; data-origin-height=&quot;640&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;4. 임포트로부터 악성코드의 행위를 추정할 수 있는가? 가능하다면 어떤 임포트에서 단서를 얻었는가?&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;b&gt;1번째 EXE 파일 IAT &lt;/b&gt;&lt;/p&gt;
&lt;table id=&quot;36db3aca-18a4-8033-87f2-ccadcdbbabda&quot; style=&quot;border-collapse: collapse; width: 100%; height: 226px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;height: 16px;&quot;&gt;&lt;b&gt; 함수 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 16px;&quot;&gt;&lt;b&gt; 역할 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80a7-aa94-ddd7745b125f&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;CloseHandle&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;열린 핸들(파일, 프로세스 등) 닫기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-802c-9a5d-ec963896df72&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;UnmapViewOfFile&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;메모리에 매핑한 파일 해제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80ef-8656-e1105d2a2590&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;IsBadReadPtr&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;읽기 가능한 메모리 주소인지 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8036-9177-d4fc42131548&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;MapViewOfFile&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;파일을 메모리에 매핑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80cb-88ce-dacfd68395f2&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;CreateFileMappingA&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;파일 매핑 객체 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-803a-a304-ecae5ac0f19e&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;CreateFileA&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;파일 생성/열기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8076-9038-d5bca5c476a7&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;FindClose&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;파일 탐색 핸들 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80cf-b004-e833931095bd&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;FindNextFileA&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;다음 파일 탐색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8041-8bbe-d4a71e8cfab0&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;FindFirstFileA&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&gt;파일 탐색 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8038-8b88-d4c8005c6d5a&quot; style=&quot;height: 20px;&quot;&gt;
&lt;td id=&quot;Xh?n&quot; style=&quot;height: 20px;&quot;&gt;CopyFileA&lt;/td&gt;
&lt;td id=&quot;[esr&quot; style=&quot;height: 20px;&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 2번째 DLL 파일 IAT &lt;/b&gt;&lt;/p&gt;
&lt;table id=&quot;36db3aca-18a4-8043-9308-fe2bf969bc74&quot; 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&gt;&lt;b&gt; DLL &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 함수 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 역할 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8072-aecd-fb44c2082afa&quot;&gt;
&lt;td id=&quot;y]T^&quot;&gt;KERNEL32.dll&lt;/td&gt;
&lt;td&gt;Sleep&lt;/td&gt;
&lt;td id=&quot;Ld^t&quot;&gt;일정 시간 대기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8032-835e-f4ce9ca9c29f&quot;&gt;
&lt;td id=&quot;y]T^&quot;&gt;KERNEL32.dll&lt;/td&gt;
&lt;td&gt;CreateProcessA&lt;/td&gt;
&lt;td id=&quot;Ld^t&quot;&gt;새 프로세스 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80f9-90b3-fbcb6f2bd98e&quot;&gt;
&lt;td id=&quot;y]T^&quot;&gt;KERNEL32.dll&lt;/td&gt;
&lt;td&gt;CreateMutexA&lt;/td&gt;
&lt;td id=&quot;Ld^t&quot;&gt;Mutex 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-806e-b6f1-dbda38a8c95f&quot;&gt;
&lt;td id=&quot;y]T^&quot;&gt;KERNEL32.dll&lt;/td&gt;
&lt;td&gt;OpenMutexA&lt;/td&gt;
&lt;td id=&quot;Ld^t&quot;&gt;기존 Mutex 열기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80e1-9b05-ede44b325bf9&quot;&gt;
&lt;td id=&quot;y]T^&quot;&gt;KERNEL32.dll&lt;/td&gt;
&lt;td&gt;CloseHandle&lt;/td&gt;
&lt;td id=&quot;Ld^t&quot;&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;5. 감염 시스템에서 식별 가능한 호스트 기반 증거(파일&amp;middot;레지스트리 등)는 무엇인가?&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;6. 감염 시스템에서 이 악성코드를 식별하는 데 사용할 수 있는 네트워크 기반 증거는 무엇인가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열: strings 도구 결과&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bD2CgZ/dJMcaarV7f9/NWcvXnJc7ZpsAwivQqDerK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bD2CgZ/dJMcaarV7f9/NWcvXnJc7ZpsAwivQqDerK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bD2CgZ/dJMcaarV7f9/NWcvXnJc7ZpsAwivQqDerK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbD2CgZ%2FdJMcaarV7f9%2FNWcvXnJc7ZpsAwivQqDerK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;544&quot; height=&quot;141&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;141&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;pre id=&quot;code_1779903293617&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;strings.exe Lab01-01.exe &amp;gt; Lab01-01.exe.txt
strings.exe Lab01-01.dll &amp;gt; Lab01-01.dll.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;strings로 .exe 파일에 있는 문자열들을 .txt로 추출한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;505&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DWiTa/dJMcaccbOcO/UFv8RweIVsKM1hE5tIctq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DWiTa/dJMcaccbOcO/UFv8RweIVsKM1hE5tIctq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DWiTa/dJMcaccbOcO/UFv8RweIVsKM1hE5tIctq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDWiTa%2FdJMcaccbOcO%2FUFv8RweIVsKM1hE5tIctq1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;707&quot; height=&quot;480&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;505&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;b&gt;.exe.txt&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1246&quot; data-origin-height=&quot;461&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bplteD/dJMcaayHH3x/cIqXLKA3dBTdDElWrnJGB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bplteD/dJMcaayHH3x/cIqXLKA3dBTdDElWrnJGB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bplteD/dJMcaayHH3x/cIqXLKA3dBTdDElWrnJGB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbplteD%2FdJMcaayHH3x%2FcIqXLKA3dBTdDElWrnJGB1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;519&quot; height=&quot;192&quot; data-origin-width=&quot;1246&quot; data-origin-height=&quot;461&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;b&gt;.dll.txt&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;396&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdHeNq/dJMcajoLjUx/YoAEkkaLb16DiBpwyIZis1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdHeNq/dJMcajoLjUx/YoAEkkaLb16DiBpwyIZis1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdHeNq/dJMcajoLjUx/YoAEkkaLb16DiBpwyIZis1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdHeNq%2FdJMcajoLjUx%2FYoAEkkaLb16DiBpwyIZis1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;414&quot; height=&quot;219&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;396&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;7. 이 파일의 목적은 무엇으로 판단되는가?&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;Lab01-01.exe가 실행되면 시스템 내부 감시를 우회하기 위해 정상 kernel32.dll과 유사한 이름의 kerne132.dll을 생성 및 매핑하여 시스템에 정착한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 함께 드롭된 Lab01-01.dll을 통해 하드코딩된 C2 서버(127.26.152.13)로 연결을 시도하며, 공격자의 원격 명령(exec)을 받아 감염된 시스템에서 추가적인 악성 프로세스를 실행하고 제어권을 탈취하는 구조이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;Lab01-02 문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. VirusTotal에 업로드했을 때 기존 안티바이러스 시그니처와 일치하는 결과가 있는가?&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;virustotal에 업로드할 때는 winmd5를 사용해서 exe파일을 넣으면 주는 MD5를 복붙하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;657&quot; data-origin-height=&quot;464&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FydeD/dJMcah5FS3F/CGTKb1hQlVEzysOfAngfd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FydeD/dJMcah5FS3F/CGTKb1hQlVEzysOfAngfd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FydeD/dJMcah5FS3F/CGTKb1hQlVEzysOfAngfd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFydeD%2FdJMcah5FS3F%2FCGTKb1hQlVEzysOfAngfd1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;590&quot; height=&quot;417&quot; data-origin-width=&quot;657&quot; data-origin-height=&quot;464&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1881&quot; data-origin-height=&quot;958&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2X9Xr/dJMcageA8ly/HcVtbC4WeVv6mvJloCFSqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2X9Xr/dJMcageA8ly/HcVtbC4WeVv6mvJloCFSqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2X9Xr/dJMcageA8ly/HcVtbC4WeVv6mvJloCFSqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2X9Xr%2FdJMcageA8ly%2FHcVtbC4WeVv6mvJloCFSqk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1881&quot; height=&quot;958&quot; data-origin-width=&quot;1881&quot; data-origin-height=&quot;958&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;58/71개의 취약점이 있다고 나온다.&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;2. 이 파일에 패킹이나 난독화 징후가 있는가? 있다면 무엇으로 판단했는가? 패킹되어 있다면 언패킹해보시오.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이름이 이상? =&amp;gt; 이름이 UPX &amp;rarr; 패킹되어 있다. -&amp;gt; 언패킹했다.&lt;/li&gt;
&lt;li&gt;rwx 권한?=&amp;gt; 정상&lt;/li&gt;
&lt;li&gt;virtual size랑 raw size가 다르냐?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;493&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2L9JC/dJMb99NghXK/18JtqicGATe13d4SC5K36k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2L9JC/dJMb99NghXK/18JtqicGATe13d4SC5K36k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2L9JC/dJMb99NghXK/18JtqicGATe13d4SC5K36k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2L9JC%2FdJMb99NghXK%2F18JtqicGATe13d4SC5K36k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1134&quot; height=&quot;493&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;493&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;b&gt; &lt;span data-token-index=&quot;0&quot;&gt;언패킹&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1779904731124&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;upx -d Lab01-02.exe&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;811&quot; data-origin-height=&quot;182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rOvUA/dJMcagMtku0/pukdu7gp51wTbWfxHsleOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rOvUA/dJMcagMtku0/pukdu7gp51wTbWfxHsleOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rOvUA/dJMcagMtku0/pukdu7gp51wTbWfxHsleOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrOvUA%2FdJMcagMtku0%2Fpukdu7gp51wTbWfxHsleOk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;811&quot; height=&quot;182&quot; data-origin-width=&quot;811&quot; data-origin-height=&quot;182&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;다시 peview로 보면 잘 보인다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;786&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wkGSB/dJMcaiKci1o/6OEQ3XPOrKQ1ymv5BR88sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wkGSB/dJMcaiKci1o/6OEQ3XPOrKQ1ymv5BR88sk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wkGSB/dJMcaiKci1o/6OEQ3XPOrKQ1ymv5BR88sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwkGSB%2FdJMcaiKci1o%2F6OEQ3XPOrKQ1ymv5BR88sk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;809&quot; height=&quot;496&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;786&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 임포트로부터 악성코드의 기능을 추정할 수 있는가? 가능하다면 어떤 임포트에서 단서를 얻었는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*임포트 어드레스 테이블&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt; 언패킹 하기 전&lt;/b&gt;&lt;/h4&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cRPREc/dJMcaak7vqU/2IohrUHdj5vGgR0kPLNX21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cRPREc/dJMcaak7vqU/2IohrUHdj5vGgR0kPLNX21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cRPREc/dJMcaak7vqU/2IohrUHdj5vGgR0kPLNX21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRPREc%2FdJMcaak7vqU%2F2IohrUHdj5vGgR0kPLNX21%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;782&quot; height=&quot;380&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;br /&gt;
&lt;table id=&quot;36db3aca-18a4-80cb-b005-c72c557b64b2&quot; 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&gt;&lt;b&gt; &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;함수&lt;/span&gt; &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;위험도&lt;/span&gt; &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;가능한 악성 행위&lt;/span&gt; &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80d2-bab8-ca36b7e82bc2&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateServiceA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;매우 높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;악성 서비스를 등록하여 재부팅 후 자동 실행(Persistence)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80e9-9cd2-f365ad0b3f3b&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;StartServiceCtrlDispatcherA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;서비스 프로세스로 동작. 백그라운드 상주형 악성코드 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80d9-b9de-ddbd6228ebcd&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;OpenSCManagerA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;서비스 관리자 접근. 서비스 생성/수정/삭제 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80af-b1cc-debca3468f39&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;SystemTimeToFileTime&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;시간 변환. 타이머 기반 실행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8076-a3d6-d6131d92541a&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;GetModuleFileNameA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;자신의 실행 경로 확인. 자기복사/지속성 설정 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8050-bdfe-c27098a83fc7&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateWaitableTimerA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;특정 시간 후 실행. 지연 실행(Sandbox 우회) 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8027-b08c-ce92e0be899c&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;ExitProcess&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;프로세스 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80cc-84b7-e90e3955f60e&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;OpenMutexA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;중복 실행 방지. 이미 감염된 시스템 확인 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8060-bc7c-daaec60f0c1d&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;SetWaitableTimer&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;예약 실행 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-807b-b1cf-c633d61c61eb&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;WaitForSingleObject&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;특정 이벤트 대기. 스레드 동기화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80bd-9a83-dd873d5ff67e&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateMutexA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;단일 인스턴스 유지. 감염 체크용 Mutex 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-803e-bf8b-ee27039dd918&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateThread&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;별도 악성 스레드 실행. 백그라운드 작업 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80a7-a8ae-dea989982e4b&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;InternetOpenUrlA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;매우 높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;특정 URL 접속. 페이로드 다운로드/C2 통신 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-805e-81aa-d0c326979d48&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;InternetOpenA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;인터넷 세션 생성. HTTP 통신 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8073-8018-d1cede6953eb&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;_XcptFilter&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;예외 처리. 크래시 방지/분석 방해 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8029-9b7b-ccdcb4ba24ca&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;__p__fmode, _controlfp 등 CRT 함수&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;일반 런타임 초기화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;전형적인 악성코드 패턴&lt;/p&gt;
&lt;pre id=&quot;code_1779904903982&quot; class=&quot;nginx&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;cpp&quot;&gt;&lt;code&gt;VirtualAlloc
&amp;rarr; 메모리 확보

VirtualProtect
&amp;rarr; 실행 권한 부여

LoadLibrary / GetProcAddress
&amp;rarr; API 숨겨서 호출

InternetOpenA
&amp;rarr; 외부 서버 통신

CreateServiceA
&amp;rarr; 재부팅 후 자동 실행&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;언패킹 한 후&lt;/b&gt;&lt;/h4&gt;
&lt;table id=&quot;36db3aca-18a4-80cb-b005-c72c557b64b2&quot; 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&gt;&lt;b&gt; 함수 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 위험도 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt; 가능한 악성 행위 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80d2-bab8-ca36b7e82bc2&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateServiceA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;매우 높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;악성 서비스를 등록하여 재부팅 후 자동 실행(Persistence)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80e9-9cd2-f365ad0b3f3b&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;StartServiceCtrlDispatcherA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;서비스 프로세스로 동작. 백그라운드 상주형 악성코드 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80d9-b9de-ddbd6228ebcd&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;OpenSCManagerA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;서비스 관리자 접근. 서비스 생성/수정/삭제 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80af-b1cc-debca3468f39&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;SystemTimeToFileTime&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;시간 변환. 타이머 기반 실행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8076-a3d6-d6131d92541a&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;GetModuleFileNameA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;자신의 실행 경로 확인. 자기복사/지속성 설정 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8050-bdfe-c27098a83fc7&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateWaitableTimerA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;특정 시간 후 실행. 지연 실행(Sandbox 우회) 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8027-b08c-ce92e0be899c&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;ExitProcess&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;프로세스 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80cc-84b7-e90e3955f60e&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;OpenMutexA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;중복 실행 방지. 이미 감염된 시스템 확인 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8060-bc7c-daaec60f0c1d&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;SetWaitableTimer&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;예약 실행 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-807b-b1cf-c633d61c61eb&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;WaitForSingleObject&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;보통&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;특정 이벤트 대기. 스레드 동기화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80bd-9a83-dd873d5ff67e&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateMutexA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;단일 인스턴스 유지. 감염 체크용 Mutex 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-803e-bf8b-ee27039dd918&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;CreateThread&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;별도 악성 스레드 실행. 백그라운드 작업 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-80a7-a8ae-dea989982e4b&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;InternetOpenUrlA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;매우 높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;특정 URL 접속. 페이로드 다운로드/C2 통신 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-805e-81aa-d0c326979d48&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;InternetOpenA&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;높음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;인터넷 세션 생성. HTTP 통신 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8073-8018-d1cede6953eb&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;_XcptFilter&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&gt;예외 처리. 크래시 방지/분석 방해 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;36db3aca-18a4-8029-9b7b-ccdcb4ba24ca&quot;&gt;
&lt;td id=&quot;tZwQ&quot;&gt;__p__fmode, _controlfp 등 CRT 함수&lt;/td&gt;
&lt;td id=&quot;DiaW&quot;&gt;낮음&lt;/td&gt;
&lt;td id=&quot;W|~I&quot;&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;b&gt;위험한 조합/함수&lt;/b&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;1. Windows 서비스 기반 악성코드 가능성&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1779904973303&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;OpenSCManagerA
&amp;rarr; 서비스 관리자 접근

CreateServiceA
&amp;rarr; 악성 서비스 등록

StartServiceCtrlDispatcherA
&amp;rarr; 서비스 형태로 실행&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;2. CreateMutexA + OpenMutexA 조합: 이미 감염된 PC인지 확인할 때 많이 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mutex 존재 == 이미 실행 중 ==&amp;nbsp;종료&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;3. CreateWaitableTimerA +SetWaitableTimer&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;몇 분 뒤 실행&lt;/li&gt;
&lt;li&gt;재부팅 후 실행&lt;/li&gt;
&lt;li&gt;샌드박스 우회&lt;/li&gt;
&lt;/ul&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;4. InternetOpenA + InternetOpenUrlA&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 다운로드&lt;/li&gt;
&lt;li&gt;C2 서버 접속&lt;/li&gt;
&lt;li&gt;정보 유출&lt;/li&gt;
&lt;li&gt;명령 수신&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정리&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1779905569470&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;서비스 등록
+
중복 실행 방지
+
인터넷 통신
+
백그라운드 스레드 실행&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;4. 감염 시스템에서 이 악성코드를 식별하는 데 어떤 호스트 기반&amp;middot;네트워크 기반 증거를 활용했는가?&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;strings 도구 활용 결과&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;423&quot; data-origin-height=&quot;299&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bclB3m/dJMcah5FTaw/a61sq9hfBT4Qx9T3HZKLwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bclB3m/dJMcah5FTaw/a61sq9hfBT4Qx9T3HZKLwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bclB3m/dJMcah5FTaw/a61sq9hfBT4Qx9T3HZKLwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbclB3m%2FdJMcah5FTaw%2Fa61sq9hfBT4Qx9T3HZKLwK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;395&quot; height=&quot;279&quot; data-origin-width=&quot;423&quot; data-origin-height=&quot;299&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;b&gt;전체 흐름&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1779905646002&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[실행]
&amp;darr;
UPX 언패킹 코드 실행
&amp;darr;
Mutex 생성
(CreateMutexA)
&amp;darr;
이미 실행 중인지 확인
(OpenMutexA)
&amp;darr;
서비스 관리자 접근
(OpenSCManagerA)
&amp;darr;
자기 자신을 서비스 등록
(CreateServiceA)
&amp;darr;
서비스 프로세스로 동작
(StartServiceCtrlDispatcherA)
&amp;darr;
타이머 생성 -&amp;gt; 알람 생성(동시에 공격하기 위해서 like 디도스 공격)
(CreateWaitableTimerA)
&amp;darr;
백그라운드 스레드 생성
(CreateThread)
&amp;darr;
인터넷 연결
(InternetOpenA)
&amp;darr;
URL 접속
(InternetOpenUrlA)
&amp;darr;
명령 수신 또는 파일 다운로드
&amp;darr;
지속 실행&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;++ PEStudio를 쓰면&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;699&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEqpFe/dJMcahR4u3i/2ITJN74pAqSMwK1nJnGLmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEqpFe/dJMcahR4u3i/2ITJN74pAqSMwK1nJnGLmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEqpFe/dJMcahR4u3i/2ITJN74pAqSMwK1nJnGLmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEqpFe%2FdJMcahR4u3i%2F2ITJN74pAqSMwK1nJnGLmk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;735&quot; height=&quot;481&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;699&quot;/&gt;&lt;/span&gt;&lt;/figure&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;693&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJ3tAA/dJMcai4tZDi/YlFZkCpxqbWdNbMb3qdNlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJ3tAA/dJMcai4tZDi/YlFZkCpxqbWdNbMb3qdNlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJ3tAA/dJMcai4tZDi/YlFZkCpxqbWdNbMb3qdNlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJ3tAA%2FdJMcai4tZDi%2FYlFZkCpxqbWdNbMb3qdNlK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;763&quot; height=&quot;490&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;693&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;strings도 알아서 정리되어있다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;Lab01-04 문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. VirusTotal에 업로드했을 때 기존 안티바이러스 시그니처와 일치하는 결과가 있는가?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1049&quot; data-origin-height=&quot;818&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDNfpK/dJMcafz0dxt/yfSB83s6CeMkKmhGZMQ7K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDNfpK/dJMcafz0dxt/yfSB83s6CeMkKmhGZMQ7K0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDNfpK/dJMcafz0dxt/yfSB83s6CeMkKmhGZMQ7K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDNfpK%2FdJMcafz0dxt%2FyfSB83s6CeMkKmhGZMQ7K0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;724&quot; height=&quot;565&quot; data-origin-width=&quot;1049&quot; data-origin-height=&quot;818&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;63/70 개의 취약점 발견&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;2. 이 파일에 패킹이나 난독화 징후가 있는가? 있다면 무엇으로 판단했는가? 패킹되어 있다면 가능한 경우 언패킹해보시오.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이름 이상 &amp;rarr; 정상임&lt;/li&gt;
&lt;li&gt;raw size vs virtual size&amp;rarr; 정상임&lt;/li&gt;
&lt;li&gt;rwx 권한 &amp;rarr; 정상임&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 이 프로그램은 언제 컴파일되었는가?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;383&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/owWsh/dJMcagFHQIE/XFYNlczstulSyKgbHchggk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/owWsh/dJMcagFHQIE/XFYNlczstulSyKgbHchggk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/owWsh/dJMcagFHQIE/XFYNlczstulSyKgbHchggk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FowWsh%2FdJMcagFHQIE%2FXFYNlczstulSyKgbHchggk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1043&quot; height=&quot;383&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;383&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2019/08/30&amp;nbsp;금&amp;nbsp;22:26:58&amp;nbsp;UTC&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;4. 임포트로부터 악성코드의 기능을 추정할 수 있는가? 가능하다면 어떤 임포트에서 단서를 얻었는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 프로세스 인젝션 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenProcess &amp;rarr; WriteProcessMemory(없어도 유사행위 가능) &amp;rarr; CreateRemoteThread&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;b&gt;exe 내부 Resource 섹션에 숨겨둔 DLL/악성코드를 꺼내는 패턴 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;FindResourceA &amp;rarr; &lt;span data-token-index=&quot;1&quot;&gt;LoadResource&lt;/span&gt; &amp;rarr; SizeofResource&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;b&gt;권한 상승 또는 SeDebugPrivilege 활성화 패턴 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LookupPrivilegeValueA &amp;rarr; AdjustTokenPrivileges&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보안 프로그램 우회나 SYSTEM 프로세스 접근에 자주 사용&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;5. 감염 시스템에서 이 악성코드를 식별하는 데 어떤 호스트 기반&amp;middot;네트워크 기반 증거를 활용했는가?&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;6. 이 파일의 리소스 섹션에는 리소스가 하나 있다. Resource Hacker로 리소스 파일을 점검하고 추출해보시오. 리소스에서 무엇을 알 수 있는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 rsrc영역에는 아이콘 같은 걸 넣는 영역이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;resource haceker 로 보면 .exe 내부의 .rsrc 섹션만을 추출해서 보여준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;805&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZWXoF/dJMcabxy0bf/SEiKwy0Lus9w0alXCeWQ10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZWXoF/dJMcabxy0bf/SEiKwy0Lus9w0alXCeWQ10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZWXoF/dJMcabxy0bf/SEiKwy0Lus9w0alXCeWQ10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZWXoF%2FdJMcabxy0bf%2FSEiKwy0Lus9w0alXCeWQ10%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1396&quot; height=&quot;805&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;805&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbD3Zg/dJMcaicsj4o/BGabADbnQrGSMS9CxTBXh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbD3Zg/dJMcaicsj4o/BGabADbnQrGSMS9CxTBXh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbD3Zg/dJMcaicsj4o/BGabADbnQrGSMS9CxTBXh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbD3Zg%2FdJMcaicsj4o%2FBGabADbnQrGSMS9CxTBXh0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;923&quot; height=&quot;460&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;460&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;PE 구조가 들어가있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccRFOx/dJMcacJ4EgZ/7XVInAZWYvJcNQjST92pVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccRFOx/dJMcacJ4EgZ/7XVInAZWYvJcNQjST92pVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccRFOx/dJMcacJ4EgZ/7XVInAZWYvJcNQjST92pVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccRFOx%2FdJMcacJ4EgZ%2F7XVInAZWYvJcNQjST92pVk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1041&quot; height=&quot;672&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;672&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rscaY/dJMcajbdHxo/e24gknMNvOTPeGYoTNO7V1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rscaY/dJMcajbdHxo/e24gknMNvOTPeGYoTNO7V1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rscaY/dJMcajbdHxo/e24gknMNvOTPeGYoTNO7V1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrscaY%2FdJMcajbdHxo%2Fe24gknMNvOTPeGYoTNO7V1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;516&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;516&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 파일을 또 pestudio로 열어서 xml 형태로 저장을 해준다. 그리고 아까 원본파일도 pestudio로 열어서 xml 형태로 저장을 해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;966&quot; data-origin-height=&quot;547&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JwTi9/dJMcajbdHxD/WmCCqxOkglNYNPKFYFVe4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JwTi9/dJMcajbdHxD/WmCCqxOkglNYNPKFYFVe4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JwTi9/dJMcajbdHxD/WmCCqxOkglNYNPKFYFVe4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJwTi9%2FdJMcajbdHxD%2FWmCCqxOkglNYNPKFYFVe4K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;966&quot; height=&quot;547&quot; data-origin-width=&quot;966&quot; data-origin-height=&quot;547&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;&quot;그리고 gpt한테 물어본다.&quot;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;278&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dGZHoj/dJMb99T32i5/wsR5ptaU8hLWU4a5klNxf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dGZHoj/dJMb99T32i5/wsR5ptaU8hLWU4a5klNxf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dGZHoj/dJMb99T32i5/wsR5ptaU8hLWU4a5klNxf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdGZHoj%2FdJMb99T32i5%2FwsR5ptaU8hLWU4a5klNxf1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;575&quot; height=&quot;220&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;278&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvXzkF/dJMcahq4fx7/aW8GEKFairQJrHEhonzgyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvXzkF/dJMcahq4fx7/aW8GEKFairQJrHEhonzgyK/img.png&quot; style=&quot;width: 49.3416%; margin-right: 10px;&quot; width=&quot;522&quot; height=&quot;731&quot; data-origin-width=&quot;513&quot; data-origin-height=&quot;718&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;49.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvXzkF/dJMcahq4fx7/aW8GEKFairQJrHEhonzgyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvXzkF%2FdJMcahq4fx7%2FaW8GEKFairQJrHEhonzgyK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;513&quot; height=&quot;718&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYyKi4/dJMcahEw5aI/d1qzzzkkFX4HdUytSsl4kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYyKi4/dJMcahEw5aI/d1qzzzkkFX4HdUytSsl4kk/img.png&quot; style=&quot;width: 49.4956%;&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;706&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;50.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYyKi4/dJMcahEw5aI/d1qzzzkkFX4HdUytSsl4kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYyKi4%2FdJMcahEw5aI%2Fd1qzzzkkFX4HdUytSsl4kk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;706&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r9HL2/dJMcahdv1e6/qVUUkuE3506g1ku9uJGP1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r9HL2/dJMcahdv1e6/qVUUkuE3506g1ku9uJGP1k/img.png&quot; data-origin-width=&quot;521&quot; data-origin-height=&quot;716&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.3923%; margin-right: 10px;&quot; data-widthpercent=&quot;49.97&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r9HL2/dJMcahdv1e6/qVUUkuE3506g1ku9uJGP1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr9HL2%2FdJMcahdv1e6%2FqVUUkuE3506g1ku9uJGP1k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;521&quot; height=&quot;716&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zoZna/dJMcagr7FOo/0t9Zrzokx6p1vnyezgUVu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zoZna/dJMcagr7FOo/0t9Zrzokx6p1vnyezgUVu1/img.png&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;707&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.445%;&quot; data-widthpercent=&quot;50.03&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zoZna/dJMcagr7FOo/0t9Zrzokx6p1vnyezgUVu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzoZna%2FdJMcagr7FOo%2F0t9Zrzokx6p1vnyezgUVu1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;515&quot; height=&quot;707&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;&quot;docx 파일로 줘봐&quot;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1220&quot; data-start=&quot;1197&quot; data-ke-size=&quot;size16&quot;&gt;줄글 보고서 일부&lt;/p&gt;
&lt;h2 data-end=&quot;1220&quot; data-start=&quot;1197&quot; data-ke-size=&quot;size26&quot;&gt;2-3. 원본 EXE 예상 실행 흐름&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1427&quot; data-start=&quot;1222&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1251&quot; data-start=&quot;1222&quot;&gt;사용자가 lab01-04.exe를 실행한다.&lt;/li&gt;
&lt;li data-end=&quot;1286&quot; data-start=&quot;1253&quot;&gt;악성코드는 .rsrc 영역 내부 리소스를 탐색한다.&lt;/li&gt;
&lt;li data-end=&quot;1363&quot; data-start=&quot;1288&quot;&gt;FindResourceA, LoadResource, SizeofResource를 이용해 내부 PE를 메모리에 적재한다.&lt;/li&gt;
&lt;li data-end=&quot;1415&quot; data-start=&quot;1365&quot;&gt;CreateFileA, WriteFile로 내부 실행파일을 디스크에 저장한다.&lt;/li&gt;
&lt;li data-end=&quot;1427&quot; data-start=&quot;1417&quot;&gt;저장 경로는:&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;
&lt;div&gt;
&lt;pre class=&quot;taggerscript&quot;&gt;&lt;code&gt;\winup.exe
\system32\wupdmgr.exe&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1495&quot; data-start=&quot;1487&quot; data-ke-size=&quot;size16&quot;&gt;등이 의심된다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1530&quot; data-start=&quot;1497&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1530&quot; data-start=&quot;1497&quot;&gt;이후 WinExec를 이용해 드롭 파일을 실행한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-end=&quot;2188&quot; data-start=&quot;2169&quot; data-ke-size=&quot;size26&quot;&gt;3-3. 드롭 파일 실행 흐름&lt;/h2&gt;
&lt;p data-end=&quot;2188&quot; data-start=&quot;2169&quot; data-ke-size=&quot;size16&quot;&gt;1. 드롭 파일이 실행된다.&lt;/p&gt;
&lt;p data-end=&quot;2188&quot; data-start=&quot;2169&quot; data-ke-size=&quot;size16&quot;&gt;2. LoadLibraryA를 이용해:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;
&lt;div&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;psapi.dll
urlmon.dll&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;2291&quot; data-start=&quot;2278&quot; data-ke-size=&quot;size16&quot;&gt;등을 동적으로 로드한다.&lt;/p&gt;
&lt;p data-end=&quot;2291&quot; data-start=&quot;2278&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2291&quot; data-start=&quot;2278&quot; data-ke-size=&quot;size16&quot;&gt;3. GetProcAddress를 통해 필요한 API 주소를 런타임에 가져온다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;
&lt;div&gt;
&lt;pre class=&quot;stylus&quot;&gt;&lt;code&gt;LoadLibraryA(&quot;psapi.dll&quot;)
&amp;darr;
GetProcAddress(&quot;EnumProcesses&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;2445&quot; data-start=&quot;2426&quot; data-ke-size=&quot;size16&quot;&gt;이는 IAT 노출 최소화 목적이다.&lt;/p&gt;
&lt;p data-end=&quot;2445&quot; data-start=&quot;2426&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. OpenProcessToken, LookupPrivilegeValueA, AdjustTokenPrivileges로 SeDebugPrivilege 권한을 활성화한다.&lt;/p&gt;
&lt;p data-end=&quot;2558&quot; data-start=&quot;2556&quot; data-ke-size=&quot;size16&quot;&gt;즉, 다른 시스템 프로세스 접근 가능 상태 확보 목적이다.&lt;/p&gt;
&lt;p data-end=&quot;2558&quot; data-start=&quot;2556&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. EnumProcesses, EnumProcessModules, GetModuleBaseName으로 실행 중인 프로세스를 탐색한다.&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;6. winlogon.exe 발견 시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;
&lt;div&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;OpenProcess
&amp;darr;
CreateRemoteThread&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;2815&quot; data-start=&quot;2787&quot; data-ke-size=&quot;size16&quot;&gt;를 이용해 프로세스 인젝션을 시도할 가능성이 높다.&lt;/p&gt;
&lt;p data-end=&quot;2815&quot; data-start=&quot;2787&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 마지막으로:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;
&lt;div&gt;
&lt;pre class=&quot;dts&quot;&gt;&lt;code&gt;http://www.practicalmalwareanalysis.com/updater.exe&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;2942&quot; data-start=&quot;2910&quot; data-ke-size=&quot;size16&quot;&gt;에 접속해 추가 악성 파일을 다운로드할 가능성이 존재한다.&lt;/p&gt;</description>
      <category>보안/SK 쉴더스 루키즈</category>
      <author>yon11b</author>
      <guid isPermaLink="true">https://yon11b.tistory.com/200</guid>
      <comments>https://yon11b.tistory.com/200#entry200comment</comments>
      <pubDate>Thu, 28 May 2026 03:23:10 +0900</pubDate>
    </item>
  </channel>
</rss>