<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>크레이지J의 탐구생활</title>
    <link>https://crazyj.tistory.com/</link>
    <description>Programming (C/C++/Python/Java)
Security
MachineLearning/AI
DeepLearning
Math/Calculus
보안/머신러닝/인공지능/딥러닝/수학/미적분/파이썬/자바/CPP</description>
    <language>ko</language>
    <pubDate>Mon, 11 May 2026 20:28:18 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>크레이지J</managingEditor>
    <image>
      <title>크레이지J의 탐구생활</title>
      <url>https://tistory1.daumcdn.net/tistory/1882293/attach/c648199b7a0a4fcbb14ecb03de452d7f</url>
      <link>https://crazyj.tistory.com</link>
    </image>
    <item>
      <title>[안드로이드앱] Number 2048 재미로 만들어봤지만..</title>
      <link>https://crazyj.tistory.com/288</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock floatLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;n20481.png&quot; data-origin-width=&quot;357&quot; data-origin-height=&quot;772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ngSMh/dJMcaibRiD1/15Kg8Kk9q1Ztfd58Tver0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ngSMh/dJMcaibRiD1/15Kg8Kk9q1Ztfd58Tver0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ngSMh/dJMcaibRiD1/15Kg8Kk9q1Ztfd58Tver0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FngSMh%2FdJMcaibRiD1%2F15Kg8Kk9q1Ztfd58Tver0K%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;254&quot; height=&quot;549&quot; data-filename=&quot;n20481.png&quot; data-origin-width=&quot;357&quot; data-origin-height=&quot;772&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock floatLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;305&quot; data-origin-height=&quot;386&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lwtIo/dJMcabcGwuT/DVgaZRkAxbtr8apqft9BN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lwtIo/dJMcabcGwuT/DVgaZRkAxbtr8apqft9BN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lwtIo/dJMcabcGwuT/DVgaZRkAxbtr8apqft9BN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlwtIo%2FdJMcabcGwuT%2FDVgaZRkAxbtr8apqft9BN0%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;263&quot; height=&quot;579&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;305&quot; data-origin-height=&quot;386&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock floatLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;test4.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dd6ljO/dJMcajhs5Lc/hEoZQRP9yleSHRMR5k97T0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dd6ljO/dJMcajhs5Lc/hEoZQRP9yleSHRMR5k97T0/img.png&quot; data-alt=&quot;앱아이콘&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dd6ljO/dJMcajhs5Lc/hEoZQRP9yleSHRMR5k97T0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdd6ljO%2FdJMcajhs5Lc%2FhEoZQRP9yleSHRMR5k97T0%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;53&quot; height=&quot;1024&quot; data-filename=&quot;test4.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&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;취미로 간단하게 무료앱 Number 2048&amp;nbsp; 퍼즐 게임을 만들어봤지만...&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;안드로이드 개인 개발자 앱 배포를 무척 어렵게 만들어놨네요. &lt;b&gt;개발자 등록 비용을 냈는데 등록을 못한다는&lt;/b&gt; ㅡ.ㅡ;;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;비공개 테스트로 최소 12명을 모아서 14일간 테스트 하라니...&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;찾아보니, 앱을 12명이 다른 기기에 깔아만 놔도 된다고 하고, 누구는 앱을 하루에 한 번씩 실행을 해야한다고도 하고..&amp;nbsp; 또 피드백을 주고 받고, 앱을 업데이트하는 과정도 본다는 거 같고..&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;중간에 이탈(앱 삭제)가 발생하면 인원수에서 빠지게 되서, 무산되고 처음부터 다시 해야된다는 둥... 복잡하네요...&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;혹시 관심있으신 안드로이드 폰 사용하시는 분이 댓글(구글 플레이스토어 이메일주소) 남겨주시면 테스터로 추가하여 플레이스토어에서 앱 설치 가능하게 링크 보내드리겠습니다. &lt;b&gt;(구글 플레이스토어에서 검색이 가능하게 해당 테스터 계정에서만 보이게 됨)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;ㅜ.ㅜ&amp;nbsp; 앱링크 가봐야 보이지가 않아요. 제가 이메일 주소를 테스터로 등록해야 설치가 가능한 구조인 거 같습니다.&amp;nbsp; (테스터로 등록되면 com.crazyj.puzzle2048 로 구글 플레이 스토어에서 검색하면 보이게 되는 구조입니다.)&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;링크는 아래 검색어로 쿼리된 페이지인데, 테스터로 추가되면 보일 겁니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://play.google.com/store/search?q=com.crazyj.puzzle2048&amp;amp;c=apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://play.google.com/store/search?q=com.crazyj.puzzle2048&amp;amp;c=apps&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;&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;figure id=&quot;og_1775693939375&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;com.crazyj.puzzle2048 - Android 앱 Google Play&quot; data-og-description=&quot;수백만 개의 최신 Android 앱, 게임, 음악, 영화, TV 프로그램, 도서, 잡지 등을 즐기세요. 기기 간에 공유되어 언제 어디서든 이용할 수 있습니다.&quot; data-og-host=&quot;play.google.com&quot; data-og-source-url=&quot;https://play.google.com/store/search?q=com.crazyj.puzzle2048&amp;amp;c=apps&quot; data-og-url=&quot;https://play.google.com/store/search?c=apps&amp;amp;q=com.crazyj.puzzle2048&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xrUQM/dJMb9gxmkJQ/OrGqMZ44ggJS7E6zEwUYzk/img.png?width=416&amp;amp;height=203&amp;amp;face=0_0_416_203,https://scrap.kakaocdn.net/dn/LVYla/dJMb8VNwjqy/4VnbtY0sN4X0anAeDBQ7l0/img.png?width=416&amp;amp;height=203&amp;amp;face=0_0_416_203,https://scrap.kakaocdn.net/dn/gsTQ7/dJMb8YXMrez/V2qkS3riaPJkH2zDdbnkw1/img.jpg?width=416&amp;amp;height=203&amp;amp;face=0_0_416_203&quot;&gt;&lt;a href=&quot;https://play.google.com/store/search?q=com.crazyj.puzzle2048&amp;amp;c=apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://play.google.com/store/search?q=com.crazyj.puzzle2048&amp;amp;c=apps&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xrUQM/dJMb9gxmkJQ/OrGqMZ44ggJS7E6zEwUYzk/img.png?width=416&amp;amp;height=203&amp;amp;face=0_0_416_203,https://scrap.kakaocdn.net/dn/LVYla/dJMb8VNwjqy/4VnbtY0sN4X0anAeDBQ7l0/img.png?width=416&amp;amp;height=203&amp;amp;face=0_0_416_203,https://scrap.kakaocdn.net/dn/gsTQ7/dJMb8YXMrez/V2qkS3riaPJkH2zDdbnkw1/img.jpg?width=416&amp;amp;height=203&amp;amp;face=0_0_416_203');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;com.crazyj.puzzle2048 - Android 앱 Google Play&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;수백만 개의 최신 Android 앱, 게임, 음악, 영화, TV 프로그램, 도서, 잡지 등을 즐기세요. 기기 간에 공유되어 언제 어디서든 이용할 수 있습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;play.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>12인의테스터</category>
      <category>무료퍼즐</category>
      <category>안드로이드앱등록</category>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/288</guid>
      <comments>https://crazyj.tistory.com/288#entry288comment</comments>
      <pubDate>Thu, 9 Apr 2026 09:20:25 +0900</pubDate>
    </item>
    <item>
      <title>[APP] N2048 Privacy Policy</title>
      <link>https://crazyj.tistory.com/287</link>
      <description>&lt;div style=&quot;background-color: #0d0d0d; color: #cccccc; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;color: #ffffff;&quot;&gt;N2048 Game&lt;/div&gt;
&lt;div style=&quot;color: #888888;&quot;&gt;Noise Meter &amp;middot; com.crazyj.puzzle2048&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;section-en&quot; style=&quot;background-color: #0d0d0d; color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #4caf50;&quot;&gt;&lt;span style=&quot;background-color: #0d0d0d; color: #00e5ff; text-align: start;&quot;&gt;Privacy Policy&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #000000; color: #4caf50;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #000000; color: #4caf50;&quot;&gt;&lt;span style=&quot;background-color: #0d0d0d; color: #555555; text-align: start;&quot;&gt;Last updated: April 1, 2025&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #000000; color: #4caf50;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #000000; color: #4caf50;&quot;&gt;✓ This app does not collect any personally identifiable information.&lt;/div&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;N2048 (&quot;the App&quot;) respects your privacy. This policy explains what information the App handles and how.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;1. Information We Collect&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;The App processes only the minimum information necessary:&lt;/p&gt;
&lt;div style=&quot;background-color: #111111;&quot;&gt;
&lt;div style=&quot;color: #cccccc;&quot;&gt;  What We Do NOT Collect&lt;/div&gt;
&lt;div style=&quot;color: #888888;&quot;&gt;Name, email, phone number, location, device identifiers, or any personally identifiable information.&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;2. App Permissions&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;color: #aaaaaa;&quot;&gt;&lt;b&gt;Internet (INTERNET)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;mdash; Used only to load Google AdMob advertisements.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;3. Third-Party Service &amp;mdash; Google AdMob&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;The App uses&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Google AdMob&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for displaying banner advertisements. AdMob may independently collect information such as your device's advertising ID to serve relevant ads.&lt;/p&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;Google Privacy Policy:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;https://policies.google.com/privacy&quot;&gt;policies.google.com/privacy&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;Opt out of personalized ads:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;https://adssettings.google.com&quot;&gt;adssettings.google.com&lt;/a&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;4. Data Retention &amp;amp; Deletion&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;Measurement history is stored only on your device. You can delete it at any time using the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Clear All&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;function within the App, or by uninstalling the App.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;5. Children's Privacy&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;This App is not directed at children under 14 years of age. We do not knowingly collect personal information from children.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;6. Changes to This Policy&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;If we update this Privacy Policy, we will post the new version on this page. Changes take effect immediately upon posting.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;7. Contact&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;For any questions about this Privacy Policy, please contact:&lt;/p&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;mailto:crazyj7@gmail.com&quot;&gt;crazyj7u@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/287</guid>
      <comments>https://crazyj.tistory.com/287#entry287comment</comments>
      <pubDate>Sun, 5 Apr 2026 13:38:54 +0900</pubDate>
    </item>
    <item>
      <title>[App] 소음측정기</title>
      <link>https://crazyj.tistory.com/286</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #0d0d0d; color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: #1a1a1a;&quot;&gt; &lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #ffffff;&quot;&gt;소음측정기&lt;/div&gt;
&lt;div style=&quot;color: #888888;&quot;&gt;Noise Meter &amp;middot; com.crazyj.noisecheck&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #0d0d0d; color: #cccccc; text-align: right;&quot;&gt;&lt;a style=&quot;color: #555555;&quot; href=&quot;#&quot;&gt;한국어&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;#&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;div id=&quot;section-en&quot; style=&quot;background-color: #0d0d0d; color: #cccccc; text-align: start;&quot;&gt;
&lt;h1 style=&quot;color: #00e5ff;&quot;&gt;Privacy Policy&lt;/h1&gt;
&lt;div style=&quot;color: #555555;&quot;&gt;Last updated: April 1, 2025&lt;/div&gt;
&lt;div style=&quot;background-color: #000000; color: #4caf50;&quot;&gt;✓ This app does not collect any personally identifiable information.&lt;/div&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;Noise Meter (&quot;the App&quot;) respects your privacy. This policy explains what information the App handles and how.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;1. Information We Collect&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;The App processes only the minimum information necessary:&lt;/p&gt;
&lt;div style=&quot;background-color: #111111;&quot;&gt;
&lt;div style=&quot;color: #cccccc;&quot;&gt;  Microphone Input&lt;/div&gt;
&lt;div style=&quot;color: #888888;&quot;&gt;Used solely to measure ambient sound levels in decibels (dB). Audio is never recorded, saved as a file, or transmitted to any server.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #111111;&quot;&gt;
&lt;div style=&quot;color: #cccccc;&quot;&gt;  Measurement History (only when user saves)&lt;/div&gt;
&lt;div style=&quot;color: #888888;&quot;&gt;Stores timestamp, dB value, and noise level classification only. Saved locally on-device (SharedPreferences). Never transmitted externally.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #111111;&quot;&gt;
&lt;div style=&quot;color: #cccccc;&quot;&gt;  What We Do NOT Collect&lt;/div&gt;
&lt;div style=&quot;color: #888888;&quot;&gt;Name, email, phone number, location, device identifiers, or any personally identifiable information.&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;2. App Permissions&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;color: #aaaaaa;&quot;&gt;&lt;b&gt;Microphone (RECORD_AUDIO)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;mdash; Required for noise measurement. Active only while measuring.&lt;/li&gt;
&lt;li style=&quot;color: #aaaaaa;&quot;&gt;&lt;b&gt;Internet (INTERNET)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;mdash; Used only to load Google AdMob advertisements.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;3. Third-Party Service &amp;mdash; Google AdMob&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;The App uses&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Google AdMob&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for displaying banner advertisements. AdMob may independently collect information such as your device's advertising ID to serve relevant ads.&lt;/p&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;Google Privacy Policy:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;https://policies.google.com/privacy&quot;&gt;policies.google.com/privacy&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;Opt out of personalized ads:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;https://adssettings.google.com&quot;&gt;adssettings.google.com&lt;/a&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;4. Data Retention &amp;amp; Deletion&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;Measurement history is stored only on your device. You can delete it at any time using the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Clear All&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;function within the App, or by uninstalling the App.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;5. Children's Privacy&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;This App is not directed at children under 14 years of age. We do not knowingly collect personal information from children.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;6. Changes to This Policy&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;If we update this Privacy Policy, we will post the new version on this page. Changes take effect immediately upon posting.&lt;/p&gt;
&lt;h2 style=&quot;color: #00e5ff;&quot; data-ke-size=&quot;size26&quot;&gt;7. Contact&lt;/h2&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;For any questions about this Privacy Policy, please contact:&lt;/p&gt;
&lt;p style=&quot;color: #aaaaaa;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;mailto:crazyj7@gmail.com&quot;&gt;crazyj7u@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ⓒ 2025 crazyj7 &amp;middot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #00e5ff;&quot; href=&quot;mailto:crazyj7@gmail.com&quot;&gt;crazyj7u@gmail.com&lt;/a&gt;&lt;/p&gt;</description>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/286</guid>
      <comments>https://crazyj.tistory.com/286#entry286comment</comments>
      <pubDate>Mon, 30 Mar 2026 16:43:48 +0900</pubDate>
    </item>
    <item>
      <title>ssh 포트 포워딩</title>
      <link>https://crazyj.tistory.com/285</link>
      <description>&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;h2 data-ke-size=&quot;size26&quot;&gt;로컬 포트 포워딩 ; 로컬포트를 ssh서버를 경유하여 목적지로 보냄.&lt;/h2&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;ssh -L [로컬포트]:[목적지호스트]:[목적지포트] username@ssh서버&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(username@ssh서버 로그인)로컬호스트:로컬포트 -&amp;gt; 목적지호스트:목적지포트 터널이 생긴다. (ssh 22포트 경유)&lt;br /&gt;즉, 로컬포트로 들어오면, 목적지 주소(호스트:포트)로 redirect 시키는 것이다.&lt;br /&gt;(반대방향은 안됨)&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;원격 포트 포워딩 ; 원격ssh서버의 특정포트를 ssh를 경유하여 로컬로 보냄.&lt;/h2&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;ssh -R [원격포트]:[로컬호스트]:[로컬포트] username@원격ssh서버&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(username@원격ssh서버 로그인)원격ssh서버:원격포트 -&amp;gt; 로컬호스트:로컬포트 터널이 생긴다. (ssh 22포트 경유)&lt;br /&gt;(반대방향은 안됨)&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;동적 포트 포워딩&lt;/h2&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;ssh -D [로컬포트] username@ssh서버&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬에 포트를 만들고, ssh서버에 ssh포트를 통해 SOCK5 프록시 서버를 만든다.&lt;br /&gt;로컬포트(Sock5 Proxy) -&amp;gt; ssh서버(ssh경유) -&amp;gt; 외부&amp;nbsp; &amp;nbsp; (HTTP 프록시 아님! 브라우저 연결X)&amp;nbsp;&lt;/p&gt;</description>
      <category>Develop/Linux_Unix</category>
      <category>Port Forwarding</category>
      <category>ssh</category>
      <category>ssh포트포워딩</category>
      <category>방화벽</category>
      <category>포트포워딩</category>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/285</guid>
      <comments>https://crazyj.tistory.com/285#entry285comment</comments>
      <pubDate>Tue, 11 Nov 2025 10:43:44 +0900</pubDate>
    </item>
    <item>
      <title>기타프로5 현재위치표시 수정(Guitar pro current position highlight)</title>
      <link>https://crazyj.tistory.com/284</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;기타프로5에서 악보 플레이를 시키면 현재 위치가 어딘지 표시하는게 있다..&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-filename=&quot;a03.png&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;631&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CT7pF/dJMcadAkROX/y7jv99mieH5hngyZLz5wz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CT7pF/dJMcadAkROX/y7jv99mieH5hngyZLz5wz0/img.png&quot; data-alt=&quot;지금 어디를 치고 있는지 나만 안보여?? (노안이 오나보다...)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CT7pF/dJMcadAkROX/y7jv99mieH5hngyZLz5wz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCT7pF%2FdJMcadAkROX%2Fy7jv99mieH5hngyZLz5wz0%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;500&quot; height=&quot;386&quot; data-filename=&quot;a03.png&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;631&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;Windows 프로그램이니까, 저 초록색 선을 그리는 GDI API를 사용할 것이고, 해당 API를 후킹하여, 원하는 디자인으로 변경한 다음, 원래 로직으로 다시 돌아가게 리턴하게 해주면 이론상 가능하지...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 어느 API를 쓰는지 해당 API가 어디 있는지 등을 찾아야 함...&amp;nbsp; 간단하게, WinDbg로 붙여서 디버깅을 시작. 사용하는 DLL 모듈들을 찾아보고, 그 중에 graphics 관련을 추출하여 open된 line 그리는 api 후보들을 추출...&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 bp를 걸어본다. 너무 많다... 이제 API 후킹 모듈을 개발해서....(??? 쉬운건 아니다...) API 후킹이 되는지 체크하고, 디버그 로그 찍다보면은 어느 API겠구나.. 하고 나온다.&amp;nbsp; 그런 거기서, 파라미터들을 살펴보면, RGB값이 00,FF,00 으로 초록색으로 세로로 긋는 작업을 한다는 것을 확인하였다.&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-filename=&quot;a04.png&quot; data-origin-width=&quot;884&quot; data-origin-height=&quot;633&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvsviS/dJMcaacxx7r/KcuRlArNlVW9VLkw4DPIlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvsviS/dJMcaacxx7r/KcuRlArNlVW9VLkw4DPIlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvsviS/dJMcaacxx7r/KcuRlArNlVW9VLkw4DPIlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvsviS%2FdJMcaacxx7r%2FKcuRlArNlVW9VLkw4DPIlK%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;884&quot; height=&quot;633&quot; data-filename=&quot;a04.png&quot; data-origin-width=&quot;884&quot; data-origin-height=&quot;633&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;(dll injection을 해서 백신에서는 바이러스라고 오탐할 수 도 있음.)&amp;nbsp;&lt;/p&gt;</description>
      <category>만물상 DIY FIX</category>
      <category>Current Position Highlight</category>
      <category>GuitarPro</category>
      <category>GuitarPro5</category>
      <category>기타프로5</category>
      <category>현재위치표시강조</category>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/284</guid>
      <comments>https://crazyj.tistory.com/284#entry284comment</comments>
      <pubDate>Sat, 8 Nov 2025 09:24:11 +0900</pubDate>
    </item>
    <item>
      <title>[문자] 像 vs 象</title>
      <link>https://crazyj.tistory.com/283</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; &lt;span&gt;일본어 단어에서 像 vs 象 들어간 단어를 비교&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;가끔 어느 글자가 맞는지 항상 헛갈린다. &lt;b&gt;결국 그냥 다 외워야 함.&lt;/b&gt;&amp;nbsp; 명확한 구분이 안되어 헛갈림.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;거꾸로 단어 발음을 먼저 외우고, 발음에 따라 이 글자겠다고 하는게&amp;nbsp; 더 편할 수 있음.&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h2 id=&quot;&quot; style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;像&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;이 들어간 단어 ;　ぞう； 상상, 영상,초상화。。。&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;의미: 주로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;형상, 모습, 영상, 이미지&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&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;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;人物像&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(じんぶつぞう, jinbutsuzō): 인물상, 인물의 모습&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;像&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(ぞう, zō): 형상, 상(像)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;肖像&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(しょうぞう, shōzō): 초상화&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;映像&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(えいぞう, eizō): 영상, 이미지&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;想像　(そうぞう）：상상&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;&quot; style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;象&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;이 들어간 단어；대부분しょう; 상징,인상,추상,현상。。。&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;의미: 주로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;코끼리&lt;/b&gt;를 뜻하거나, 어떤 현상&amp;middot;사물의 징후 또는 상징적인 의미로 쓰임.&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;b&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;象&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(ぞう, zō): 코끼리 (읽는 법 주의)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;象徴&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(しょうちょう, shōchō): 상징&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;印象&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(いんしょう, inshō): 인상&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;具体的な&lt;b&gt;現象&lt;/b&gt;の象&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(ショウ, shō): &amp;lsquo;징후&amp;rsquo;나 &amp;lsquo;현상&amp;rsquo;의 의미로도 사용됨&lt;/li&gt;
&lt;li&gt;&lt;b&gt; &lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;抽象 (ちゅうしょう）; 추상&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;요약하면,&lt;/p&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 10.3488%; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;像&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 36.5116%;&quot;&gt;(모양 상) 상상, 영상, 초상, 인물상..&lt;/td&gt;
&lt;td style=&quot;width: 53.0233%;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;人物像&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(じんぶつぞう, jinbutsuzō)&amp;nbsp; &lt;br /&gt;&lt;/span&gt;&lt;span&gt;像&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;(ぞう, zō) &lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;肖像&lt;/span&gt; (しょうぞう, shōzō)&amp;nbsp; &lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;映像&lt;/span&gt; (えいぞう, eizō)&amp;nbsp; &lt;br /&gt;&lt;/b&gt;&lt;b&gt;想像　(そうぞう)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 10.3488%; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;象&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 36.5116%;&quot;&gt;(코끼리 상) 코끼리, 상징, 인상, 현상, 추상...&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 53.0233%;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: oklch(0.3039 0.04 213.68);&quot;&gt;&lt;span&gt;象&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(ぞう, zō)&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span&gt;象徴&lt;/span&gt; (しょうちょう, shōchō) &lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;印象&lt;/span&gt; (いんしょう, inshō)&amp;nbsp; &lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;現象(げんしょう） &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;抽象 (ちゅうしょう）&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; 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>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/283</guid>
      <comments>https://crazyj.tistory.com/283#entry283comment</comments>
      <pubDate>Sat, 8 Nov 2025 08:57:12 +0900</pubDate>
    </item>
    <item>
      <title>[Web] 마우스 드래그 방지, 우클릭방지</title>
      <link>https://crazyj.tistory.com/282</link>
      <description>&lt;h2 id=&quot;&quot; style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;* 마우스&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;드래그 방지&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;구현&lt;/h2&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;원리&lt;/h2&gt;
&lt;p style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;마우스 드래그 방지는 HTML/CSS/JavaScript 이벤트를 차단하는 원리입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CSS 방식:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;텍스트 선택 자체를 비활성화합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;JavaScript/HTML 이벤트 방식:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;드래그 시작 이벤트(ondragstart)나 텍스트 선택 이벤트(onselectstart)를 return false로 처리합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;예시 코드&lt;/h2&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;CSS로 구현&lt;/h2&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.1); color: oklch(0.9296 0.007 106.53);&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.16); color: oklch(0.3039 0.04 213.68 / 0.75);&quot; data-testid=&quot;code-language-indicator&quot;&gt;css&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #8e908c;&quot;&gt;/* 전체 페이지 드래그 불가 */&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;body&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-webkit-user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; none&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #8e908c;&quot;&gt;/* Chrome, Safari */&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-moz-user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; none&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #8e908c;&quot;&gt;/* Firefox */&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-ms-user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; none&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #8e908c;&quot;&gt;/* IE/Edge */&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; none&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #8e908c;&quot;&gt;/* 표준 속성 */&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #8e908c;&quot;&gt;/* 특정 영역만 드래그 허용 */&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;.allow-drag&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-webkit-user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; text&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-moz-user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; text&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-ms-user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; text&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user-select&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; text&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;HTML/JavaScript로 구현&lt;/h2&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.1); color: oklch(0.9296 0.007 106.53);&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.16); color: oklch(0.3039 0.04 213.68 / 0.75);&quot; data-testid=&quot;code-language-indicator&quot;&gt;xml&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #eab700;&quot;&gt;onselectstart&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;return false&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #eab700;&quot;&gt;ondragstart&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;return false&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;이 문장은 드래그할 수 없습니다.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #eab700;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;allow-drag&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;이 문장만 드래그 가능합니다.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또는 JavaScript 코드로 이벤트 차단을 설정할 수도 있습니다:&lt;/p&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.1); color: oklch(0.9296 0.007 106.53);&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.16); color: oklch(0.3039 0.04 213.68 / 0.75);&quot; data-testid=&quot;code-language-indicator&quot;&gt;javascript&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;document&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;addEventListener&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #718c00;&quot;&gt;'dragstart'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&amp;gt;&lt;/span&gt;&lt;span&gt; e&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;preventDefault&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;document&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;addEventListener&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #718c00;&quot;&gt;'selectstart'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&amp;gt;&lt;/span&gt;&lt;span&gt; e&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;preventDefault&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 id=&quot;1&quot; style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;특정 요소만 텍스트 선택 허용&lt;/h2&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;원리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;user-select: none으로 전체 페이지의 텍스트 선택을 비활성화합니다.&lt;/li&gt;
&lt;li&gt;선택을 허용할 요소에는&lt;span&gt;&amp;nbsp;&lt;/span&gt;user-select: text를 적용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;예시 코드&lt;/h2&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.1); color: oklch(0.9296 0.007 106.53);&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.16); color: oklch(0.3039 0.04 213.68 / 0.75);&quot; data-testid=&quot;code-language-indicator&quot;&gt;html&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; /* 전체 페이지 선택 금지 */ &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; /* 특정 요소만 선택 허용 */ &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; .select-allow { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; } &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;이 문장은 선택할 수 없습니다.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #eab700;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;select-allow&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;이 문장은 선택할 수 있습니다.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&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;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 id=&quot;&quot; style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;마우스&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;우클릭 방지&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;구현&lt;/h2&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;원리&lt;/h2&gt;
&lt;p style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;마우스 오른쪽 클릭 시 발생하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;contextmenu&lt;span&gt;&amp;nbsp;&lt;/span&gt;이벤트를 가로채서&lt;span&gt;&amp;nbsp;&lt;/span&gt;preventDefault()를 호출하면, 브라우저의 기본 컨텍스트 메뉴가 표시되지 않습니다.&lt;/p&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;예시 코드&lt;/h2&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;HTML 속성 방식&lt;/h2&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.1); color: oklch(0.9296 0.007 106.53);&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.16); color: oklch(0.3039 0.04 213.68 / 0.75);&quot; data-testid=&quot;code-language-indicator&quot;&gt;xml&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #eab700;&quot;&gt;oncontextmenu&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;return false&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;이 페이지에서는 마우스 우클릭이 비활성화되어 있습니다.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;JavaScript 방식&lt;/h2&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.1); color: oklch(0.9296 0.007 106.53);&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.16); color: oklch(0.3039 0.04 213.68 / 0.75);&quot; data-testid=&quot;code-language-indicator&quot;&gt;javascript&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;document&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;addEventListener&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #718c00;&quot;&gt;'contextmenu'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;event&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; event&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;preventDefault&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;alert&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #718c00;&quot;&gt;'이 페이지에서는 우클릭이 제한되어 있습니다.'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&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;h2 id=&quot;2&quot; style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;특정 요소만 우클릭 허용&lt;/h2&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;원리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;contextmenu&lt;span&gt;&amp;nbsp;&lt;/span&gt;이벤트를 전체 문서에 등록하여 우클릭을 차단합니다.&lt;/li&gt;
&lt;li&gt;단, 특정 요소(event.target)가 허용 대상이면&lt;span&gt;&amp;nbsp;&lt;/span&gt;preventDefault()를 호출하지 않습니다.&lt;span data-state=&quot;closed&quot;&gt;&lt;/span&gt;​&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;예시 코드&lt;/h2&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.1); color: oklch(0.9296 0.007 106.53);&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.9902 0.004 106.47);&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: oklch(0.6898 0.027 109.55 / 0.16); color: oklch(0.3039 0.04 213.68 / 0.75);&quot; data-testid=&quot;code-language-indicator&quot;&gt;xml&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;이 영역에서는 우클릭이 막힙니다.&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #eab700;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;allowed-area&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #eab700;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;background:#d0f0d0; padding:15px; margin-top:10px;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; 이 영역에서는 우클릭이 허용됩니다. &lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; &lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; const allowArea = document.getElementById('allowed-area'); &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; document.addEventListener('contextmenu', (event) =&amp;gt; { &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; // 허용 영역이 아닌 경우에만 우클릭 차단 &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; if (!allowArea.contains(event.target)) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;{ event.preventDefault(); alert('이 영역에서는 우클릭이 제한되어 있습니다.'); } &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt; }); &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;*허용시킬 요소가 여러 개 인 경우...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;&lt;span style=&quot;color: #4d4d4c;&quot;&gt;const&amp;nbsp;allowedElements&amp;nbsp;=&amp;nbsp;document.querySelectorAll('.right-allow'); &lt;br /&gt;document.addEventListener('contextmenu',&amp;nbsp;(event)&amp;nbsp;=&amp;gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;let&amp;nbsp;allowed&amp;nbsp;=&amp;nbsp;false; &lt;br /&gt;&amp;nbsp;&amp;nbsp;allowedElements.forEach(el&amp;nbsp;=&amp;gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(el.contains(event.target))&amp;nbsp;allowed&amp;nbsp;=&amp;nbsp;true; &lt;br /&gt;&amp;nbsp;&amp;nbsp;}); &lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!allowed)&amp;nbsp;event.preventDefault(); &lt;br /&gt;}); &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 코드는&lt;span&gt;&amp;nbsp;&lt;/span&gt;event.target이 허용된 요소(또는 그 하위 자식)일 경우에만 우클릭이 작동하게 하며, 그 외 영역은 전부 차단됩니다.&lt;span data-state=&quot;closed&quot;&gt;&lt;/span&gt;​&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68 / 0.75); text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;참고:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;개발자 도구(F12)에서 JavaScript를 비활성화하거나 코드 제거로 쉽게 우회할 수 있기에, 드래그/우클릭 방지는 사용자 경험 향상용 또는 간단한 안내 수준으로만 사용하는 것이 좋습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;원리를 요약하면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: oklch(0.9902 0.004 106.47); color: oklch(0.3039 0.04 213.68); text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;드래그 방지:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;user-select:none;&lt;span&gt;&amp;nbsp;&lt;/span&gt;또는&lt;span&gt;&amp;nbsp;&lt;/span&gt;onselectstart/ondragstart&lt;span&gt;&amp;nbsp;&lt;/span&gt;이벤트 차단.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;우클릭 방지:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;contextmenu&lt;span&gt;&amp;nbsp;&lt;/span&gt;이벤트를 막아 브라우저 메뉴가 뜨지 않게 함.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Develop/Web</category>
      <category>드래그방지</category>
      <category>우클릭방지</category>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/282</guid>
      <comments>https://crazyj.tistory.com/282#entry282comment</comments>
      <pubDate>Sun, 19 Oct 2025 06:35:02 +0900</pubDate>
    </item>
    <item>
      <title>[cpp] driver build script (WDK)</title>
      <link>https://crazyj.tistory.com/281</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;build.bat&lt;/p&gt;
&lt;pre id=&quot;code_1753938189803&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@echo off
setlocal
echo DiskFilter Driver Build Script
echo =============================

call &quot;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat&quot; 2&amp;gt;nul
if %ERRORLEVEL% NEQ 0 (
    call &quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat&quot; 2&amp;gt;nul
    if %ERRORLEVEL% NEQ 0 (
        call &quot;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat&quot; 2&amp;gt;nul
        if %ERRORLEVEL% NEQ 0 (
            echo Error: Visual Studio not found. Please install Visual Studio or run from Developer Command Prompt.
            exit /b 1
        )
    )
)

set WDKPATH=C:\Program Files (x86)\Windows Kits\10

REM Check if we're in WDK environment
if not defined WDKPATH (
    echo Error: WDK environment not detected.
    echo Please run this script from WDK Developer Command Prompt.
    echo.
    echo To open WDK Developer Command Prompt:
    echo 1. Start Menu -&amp;gt; Windows Driver Kit -&amp;gt; WDK x64 x86 Cross-Tools Command Prompt
    echo 2. Navigate to this directory
    echo 3. Run this script again
    pause
    exit /b 1
)

echo WDK environment detected: %WDKPATH%
echo.

REM Clean previous build
echo Cleaning previous build...
del *.obj *.sys *.pdb *.ilk 2&amp;gt;nul

REM Compile
echo Compiling diskfilter.c...
cl /c /I&quot;%WDKPATH%\Include\10.0.26100.0\km&quot; /I&quot;%WDKPATH%\Include\10.0.26100.0\shared&quot; ^
 /I&quot;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\km\crt&quot; ^
 /I&quot;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include&quot; ^
 /DDRIVER /DWIN32 /D_WIN32 /DNT /DNTDDI_VERSION=NTDDI_WIN10 /DWINVER=0x0A00 ^
 /D_WIN32_WINNT=0x0A00 /DUNICODE /D_UNICODE /DNDEBUG /Zi /Od /W3 /WX- /GS /Gy ^
 /Zc:wchar_t /Zc:forScope /Zc:inline /fp:precise /errorReport:prompt /kernel /D_AMD64_ /GS- diskfilter.c

if %errorLevel% neq 0 (
    echo Compilation failed!
    pause
    exit /b 1
)

REM Link
echo Linking diskfilter.sys...
link /DRIVER /SUBSYSTEM:NATIVE /ENTRY:DriverEntry ^
/NODEFAULTLIB /INCREMENTAL:NO /NOLOGO /DEBUG /PDB:diskfilter.pdb ^
/SUBSYSTEM:NATIVE /DRIVER:WDM /MACHINE:X64 /IGNORE:4099 /IGNORE:4210 /IGNORE:4049 /IGNORE:4103 /IGNORE:4098 ^
/LIBPATH:&quot;%WDKPATH%\Lib\10.0.26100.0\km\x64&quot; ^
/OUT:diskfilter.sys diskfilter.obj ntoskrnl.lib hal.lib bufferoverflowk.lib

if %errorLevel% neq 0 (
    echo Linking failed!
    pause
    exit /b 1
)

REM Check if build was successful
if exist diskfilter.sys (
    echo.
    echo Build completed successfully!
    echo Generated: diskfilter.sys
    echo.
    echo To install the driver, run: install.bat
    echo To test the driver, run: test.bat
) else (
    echo Build failed - diskfilter.sys not found!
)

echo.
echo Test completed.
endlocal
pause&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;</description>
      <category>Develop/Windows</category>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/281</guid>
      <comments>https://crazyj.tistory.com/281#entry281comment</comments>
      <pubDate>Thu, 31 Jul 2025 14:05:33 +0900</pubDate>
    </item>
    <item>
      <title>[cpp] netstat TCP info</title>
      <link>https://crazyj.tistory.com/280</link>
      <description>&lt;div style=&quot;background-color: #1a1a1a; color: #d8dee9;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;iomanip&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;string&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;vector&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;windows.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;iphlpapi.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;psapi.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&amp;lt;tlhelp32.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#pragma&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #aaa0fa;&quot;&gt;comment&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #aaa0fa;&quot;&gt;lib&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;iphlpapi.lib&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;#pragma&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #aaa0fa;&quot;&gt;comment&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #aaa0fa;&quot;&gt;lib&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;ws2_32.lib&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;TcpConnection&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;localAddress&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;localPort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;remoteAddress&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;remotePort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;state&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;pid&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;processName&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;NetStat&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;private:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;vector&lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;TcpConnection&lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;connections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;getStateString&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;state&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;state&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_CLOSED&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;CLOSED&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_LISTEN&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;LISTENING&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_SYN_SENT&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;SYN_SENT&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_SYN_RCVD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;SYN_RCVD&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_ESTAB&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;ESTABLISHED&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_FIN_WAIT1&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;FIN_WAIT1&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_FIN_WAIT2&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;FIN_WAIT2&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_CLOSE_WAIT&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;CLOSE_WAIT&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_CLOSING&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;CLOSING&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_LAST_ACK&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;LAST_ACK&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_TIME_WAIT&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;TIME_WAIT&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;MIB_TCP_STATE_DELETE_TCB&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;DELETE_TCB&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;UNKNOWN&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;getProcessName&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;pid&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;pid&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;System&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;HANDLE&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;hProcess&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;OpenProcess&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;PROCESS_QUERY_LIMITED_INFORMATION&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;pid&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;hProcess&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Unknown&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;processName&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;MAX_PATH&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;MAX_PATH&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;QueryFullProcessImageNameA&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;hProcess&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;processName&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;CloseHandle&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;hProcess&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;fullPath&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;processName&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;size_t&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;lastSlash&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;fullPath&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;find_last_of&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;/&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;lastSlash&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;npos&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;fullPath&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;substr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;lastSlash&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;fullPath&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;CloseHandle&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;hProcess&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Unknown&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;formatAddress&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;address&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;in_addr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;addr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;addr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;s_addr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;address&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;inet_ntoa&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;addr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;formatPort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;port&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;to_string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;ntohs&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;u_short&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;port&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;public:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;getTcpConnections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;GetExtendedTcpTable&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;TRUE&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;AF_INET&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;TCP_TABLE_OWNER_PID_ALL&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;ERROR_INSUFFICIENT_BUFFER&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cerr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;GetExtendedTcpTable failed with error: &quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;vector&lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;BYTE&lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;buffer&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;PMIB_TCPTABLE_OWNER_PID&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;tcpTable&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;PMIB_TCPTABLE_OWNER_PID&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;buffer&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;GetExtendedTcpTable&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;tcpTable&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;TRUE&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;AF_INET&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;TCP_TABLE_OWNER_PID_ALL&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;NO_ERROR&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cerr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;GetExtendedTcpTable failed with error: &quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;connections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;clear&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;DWORD&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;tcpTable&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwNumEntries&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;MIB_TCPROW_OWNER_PID&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;tcpTable&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;TcpConnection&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;localAddress&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;formatAddress&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwLocalAddr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;localPort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;formatPort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwLocalPort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;remoteAddress&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;formatAddress&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwRemoteAddr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;remotePort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;formatPort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwRemotePort&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;state&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;getStateString&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwState&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;pid&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwOwningPid&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;processName&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;getProcessName&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;dwOwningPid&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;connections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;push_back&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;printConnections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cout&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;left&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Local Address&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Local Port&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Remote Address&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Remote Port&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;State&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;PID&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Process Name&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cout&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;'-'&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;auto&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; : &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;connections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cout&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;left&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;localAddress&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;localPort&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;remoteAddress&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;remotePort&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;state&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;setw&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;pid&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;conn&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;processName&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cout&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;Total TCP connections: &quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #af9cff;&quot;&gt;connections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #82d2ce;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cout&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;TCP Connections (IPv4)&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cout&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;======================&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;NetStat&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;netstat&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;netstat&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;getTcpConnections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;()) &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #a8cc7c;&quot;&gt;cerr&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #e394dc;&quot;&gt;&quot;Failed to get TCP connections&quot;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d1d1d1;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #efefef;&quot;&gt;endl&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d6d6dd;&quot;&gt;netstat&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #87c3ff;&quot;&gt;printConnections&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #83d6c5;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ebc88d;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d8dee9;&quot;&gt;} &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>Develop/C&amp;amp;CPP</category>
      <category>CPP</category>
      <category>netstat</category>
      <category>tcp</category>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/280</guid>
      <comments>https://crazyj.tistory.com/280#entry280comment</comments>
      <pubDate>Tue, 29 Jul 2025 17:00:01 +0900</pubDate>
    </item>
    <item>
      <title>[인코딩] UTF-8 with BOM to UTF-8 without BOM</title>
      <link>https://crazyj.tistory.com/279</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 UTF-8 with BOM 파일을 찾아 모두&amp;nbsp; &amp;nbsp;UTF-8 without BOM 형식으로 변환하기.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래에서 첫 번째에 최상위 경로를 주고 powershell에서 실행하면 일괄로 변경한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1748584374877&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$targetFolder = &quot;data&quot;  # 변환할 최상위 폴더 경로

# UTF-8 BOM 3바이트 시퀀스
$utf8BOM = [byte[]](0xEF,0xBB,0xBF)

# 대상 폴더 내 모든 파일 재귀 탐색
Get-ChildItem -Path $targetFolder -File -Recurse | ForEach-Object {
    $file = $_.FullName

    # 파일을 바이트 단위로 읽기
    $bytes = [System.IO.File]::ReadAllBytes($file)

    # BOM 존재 여부 체크
    if ($bytes.Length -ge 3 -and $bytes[0] -eq $utf8BOM[0] -and $bytes[1] -eq $utf8BOM[1] -and $bytes[2] -eq $utf8BOM[2]) {
        Write-Host &quot;BOM 발견 및 제거 중: $file&quot;

        # BOM 제거한 바이트 배열 생성
        $bytesWithoutBOM = $bytes[3..($bytes.Length - 1)]

        # BOM 제거된 바이트를 임시 파일에 기록
        $tempFile = [System.IO.Path]::GetTempFileName()
        [System.IO.File]::WriteAllBytes($tempFile, $bytesWithoutBOM)

        # 임시 파일을 원본 파일로 덮어쓰기
        Move-Item -Path $tempFile -Destination $file -Force
    }
    else {
        Write-Host &quot;BOM 없음: $file&quot;
    }
}&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;background-color: #ffffff; color: #000000; text-align: center;&quot;&gt;이 시스템에서 스크립트를 실행할 수 없으므로 ~~~파일을 로드할 수 없습니다. 라고 에러가 나면.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;관리자 모드 powershell에서&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;Set&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #a77f71; text-align: left;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;ExecutionPolicy RemoteSigned&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;</description>
      <category>Develop/Windows</category>
      <author>크레이지J</author>
      <guid isPermaLink="true">https://crazyj.tistory.com/279</guid>
      <comments>https://crazyj.tistory.com/279#entry279comment</comments>
      <pubDate>Fri, 30 May 2025 14:55:12 +0900</pubDate>
    </item>
  </channel>
</rss>