<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>서원근양학블로그</title>
    <link>https://brainfreeee.tistory.com/</link>
    <description>서원근양학블로그</description>
    <language>ko</language>
    <pubDate>Fri, 8 May 2026 13:19:47 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>서원근양학계정</managingEditor>
    <image>
      <title>서원근양학블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/4954998/attach/bbe1c9361fb34666b01af217692b3d90</url>
      <link>https://brainfreeee.tistory.com</link>
    </image>
    <item>
      <title>합병 정렬 / 병합 정렬(Merge Sort)</title>
      <link>https://brainfreeee.tistory.com/73</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;합병&amp;nbsp;정렬&amp;nbsp;/&amp;nbsp;병합&amp;nbsp;정렬&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;합병 정렬 / 병합 정렬(Merge Sort)은 정렬되지 않은 원소들을 하나의 원소로 분할한 다음 원소들을 정렬하면서 합병하는 알고리즘입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 원소들을 반복해서 분할해주면서 하나의 원소만 남을 때 까지 분할합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그 다음에는 분할했던 두 원소들을 서로 합쳐주면서 정렬해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 과정을 반복해주면 정렬이 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;합병&amp;nbsp;정렬&amp;nbsp;/&amp;nbsp;병합&amp;nbsp;정렬&lt;/span&gt;&amp;nbsp;예시&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;1006&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/scEIc/btsbVbXwBrW/Br7jleiqQfGkFf3QkKn8JK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/scEIc/btsbVbXwBrW/Br7jleiqQfGkFf3QkKn8JK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/scEIc/btsbVbXwBrW/Br7jleiqQfGkFf3QkKn8JK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FscEIc%2FbtsbVbXwBrW%2FBr7jleiqQfGkFf3QkKn8JK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;867&quot; height=&quot;1006&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;1006&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1087&quot; data-origin-height=&quot;1005&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7KGHp/btsbTo4rz1f/NqU45KIOjvhQDB0UMPlnJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7KGHp/btsbTo4rz1f/NqU45KIOjvhQDB0UMPlnJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7KGHp/btsbTo4rz1f/NqU45KIOjvhQDB0UMPlnJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7KGHp%2FbtsbTo4rz1f%2FNqU45KIOjvhQDB0UMPlnJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1087&quot; height=&quot;1005&quot; data-origin-width=&quot;1087&quot; data-origin-height=&quot;1005&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;합병 정렬 / 병합 정렬 C++ 코드&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1682271969065&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#define _CRT_SECURE_NO_WARNINGS

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

void Partition(int left, int right, int numbers[]);
void Merge(int left, int mid, int right, int numbers[]);
void MergeSort(int number, int numbers[]);
void Swap(int* a, int* b);

int main()
{
	int number;
	int numbers[1000];

	memset(numbers, 0, sizeof(numbers));

	scanf(&quot;%d&quot;, &amp;amp;number);

	for (int i = 0; i &amp;lt; number; i++)
	{
		scanf(&quot;%d&quot;, &amp;amp;numbers[i]);
	}

	MergeSort(number, numbers);

	for (int i = 0; i &amp;lt; number; i++)
	{
		printf(&quot;%d\n&quot;, numbers[i]);
	}
}

void MergeSort(int number, int numbers[])
{
	Partition(0, number - 1, numbers);
}

void Partition(int left, int right, int numbers[])
{
	int mid;

	if (left &amp;lt; right)
	{
		mid = (left + right) / 2;
		Partition(left, mid, numbers);
		Partition(mid + 1, right, numbers);
		Merge(left, mid, right, numbers);
	}
}

void Merge(int left, int mid, int right, int numbers[])
{
	int left_index = left;
	int right_index = mid + 1;
	int temp_index = 0;
	int temp[1000];

	memset(temp, 0, sizeof(temp));

	while (left_index &amp;lt;= mid &amp;amp;&amp;amp; right_index &amp;lt;= right)
	{
		if (numbers[left_index] &amp;lt; numbers[right_index])
		{
			temp[temp_index] = numbers[left_index];
			left_index++;
		}
		else
		{
			temp[temp_index] = numbers[right_index];
			right_index++;
		}

		temp_index++;
	}

	if (left_index &amp;lt;= mid)
	{
		for (int i = left_index; i &amp;lt;= mid; i++)
		{
			temp[temp_index] = numbers[i];
			temp_index++;
		}
	}
	else
	{
		for (int i = right_index; i &amp;lt;= right; i++)
		{
			temp[temp_index] = numbers[i];
			temp_index++;
		}
	}

	temp_index = 0;

	for (int i = left; i &amp;lt;= right; i++)
	{
		numbers[i] = temp[temp_index];
		temp_index++;
	}
}

void Swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;합병 정렬 / 병합 정렬 시간복잡도&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 31.1628%; height: 75px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최선&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;평균&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최악&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nlog&lt;sub&gt;2&lt;/sub&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nlog&lt;sub&gt;2&lt;/sub&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nlog&lt;sub&gt;2&lt;/sub&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/73</guid>
      <comments>https://brainfreeee.tistory.com/73#entry73comment</comments>
      <pubDate>Mon, 24 Apr 2023 02:48:18 +0900</pubDate>
    </item>
    <item>
      <title>힙 정렬(Heap Sort)</title>
      <link>https://brainfreeee.tistory.com/72</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;힙 정렬&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;힙 정렬(Heap Sort)은 완전 이진 트리인 힙을 이용해서 원소들의 최댓값이나 최솟값을 쉽게 찾고 그것을 이용해서 정렬하는 알고리즘입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;부모 노드의 값이 자식 노드의 값보다 큰&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;최대 힙 구조를 만들어줍니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그리고 가장 큰 값을 가지고 있는 루트 노드를 힙의 마지막 노드와 교환해 주고 다시 최대 힙 구조를 만들어줍니다. 이 과정을 원소의 수 - 1번 반복하면 정렬이 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;힙 정렬 예시&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;본격적인 힙 정렬을 하기 전에 &lt;span style=&quot;font-family: 'Noto Sans Light'; 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 Sans Light'; color: #333333; text-align: start;&quot;&gt;최대 힙 구조를 만들어야 합니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;힙은 1차원 배열을 이용해서 구현할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;부모 노드와 자식 노드의 인덱스를 쉽게 구하기 위해서 배열의 0번째 공간은 사용하지 않고 1번째 공간부터 사용합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;부모 노드 인덱스 -&amp;gt; 자식 노드 인덱스 / 2&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;왼쪽 자식 노드 인덱스 -&amp;gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;부모 노드 인덱스&lt;/span&gt; * 2&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;왼쪽 자식 노드 인덱스 -&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;부모 노드 인덱스&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;* 2 + 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;부모 노드의 값을 구하고 값이 자신의 값보다 작으면 둘을 교환합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1350&quot; data-origin-height=&quot;528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4HGuq/btsbTVUJItJ/THH1f0ljf1ZM63DxQ8nwFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4HGuq/btsbTVUJItJ/THH1f0ljf1ZM63DxQ8nwFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4HGuq/btsbTVUJItJ/THH1f0ljf1ZM63DxQ8nwFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4HGuq%2FbtsbTVUJItJ%2FTHH1f0ljf1ZM63DxQ8nwFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1350&quot; height=&quot;528&quot; data-origin-width=&quot;1350&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최대 힙이 완성되었다면 본격적인 힙 정렬을 시작합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가장 큰 값을 가지고 있으면서 트리의 최상단에 위치한 루트 노드와 가장 마지막 노드를 교환합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;원래 부모 노드는 자식 노드보다 큰 값을 가지고 있어야 하는데 루트 노드와 가장 마지막 노드를 교환하면서 루트 노드는 자식 노드보다 큰 값을 가졌다고 할 수 없게 되었습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;따라서 루트 노드와 두 자식 노드 중 더 값이 큰 노드와 교환해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;이 과정을 교환된 노드에서 반복해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위의 모든 과정을 원소의 개수 - 1번만큼 반복해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1849&quot; data-origin-height=&quot;1029&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beixoA/btsbSMKELoI/6O0Mk4is2Ky3Kl0eA3gv9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beixoA/btsbSMKELoI/6O0Mk4is2Ky3Kl0eA3gv9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beixoA/btsbSMKELoI/6O0Mk4is2Ky3Kl0eA3gv9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeixoA%2FbtsbSMKELoI%2F6O0Mk4is2Ky3Kl0eA3gv9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1849&quot; height=&quot;1029&quot; data-origin-width=&quot;1849&quot; data-origin-height=&quot;1029&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;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;힙 정렬 C++ 코드&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1682188474529&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#define _CRT_SECURE_NO_WARNINGS

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

void BuildHeap(int number, int numbers[]);
void Heapify(int number, int numbers[], int index);
void HeapSort(int number, int numbers[]);
void Swap(int* a, int* b);

int main()
{
	int number;
	int numbers[1000];

	memset(numbers, 0, sizeof(numbers));

	scanf(&quot;%d&quot;, &amp;amp;number);

	for (int i = 1; i &amp;lt;= number; i++)
	{
		scanf(&quot;%d&quot;, &amp;amp;numbers[i]);
	}

	HeapSort(number, numbers);

	for (int i = 1; i &amp;lt;= number; i++)
	{
		printf(&quot;%d\n&quot;, numbers[i]);
	}
}

void HeapSort(int number, int numbers[])
{
	BuildHeap(number, numbers);

	for (int i = number; i &amp;gt; 1; i--)
	{
		Swap(&amp;amp;numbers[1], &amp;amp;numbers[i]);
		Heapify(i - 1, numbers, 1);
	}
}

void BuildHeap(int number, int numbers[])
{
	for (int i = 2; i &amp;lt;= number; i++)
	{
		while (i &amp;gt; 1)
		{
			int parent_node = i / 2;

			if (numbers[i] &amp;gt; numbers[parent_node])
			{
				Swap(&amp;amp;numbers[i], &amp;amp;numbers[parent_node]);
				i = parent_node;
			}
			else
				break;
		}
	}
}

void Heapify(int number, int numbers[], int index)
{
	if (index == 0)
		return;

	int current_node = index;
	int left_child_node = index * 2;
	int right_child_node = index * 2 + 1;

	if (left_child_node &amp;lt;= number &amp;amp;&amp;amp; numbers[current_node] &amp;lt; numbers[left_child_node])
	{
		current_node = index * 2;
	}

	if (right_child_node &amp;lt;= number &amp;amp;&amp;amp; numbers[current_node] &amp;lt; numbers[right_child_node])
	{
		current_node = index * 2 + 1;
	}

	if (current_node != index)
	{
		Swap(&amp;amp;numbers[index], &amp;amp;numbers[current_node]);
		Heapify(number, numbers, current_node);
	}
}

void Swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;힙 정렬 시간복잡도&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 33.2558%; height: 75px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최선&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;평균&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최악&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nlog&lt;sub&gt;2&lt;/sub&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nlog&lt;sub&gt;2&lt;/sub&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nlog&lt;sub&gt;2&lt;/sub&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/72</guid>
      <comments>https://brainfreeee.tistory.com/72#entry72comment</comments>
      <pubDate>Sun, 23 Apr 2023 03:37:51 +0900</pubDate>
    </item>
    <item>
      <title>선택 정렬(Selection Sort)</title>
      <link>https://brainfreeee.tistory.com/71</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;선택 정렬&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;선택 정렬(Selection Sort)은 원소를 나머지 원소와 비교해서 가장 작은 원소를 찾고 그 원소와 자리를 교환하는 알고리즘입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;첫 번째 원소를 두 번째 원소부터 마지막 원소까지 차례대로 비교하면서 가장 값이 작은 원소를 찾고 첫 번째 원소와 가장 값이 작은 원소를 교환합니다. 다음에는 두 번째 원소를 세 번째 원소부터 마지막 원소까지 차례대로 비교하면서 가장 값이 작은 원소를 찾고 교환합니다. 이렇게 마지막에는 뒤에서 두 번째 원소와 첫 번째 원소를 비교하고 교환하면서 정렬이 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span&gt;선택 정렬 예시&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dde4Hb/btsbl9zdemT/Of4V9m9BXQW5r0xhd6krOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dde4Hb/btsbl9zdemT/Of4V9m9BXQW5r0xhd6krOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dde4Hb/btsbl9zdemT/Of4V9m9BXQW5r0xhd6krOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdde4Hb%2Fbtsbl9zdemT%2FOf4V9m9BXQW5r0xhd6krOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1008&quot; height=&quot;769&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;선택 정렬 C++ 코드&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1681956570473&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#define _CRT_SECURE_NO_WARNINGS

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

void Swap(int* a, int* b);

int main()
{
	int number;
	int numbers[1000];

	memset(numbers, 0, sizeof(numbers));

	scanf(&quot;%d&quot;, &amp;amp;number);

	for (int i = 0; i &amp;lt; number; i++)
	{
		scanf(&quot;%d&quot;, &amp;amp;numbers[i]);
	}

	int min;

	for (int i = 0; i &amp;lt; number - 1; i++)
	{
		min = i;

		for (int j = i + 1; j &amp;lt; number; j++)
		{
			if (numbers[j] &amp;lt; numbers[min])
				min = j;
		}

		Swap(&amp;amp;numbers[i], &amp;amp;numbers[min]);
	}

	for (int i = 0; i &amp;lt; number; i++)
	{
		printf(&quot;%d\n&quot;, numbers[i]);
	}
}

void Swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;선택 정렬 시간복잡도&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 33.2558%; height: 75px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최선&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;평균&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최악&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/71</guid>
      <comments>https://brainfreeee.tistory.com/71#entry71comment</comments>
      <pubDate>Thu, 20 Apr 2023 11:11:39 +0900</pubDate>
    </item>
    <item>
      <title>삽입 정렬(Insertion Sort)</title>
      <link>https://brainfreeee.tistory.com/70</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;삽입 정렬&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;삽입 정렬(Insertion Sort)은 모든 요소를 이미 정렬된 부분과 비교하여 적절한 위치를 찾아 삽입하는 알고리즘입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 번째 원소부터 시작해서 앞에 있는 원소와 비교하고 앞에 있는 원소가 값이 더 크다면 뒤로 옮기고 적절한 위치에 원소를 삽입합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 번째 원소는 첫 번째 원소와 비교되고 세 번째 요소는 두 번째 요소와 첫 번째 요소, 네 번째 요소는 세 번째 요소와 두 번째 요소, 첫 번째 요소 이런 식으로 마지막 요소는 나머지 모든 원소와 비교되고 적절한 위치에 삽입된 뒤 정렬이 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;삽입 정렬 예시&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2025&quot; data-origin-height=&quot;1005&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3zcVj/btsbmP1B5cJ/VVW9PhpIQIimJyLmVA2sqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3zcVj/btsbmP1B5cJ/VVW9PhpIQIimJyLmVA2sqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3zcVj/btsbmP1B5cJ/VVW9PhpIQIimJyLmVA2sqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3zcVj%2FbtsbmP1B5cJ%2FVVW9PhpIQIimJyLmVA2sqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2025&quot; height=&quot;1005&quot; data-origin-width=&quot;2025&quot; data-origin-height=&quot;1005&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;삽입 정렬 C++ 코드&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1681932325993&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#define _CRT_SECURE_NO_WARNINGS

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

void Swap(int* a, int* b);

int main()
{
	int number;
	int numbers[1000];

	memset(numbers, 0, sizeof(numbers));

	scanf(&quot;%d&quot;, &amp;amp;number);

	for (int i = 0; i &amp;lt; number; i++)
	{
		scanf(&quot;%d&quot;, &amp;amp;numbers[i]);
	}

	for (int i = 1; i &amp;lt; number; i++)
	{
		for (int j = i - 1; j &amp;gt;= 0; j--)
		{
			if (numbers[j] &amp;gt; numbers[j + 1])
			{
				Swap(&amp;amp;numbers[j], &amp;amp;numbers[j + 1]);
			}
		}
	}

	for (int i = 0; i &amp;lt; number; i++)
	{
		printf(&quot;%d\n&quot;, numbers[i]);
	}
}

void Swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #555555; text-align: start;&quot;&gt;정렬하려는 배열이 이미 정렬되어 있는 경우 반복문을 빠져나오도록 해서 알고리즘을 최적화시킬 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681932524061&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#define _CRT_SECURE_NO_WARNINGS

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

void Swap(int* a, int* b);

int main()
{
	int number;
	int numbers[1000];

	memset(numbers, 0, sizeof(numbers));

	scanf(&quot;%d&quot;, &amp;amp;number);

	for (int i = 0; i &amp;lt; number; i++)
	{
		scanf(&quot;%d&quot;, &amp;amp;numbers[i]);
	}

	int i, j, &lt;strong&gt;key&lt;/strong&gt;;

	for (i = 1; i &amp;lt; number; i++)
	{
		&lt;strong&gt;key = numbers[i];&lt;/strong&gt;

		for (j = i - 1; j &amp;gt;= 0 &lt;strong&gt;&amp;amp;&amp;amp; numbers[j] &amp;gt; key&lt;/strong&gt;; j--)
		{
			numbers[j + 1] = numbers[j];
		}

		&lt;strong&gt;numbers[j + 1] = key;&lt;/strong&gt;
	}

	for (int i = 0; i &amp;lt; number; i++)
	{
		printf(&quot;%d\n&quot;, numbers[i]);
	}
}

void Swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;버블 정렬 시간복잡도&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 33.2558%; height: 75px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최선&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;평균&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최악&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/70</guid>
      <comments>https://brainfreeee.tistory.com/70#entry70comment</comments>
      <pubDate>Thu, 20 Apr 2023 04:33:03 +0900</pubDate>
    </item>
    <item>
      <title>버블 정렬(Bubble Sort)</title>
      <link>https://brainfreeee.tistory.com/69</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;버블 정렬&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;버블 정렬(Bubble Sort)은 서로 인접한 두 원소를 비교해서 교환하는 알고리즘으로, &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;원소가 이동하는 모습이 거품이 수면으로 올라오는 듯한 모습과 비슷하기 때문에 지어진 이름이라고 합니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;처음에는 첫 번째 원소와 두 번째 원소를 비교하고 다음에는 두 번째 원소와 세 번째 원소, 세 번째 원소와 네 번째 원소 이런 식으로 마지막에는 끝에서 두 번째 원소와 첫 번째 원소를 비교하고 교환합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 과정을 계속해서 반복하는데 한 번 이 과정을 반복하면 가장 큰 원소가 마지막으로 이동하므로 맨 끝에 있는 원소는 정렬 과정에서 제외됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정렬해야 할 원소의 개수 - 1만큼 위 과정을 반복하면 정렬이 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;버블 정렬 예시&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2446&quot; data-origin-height=&quot;593&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YjI6G/btsbn4D22qG/Rtj6MOLnpSkHZc4rdfvjxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YjI6G/btsbn4D22qG/Rtj6MOLnpSkHZc4rdfvjxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YjI6G/btsbn4D22qG/Rtj6MOLnpSkHZc4rdfvjxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYjI6G%2Fbtsbn4D22qG%2FRtj6MOLnpSkHZc4rdfvjxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2446&quot; height=&quot;593&quot; data-origin-width=&quot;2446&quot; data-origin-height=&quot;593&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;버블 정렬 C++ 코드&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1681927454768&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#define _CRT_SECURE_NO_WARNINGS

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

void Swap(int* a, int* b);

int main()
{
	int number;
	int numbers[1000];

	memset(numbers, 0, sizeof(numbers));

	scanf(&quot;%d&quot;, &amp;amp;number);

	for (int i = 0; i &amp;lt; number; i++)
	{
		scanf(&quot;%d&quot;, &amp;amp;numbers[i]);
	}

	for (int i = 0; i &amp;lt; number - 1; i++)
	{
		for (int j = 0; j &amp;lt; number - 1 - i; j++)
		{
			if (numbers[j] &amp;gt; numbers[j + 1])
			{
				Swap(&amp;amp;numbers[j], &amp;amp;numbers[j + 1]);
			}
		}
	}

	for (int i = 0; i &amp;lt; number; i++)
	{
		printf(&quot;%d\n&quot;, numbers[i]);
	}
}

void Swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정렬하려는 배열이 이미 정렬되어 있는 경우 반복문을 빠져나오도록 해서 알고리즘을 최적화시킬 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1681927617229&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#define _CRT_SECURE_NO_WARNINGS

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

void Swap(int* a, int* b);

int main()
{
	int number;
	int numbers[1000];
	&lt;strong&gt;bool is_swapped;&lt;/strong&gt;

	memset(numbers, 0, sizeof(numbers));

	scanf(&quot;%d&quot;, &amp;amp;number);

	for (int i = 0; i &amp;lt; number; i++)
	{
		scanf(&quot;%d&quot;, &amp;amp;numbers[i]);
	}

	for (int i = 0; i &amp;lt; number - 1; i++)
	{
		&lt;strong&gt;is_swapped = false;&lt;/strong&gt;

		for (int j = 0; j &amp;lt; number - 1 - i; j++)
		{
			if (numbers[j] &amp;gt; numbers[j + 1])
			{
				Swap(&amp;amp;numbers[j], &amp;amp;numbers[j + 1]);
				&lt;strong&gt;is_swapped = true;&lt;/strong&gt;
			}
		}

		&lt;strong&gt;if (is_swapped == false)&lt;/strong&gt;
			&lt;strong&gt;break;&lt;/strong&gt;
	}

	for (int i = 0; i &amp;lt; number; i++)
	{
		printf(&quot;%d\n&quot;, numbers[i]);
	}
}

void Swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;버블 정렬 시간복잡도&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 33.2558%; height: 75px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최선&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;평균&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;최악&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/69</guid>
      <comments>https://brainfreeee.tistory.com/69#entry69comment</comments>
      <pubDate>Thu, 20 Apr 2023 03:10:52 +0900</pubDate>
    </item>
    <item>
      <title>Unity Awake OnEnable Start 정리</title>
      <link>https://brainfreeee.tistory.com/68</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Awake&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;처음 한 번만 실행&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;OnEnable&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;GameObject와 Script 모두가 활성화될 때마다 실행&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Start&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;처음 한 번만 실행&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;GameObejct 활성화 Script 활성화&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Awake, &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;OnEnable&lt;/span&gt;, Start실행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;GameObejct 활성화 Script 비활성화&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Awake 실행&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;GameObejct 비활성화 Script 활성화&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아무것도 실행 X&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;GameObejct 비활성화 Script 비활성화&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;아무것도 실행&lt;/span&gt; X&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;실행 순서&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Awake -&amp;gt; OnEnable -&amp;gt; Start&lt;/span&gt;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/68</guid>
      <comments>https://brainfreeee.tistory.com/68#entry68comment</comments>
      <pubDate>Tue, 21 Mar 2023 00:44:55 +0900</pubDate>
    </item>
    <item>
      <title>Unity Button Animation 정리</title>
      <link>https://brainfreeee.tistory.com/67</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Normal&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;노말한 상태로 마우스 커서가 버튼을 제외한 다른 모든 위치에 있을 때의 상태입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Highlighted&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;마우스 커서가 버튼 위에 놓여져 있는 상태에서 마우스 버튼을 누르지 않고 있을 때의 상태입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;키보드를 이용해서 버튼을 선택한 경우에는 Selected상태가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Pressed&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;마우스 커서가 버튼 위에 놓여져 있는 상태에서 마우스 버튼을 누르고 계속 유지하고 있을 때의 상태입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;키보드를 이용해서 버튼을 누르고 계속 유지한다고 해도 마우스와는 다르게 잠깐동안만 이 상태가 유지됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Selected&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;마우스 커서가 버튼 위에 놓여져 있는 상태에서 마우스 버튼을 눌렀다 놓은 상태입니다. 이 상태에서는 커서를 움직여도 상태는 변하지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;키보드를 이용해서 버튼을 선택한 상태입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Disabled&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Button컴포넌트의 Interactable을 비활성화했을 때의 상태입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;487&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dLIb4g/btr4Dske1ox/m4yieQivGiYcpzd0BKaLt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dLIb4g/btr4Dske1ox/m4yieQivGiYcpzd0BKaLt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dLIb4g/btr4Dske1ox/m4yieQivGiYcpzd0BKaLt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdLIb4g%2Fbtr4Dske1ox%2Fm4yieQivGiYcpzd0BKaLt1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;418&quot; height=&quot;487&quot; data-origin-width=&quot;418&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;</description>
      <category>Unity</category>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/67</guid>
      <comments>https://brainfreeee.tistory.com/67#entry67comment</comments>
      <pubDate>Sun, 19 Mar 2023 02:23:27 +0900</pubDate>
    </item>
    <item>
      <title>Unity 2D 환경에서 특정 오브젝트 방향으로 회전</title>
      <link>https://brainfreeee.tistory.com/66</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3D 환경에서는 LookAt 함수나 RotateTowards 함수를 이용해서 특정 오브젝트 방향으로 회전할 수 있지만 이 함수들은 2D 환경에서는 작동하지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아래의 코드는 2D 환경에서 특정 오브젝트 방향으로 회전하는 코드입니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674055459195&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LookAt2DSource : MonoBehaviour
{
    public GameObject destination;
    float angle;

    void Update()
    {
        angle = Mathf.Atan2(destination.transform.position.y - transform.position.y,
                            destination.transform.position.x - transform.position.x)
              * Mathf.Rad2Deg;
        transform.rotation = Quaternion.Euler(0, 0, angle - 90);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;angle = Mathf.Atan2(&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;destination.transform.position.y - transform.position.y, &lt;/span&gt; &lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;destination.transform.position.x - transform.position.x) &lt;/span&gt; &lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;* Mathf.Rad2Deg;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;destination의 좌표에서 자신의 좌표를 빼면 자신에서 destination을 향하는 벡터가 되는데 Mathf.Atan2 함수는 그 벡터의 y와 x값을 이용해서 각도를 반환합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span&gt;Mathf.&lt;/span&gt;Atan2 함수의 반환값은 일반적으로 사용하는 오일러 각도가 아닌 라디안 값이므로 Mathf.Rad2Deg 값을&amp;nbsp;이용해서 오일러 각도로 변환해 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;transform.rotation&amp;nbsp;=&amp;nbsp;Quaternion.Euler(0,&amp;nbsp;0,&amp;nbsp;angle&amp;nbsp;-&amp;nbsp;90);&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;유니티는 내부적으로 쿼터니언을 이용해서 각도를 표현하고 있기 때문에 Quaternion.Euler함수를 이용해 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;바라보게 하고 싶은 오브젝트가 오른쪽에 위치했을 때 angle의 값은 0이고 위쪽을 바라보게 되므로 90만큼 빼주어서 바라보게 하고 싶은 오브젝트를 정면으로 바라볼 수 있게 해 줍니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>Unity</category>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/66</guid>
      <comments>https://brainfreeee.tistory.com/66#entry66comment</comments>
      <pubDate>Thu, 19 Jan 2023 01:09:52 +0900</pubDate>
    </item>
    <item>
      <title>drozer 설치 및 액티비티 호출</title>
      <link>https://brainfreeee.tistory.com/65</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;drozer 설치&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;drozer는 안드로이드 보안 테스트를 위한 도구입니다. 이제 이것을 설치해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 아래 링크에 접속해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://labs.withsecure.com/tools/drozer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://labs.withsecure.com/tools/drozer&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1669018690657&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;Drozer&quot; data-og-description=&quot;Comprehensive security and attack framework for Android.&quot; data-og-host=&quot;labs.withsecure.com&quot; data-og-source-url=&quot;https://labs.withsecure.com/tools/drozer&quot; data-og-url=&quot;https://labs.withsecure.com/tools/drozer&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bP2nCL/hyQE77f8Vj/ZI3AW7hYPUTlNd5diEUTSK/img.jpg?width=650&amp;amp;height=360&amp;amp;face=0_0_650_360&quot;&gt;&lt;a href=&quot;https://labs.withsecure.com/tools/drozer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://labs.withsecure.com/tools/drozer&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bP2nCL/hyQE77f8Vj/ZI3AW7hYPUTlNd5diEUTSK/img.jpg?width=650&amp;amp;height=360&amp;amp;face=0_0_650_360');&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;Drozer&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Comprehensive security and attack framework for Android.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;labs.withsecure.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;들어가서 페이지를 아래로 내리다 보면 아래와 같은 부분이 나오는데 drozer (Python .whl)와 drozer (Agent .apk only)를 다운로드해줍니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처241.PNG&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;655&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kIso9/btrRMbvV7rI/K2VcKYaBz7EwVEhkYG5oFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kIso9/btrRMbvV7rI/K2VcKYaBz7EwVEhkYG5oFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kIso9/btrRMbvV7rI/K2VcKYaBz7EwVEhkYG5oFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkIso9%2FbtrRMbvV7rI%2FK2VcKYaBz7EwVEhkYG5oFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;738&quot; height=&quot;655&quot; data-filename=&quot;캡처241.PNG&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;655&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;터미널을 열고 아래의 명령어를 입력해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669020344838&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd Downloads 
conda activate py2
pip install drozer-2.4.4-py2-none-any.whl
pip install twisted&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 apk파일을 안드로이드에 설치해주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669020436972&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;adb install drozer-agent-2.3.4.apk&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설치가 완료되면 안드로이드로 가서 drozer Agent를 실행시켜주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처242.PNG&quot; data-origin-width=&quot;1275&quot; data-origin-height=&quot;718&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qgYmj/btrRMUUF9Ax/zKEkTXSi4rk0haesO3aLe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qgYmj/btrRMUUF9Ax/zKEkTXSi4rk0haesO3aLe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qgYmj/btrRMUUF9Ax/zKEkTXSi4rk0haesO3aLe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqgYmj%2FbtrRMUUF9Ax%2FzKEkTXSi4rk0haesO3aLe0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1275&quot; height=&quot;718&quot; data-filename=&quot;캡처242.PNG&quot; data-origin-width=&quot;1275&quot; data-origin-height=&quot;718&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;OFF 버튼을 눌러서 서버를 켜줍니다. 버튼이 ON이 되면 서버가 켜진 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처243.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;719&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/deGFES/btrRJPNNZBx/Nh1u1mC9LVEKc9D9L4FBdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/deGFES/btrRJPNNZBx/Nh1u1mC9LVEKc9D9L4FBdK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/deGFES/btrRJPNNZBx/Nh1u1mC9LVEKc9D9L4FBdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeGFES%2FbtrRJPNNZBx%2FNh1u1mC9LVEKc9D9L4FBdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1271&quot; height=&quot;719&quot; data-filename=&quot;캡처243.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;719&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다시 칼리 리눅스로 돌아가서 아래의 명령어를 입력해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669021550052&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;adb forward tcp:31415 tcp:31415
drozer console connect&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그러면 drozer가 정상적으로 실행되는 모습을 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처244.PNG&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2ENHl/btrRMZO8M1b/opIrocHhKIWkJ78HHAQS10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2ENHl/btrRMZO8M1b/opIrocHhKIWkJ78HHAQS10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2ENHl/btrRMZO8M1b/opIrocHhKIWkJ78HHAQS10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2ENHl%2FbtrRMZO8M1b%2FopIrocHhKIWkJ78HHAQS10%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;516&quot; data-filename=&quot;캡처244.PNG&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;516&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;액티비티 호출 및 로그인 우회하기&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 액티비티(Activity)에 대해서 설명하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;액티비티는 애플리케이션과 사용자가 상호작용할 수 있는 화면을 제공하는 애플리케이션의 기본적인 구성단위입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;쉽게 말하자면 이런 로그인 화면이나&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처246.PNG&quot; data-origin-width=&quot;1273&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgMt1X/btrRMvOHixb/DNNQjqG5H7gTPP8qRdVSJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgMt1X/btrRMvOHixb/DNNQjqG5H7gTPP8qRdVSJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgMt1X/btrRMvOHixb/DNNQjqG5H7gTPP8qRdVSJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgMt1X%2FbtrRMvOHixb%2FDNNQjqG5H7gTPP8qRdVSJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1273&quot; height=&quot;720&quot; data-filename=&quot;캡처246.PNG&quot; data-origin-width=&quot;1273&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;로그인한 후의 화면,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처247.PNG&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;717&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLxvUU/btrRMvOHj9a/K7DNjB7a1WSuzNlaLQXKek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLxvUU/btrRMvOHj9a/K7DNjB7a1WSuzNlaLQXKek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLxvUU/btrRMvOHj9a/K7DNjB7a1WSuzNlaLQXKek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLxvUU%2FbtrRMvOHj9a%2FK7DNjB7a1WSuzNlaLQXKek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1270&quot; height=&quot;717&quot; data-filename=&quot;캡처247.PNG&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;717&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;비밀번호를 바꾸는 화면 등이 모두 액티비티입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처248.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;715&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cs5ffG/btrRLL5jTDa/0HXSH0SoZ7fORbqJfk7CqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cs5ffG/btrRLL5jTDa/0HXSH0SoZ7fORbqJfk7CqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cs5ffG/btrRLL5jTDa/0HXSH0SoZ7fORbqJfk7CqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcs5ffG%2FbtrRLL5jTDa%2F0HXSH0SoZ7fORbqJfk7CqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1271&quot; height=&quot;715&quot; data-filename=&quot;캡처248.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;715&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이러한 액티비티들은 호출될 수 있는데 로그인 화면은 당연히 호출되어도 문제가 없지만 만약 로그인 이후의 화면이 다른 애플리케이션에 의해서 호출된다면 로그인을 우회할 수 있다는 뜻이고 취약한 프로그램이라고 할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그렇다면 어떻게 특정한 액티비티가 호출될 수 있는지 없는지 알 수 있을까요?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #37474f; font-family: 'Noto Sans Light';&quot;&gt;AndroidManifest.xml파일에는 모든 액티비티가 등록되어있는데 android:exported요소의 값이 true인지 false인지에 따라서 알 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #37474f; font-family: 'Noto Sans Light';&quot;&gt;값이 false라면 같은 애플리케이션에서만 호출할 수 있지만 값이 true라면 다른 애플리케이션에서도 액티비티를 실행시킬 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #37474f; font-family: 'Noto Sans Light';&quot;&gt;AndroidManifest.xml파일을 확인하는 방법은 여러 가지가 있지만 jadx를 이용해서 apk파일을 디컴파일해서 확인해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #37474f; font-family: 'Noto Sans Light';&quot;&gt;터미널에 아래의 명령어를 입력해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669029088345&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;jadx-gui&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설치가 되어있다면 프로그램이 정상적으로 실행될 것이고 설치가 되어있지 않다면 설치할 거냐고 물어보는 메시지가 출력될 텐데 y 두 번이면 설치됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처249.PNG&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ca6HSx/btrRMZBLGBx/ZbnPhe5It1FdwmZDq49X90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ca6HSx/btrRMZBLGBx/ZbnPhe5It1FdwmZDq49X90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ca6HSx/btrRMZBLGBx/ZbnPhe5It1FdwmZDq49X90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fca6HSx%2FbtrRMZBLGBx%2FZbnPhe5It1FdwmZDq49X90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;517&quot; data-filename=&quot;캡처249.PNG&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처250.PNG&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HP4cb/btrRNBHredh/mq3vkhkeUY2FYnPe5LKAlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HP4cb/btrRNBHredh/mq3vkhkeUY2FYnPe5LKAlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HP4cb/btrRNBHredh/mq3vkhkeUY2FYnPe5LKAlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHP4cb%2FbtrRNBHredh%2Fmq3vkhkeUY2FYnPe5LKAlK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;651&quot; height=&quot;516&quot; data-filename=&quot;캡처250.PNG&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;516&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로그램이 실행되면 Open file버튼을 눌러서 InsecureBankv2.apk파일을 열어줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처252.PNG&quot; data-origin-width=&quot;1181&quot; data-origin-height=&quot;735&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u9HPC/btrRJPtDmca/gbolUtN12qYWhbRb8QDBKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u9HPC/btrRJPtDmca/gbolUtN12qYWhbRb8QDBKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u9HPC/btrRJPtDmca/gbolUtN12qYWhbRb8QDBKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu9HPC%2FbtrRJPtDmca%2FgbolUtN12qYWhbRb8QDBKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1181&quot; height=&quot;735&quot; data-filename=&quot;캡처252.PNG&quot; data-origin-width=&quot;1181&quot; data-origin-height=&quot;735&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;약간의 시간이 흐르고 디컴파일이 완료되면 Resources하위 경로에 있는 AndroidManifest.xml파일을 열어줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처253.PNG&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;737&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcGzoR/btrRLL5trtO/cC40rWCV5ozsUP4V43jbik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcGzoR/btrRLL5trtO/cC40rWCV5ozsUP4V43jbik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcGzoR/btrRLL5trtO/cC40rWCV5ozsUP4V43jbik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcGzoR%2FbtrRLL5trtO%2FcC40rWCV5ozsUP4V43jbik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1182&quot; height=&quot;737&quot; data-filename=&quot;캡처253.PNG&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;737&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Ctrl + F를 이용해서 검색해보면 몇몇 액티비티에 exported요소가 true로 설정되어 있는 것을 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 중에는 로그인 후에 사용되는 액티비티로 추정되는 PostLogin이라는 이름을 가진 액티비티도 보입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처254.PNG&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ynWqk/btrRKKTi47w/wINSI3jH0kNeNcFu3fNiF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ynWqk/btrRKKTi47w/wINSI3jH0kNeNcFu3fNiF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ynWqk/btrRKKTi47w/wINSI3jH0kNeNcFu3fNiF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FynWqk%2FbtrRKKTi47w%2FwINSI3jH0kNeNcFu3fNiF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1182&quot; height=&quot;733&quot; data-filename=&quot;캡처254.PNG&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;733&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이런 방식을 통해서 exported가 true인 액티비티를 찾을 수도 있겠지만 drozer에서는 간단한 명령어로 이러한 액티비티들을 쉽게 찾을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;칼리 리눅스로 돌아가서 drozer Console을 열어줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아래 명령어를 이용해서 exported가 true로 설정된 액티비티들을 모두 찾아주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669030263880&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;run app.activity.info -a com.android.insecurebankv2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처255.PNG&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;518&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brQEHB/btrRM0HuOPb/hdXz8OYA3s16qUCQRwKh50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brQEHB/btrRM0HuOPb/hdXz8OYA3s16qUCQRwKh50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brQEHB/btrRM0HuOPb/hdXz8OYA3s16qUCQRwKh50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrQEHB%2FbtrRM0HuOPb%2FhdXz8OYA3s16qUCQRwKh50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;651&quot; height=&quot;518&quot; data-filename=&quot;캡처255.PNG&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;518&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;exported가 true로 설정되어있어도 문제가 없는 LoginActivity를 제외하고 4개의 취약한 액티비티를 찾을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 찾은 취약한 액티비티들을 실행시켜보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;drozer Console에서 아래 명령어를 입력해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669030549961&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;run app.activity.start --component com.android.insecurebankv2 com.android.insecurebankv2.PostLogin&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처256.PNG&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;519&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bW93rx/btrRNAV4xsl/npBmPBlFBypX93vniBmWA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bW93rx/btrRNAV4xsl/npBmPBlFBypX93vniBmWA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bW93rx/btrRNAV4xsl/npBmPBlFBypX93vniBmWA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW93rx%2FbtrRNAV4xsl%2FnpBmPBlFBypX93vniBmWA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;651&quot; height=&quot;519&quot; data-filename=&quot;캡처256.PNG&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;519&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아무 애플리케이션도 열려 있지 않던 안드로이드에서 로그인한 다음에 뜨는 화면이 나오는 것을 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처257.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;716&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmnLjn/btrRH7BmBu1/P0IYZNQlJGkDAys40NI2h0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmnLjn/btrRH7BmBu1/P0IYZNQlJGkDAys40NI2h0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmnLjn/btrRH7BmBu1/P0IYZNQlJGkDAys40NI2h0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmnLjn%2FbtrRH7BmBu1%2FP0IYZNQlJGkDAys40NI2h0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1271&quot; height=&quot;716&quot; data-filename=&quot;캡처257.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;716&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;ADB를 이용해서도 액티비티를 실행시킬 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669030861312&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;adb shell
am start -n com.android.insecurebankv2/.PostLogin&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처260.PNG&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WEL73/btrRMD6YE4v/ef3DxWDA5Bb6PhnDPQLB3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WEL73/btrRMD6YE4v/ef3DxWDA5Bb6PhnDPQLB3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WEL73/btrRMD6YE4v/ef3DxWDA5Bb6PhnDPQLB3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWEL73%2FbtrRMD6YE4v%2Fef3DxWDA5Bb6PhnDPQLB3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;517&quot; data-filename=&quot;캡처260.PNG&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처262.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yxmhB/btrRN6tGAOY/I6DPMFUtAxT0PGWIEEbH2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yxmhB/btrRN6tGAOY/I6DPMFUtAxT0PGWIEEbH2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yxmhB/btrRN6tGAOY/I6DPMFUtAxT0PGWIEEbH2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyxmhB%2FbtrRN6tGAOY%2FI6DPMFUtAxT0PGWIEEbH2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1271&quot; height=&quot;720&quot; data-filename=&quot;캡처262.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번에는 비밀번호를 바꾸는 액티비티를 호출할 때 변수의 값을 정해서 호출해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아래의 사진은 ChangePassword액티비티의 화면입니다. 유저 이름은 현재 로그인한 유저의 이름으로 고정돼서 바꿀 수 없고 새로운 비밀번호만 입력할 수 있게 되어있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처263.PNG&quot; data-origin-width=&quot;1275&quot; data-origin-height=&quot;717&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbivSG/btrRN43Ojme/jjPOuQzxBQl7hP41kJbvtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbivSG/btrRN43Ojme/jjPOuQzxBQl7hP41kJbvtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbivSG/btrRN43Ojme/jjPOuQzxBQl7hP41kJbvtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbivSG%2FbtrRN43Ojme%2FjjPOuQzxBQl7hP41kJbvtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1275&quot; height=&quot;717&quot; data-filename=&quot;캡처263.PNG&quot; data-origin-width=&quot;1275&quot; data-origin-height=&quot;717&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 저 이름을 바꿔서 ChangePassword액티비티를 호출해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 jadx를 이용해서 코드를 분석해서 유저 이름을 가지고 있는 변수가 어떤 종류이고 어떤 이름을 가지고 있는지 알아야 합니다. 코드가 복잡한데 코드의 내용이나 변수의 이름을 봤을 때 uname변수가 유저의 이름을 가지고 있다고 생각할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처264.PNG&quot; data-origin-width=&quot;1687&quot; data-origin-height=&quot;894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjRJgg/btrRNnbBYF2/no3PrwgJWkIKi44hx2O350/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjRJgg/btrRNnbBYF2/no3PrwgJWkIKi44hx2O350/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjRJgg/btrRNnbBYF2/no3PrwgJWkIKi44hx2O350/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjRJgg%2FbtrRNnbBYF2%2Fno3PrwgJWkIKi44hx2O350%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1687&quot; height=&quot;894&quot; data-filename=&quot;캡처264.PNG&quot; data-origin-width=&quot;1687&quot; data-origin-height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 변수의 종류와 이름까지 확인했으므로 이제 명령어를 이용해서 유저 이름을 변경해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;일단 안 되어있어도 작동은 하겠지만 유저 이름을 담고 있는 변수의 값을 바꾼다는 점에 집중하기 위해서 InsecureBank에 로그인이 된 상태여야 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;drozer Console에서 아래의 명령어를 실행해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669044476234&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;run app.activity.start --component com.android.insecurebankv2 com.android.insecurebankv2.ChangePassword --extra string uname jack&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처267.PNG&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dh5dTo/btrRJOPdnAi/NUppVP6n0uGAXgncgGwsM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dh5dTo/btrRJOPdnAi/NUppVP6n0uGAXgncgGwsM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dh5dTo/btrRJOPdnAi/NUppVP6n0uGAXgncgGwsM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdh5dTo%2FbtrRJOPdnAi%2FNUppVP6n0uGAXgncgGwsM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;517&quot; data-filename=&quot;캡처267.PNG&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;유저 이름이 로그인된 유저의 이름인 dinesh가 아닌 전혀 다른 값인 jack으로 변해있는 것을 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처268.PNG&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/60wnd/btrRKKlCOJV/2tDazYTYJMz0d1NAw1rp80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/60wnd/btrRKKlCOJV/2tDazYTYJMz0d1NAw1rp80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/60wnd/btrRKKlCOJV/2tDazYTYJMz0d1NAw1rp80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F60wnd%2FbtrRKKlCOJV%2F2tDazYTYJMz0d1NAw1rp80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1270&quot; height=&quot;720&quot; data-filename=&quot;캡처268.PNG&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 New Password를 적당히 입력하고 Change Password버튼을 눌러서 jack의 비밀번호를 바꾼 뒤 바꾼 비밀번호로 로그인을 하면 잘 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;액티비티의 변수의 값을 바꿔서 호출하는 것 역시 ADB를 이용해서 할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1669045278137&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;adb shell 
am start -n com.android.insecurebankv2/.ChangePassword &amp;ndash;e uname jack&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;drozer와 ADB 둘 다 사용할 수 있으니 편한 것을 사용하시면 될 것 같습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>Android</category>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/65</guid>
      <comments>https://brainfreeee.tistory.com/65#entry65comment</comments>
      <pubDate>Tue, 22 Nov 2022 00:47:00 +0900</pubDate>
    </item>
    <item>
      <title>Burp Suite 설치 및 HTTP 요청 패킷 가로채고 값 변조하기</title>
      <link>https://brainfreeee.tistory.com/64</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Burp Suite 설치&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 필요한 도구인 Burp Suite를 설치해주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아래의 링크에 접속해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://portswigger.net/burp/communitydownload&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://portswigger.net/burp/communitydownload&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1668919967910&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;Download Burp Suite Community Edition - PortSwigger&quot; data-og-description=&quot;Burp Suite Community Edition is PortSwigger's essential manual toolkit for learning about web security testing. Free download.&quot; data-og-host=&quot;portswigger.net&quot; data-og-source-url=&quot;https://portswigger.net/burp/communitydownload&quot; data-og-url=&quot;https://portswigger.net/burp/communitydownload&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Di6Ns/hyQDwsYXju/aviNcPrY9Z9KG6AI9Kiva0/img.png?width=1201&amp;amp;height=603&amp;amp;face=0_0_1201_603,https://scrap.kakaocdn.net/dn/c4WDwV/hyQDCmslLx/QANEqsLXzEAqYDWD3jIkf0/img.png?width=1201&amp;amp;height=603&amp;amp;face=0_0_1201_603&quot;&gt;&lt;a href=&quot;https://portswigger.net/burp/communitydownload&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://portswigger.net/burp/communitydownload&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Di6Ns/hyQDwsYXju/aviNcPrY9Z9KG6AI9Kiva0/img.png?width=1201&amp;amp;height=603&amp;amp;face=0_0_1201_603,https://scrap.kakaocdn.net/dn/c4WDwV/hyQDCmslLx/QANEqsLXzEAqYDWD3jIkf0/img.png?width=1201&amp;amp;height=603&amp;amp;face=0_0_1201_603');&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;Download Burp Suite Community Edition - PortSwigger&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Burp Suite Community Edition is PortSwigger's essential manual toolkit for learning about web security testing. Free download.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;portswigger.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Go straight to downloads 버튼을 눌러줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처202.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;774&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bf2Yju/btrRH7srlOY/kBUUJGvv9fr9QRGGsG9uNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bf2Yju/btrRH7srlOY/kBUUJGvv9fr9QRGGsG9uNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bf2Yju/btrRH7srlOY/kBUUJGvv9fr9QRGGsG9uNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf2Yju%2FbtrRH7srlOY%2FkBUUJGvv9fr9QRGGsG9uNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;774&quot; data-filename=&quot;캡처202.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;774&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;에디션은 무료인 Burp Suite Community Edition으로 하고 운영체제는 칼리 리눅스에서 사용할 것이기 때문에 Linux (64-bit)를 선택해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처203.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;684&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7lBgU/btrRGvAll0Y/uFJuL8WKEbRjVquaFrvGbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7lBgU/btrRGvAll0Y/uFJuL8WKEbRjVquaFrvGbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7lBgU/btrRGvAll0Y/uFJuL8WKEbRjVquaFrvGbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7lBgU%2FbtrRGvAll0Y%2FuFJuL8WKEbRjVquaFrvGbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;684&quot; data-filename=&quot;캡처203.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;684&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;DOWNLOAD버튼을 누르면 다운로드가 시작됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다운로드가 끝나면 파일을 실행시켜주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1668920480126&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd Downloads
sh burpsuite_community_linux_v2022_9_6.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;약간 기다리면 새로운 창이 뜹니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처204.PNG&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;421&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W1pCJ/btrRz0vBQzz/OzeEaLM6DDsqm05qyYD540/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W1pCJ/btrRz0vBQzz/OzeEaLM6DDsqm05qyYD540/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W1pCJ/btrRz0vBQzz/OzeEaLM6DDsqm05qyYD540/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW1pCJ%2FbtrRz0vBQzz%2FOzeEaLM6DDsqm05qyYD540%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;421&quot; data-filename=&quot;캡처204.PNG&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;421&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;경로를 적당히 지정해주고&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처205.PNG&quot; data-origin-width=&quot;513&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcK6DV/btrRBJfhsIN/Os2k4bRmk27inDY6HHUf0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcK6DV/btrRBJfhsIN/Os2k4bRmk27inDY6HHUf0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcK6DV/btrRBJfhsIN/Os2k4bRmk27inDY6HHUf0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcK6DV%2FbtrRBJfhsIN%2FOs2k4bRmk27inDY6HHUf0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;513&quot; height=&quot;420&quot; data-filename=&quot;캡처205.PNG&quot; data-origin-width=&quot;513&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처206.PNG&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDl7Fz/btrRDYJLScR/rskOtYNN8x0yueAkcWwJd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDl7Fz/btrRDYJLScR/rskOtYNN8x0yueAkcWwJd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDl7Fz/btrRDYJLScR/rskOtYNN8x0yueAkcWwJd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDl7Fz%2FbtrRDYJLScR%2FrskOtYNN8x0yueAkcWwJd0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;420&quot; data-filename=&quot;캡처206.PNG&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기다리면 설치가 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처207.PNG&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;419&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9Pbi1/btrRH59eJfO/kr7YH0ave9kx3PIxZ14cNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9Pbi1/btrRH59eJfO/kr7YH0ave9kx3PIxZ14cNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9Pbi1/btrRH59eJfO/kr7YH0ave9kx3PIxZ14cNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9Pbi1%2FbtrRH59eJfO%2Fkr7YH0ave9kx3PIxZ14cNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;508&quot; height=&quot;419&quot; data-filename=&quot;캡처207.PNG&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;419&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Win키를 누르거나 왼쪽 위에 있는 용을 누르면 검색창이 뜨는데 Burp Suite를 검색해서 실행시켜줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;약관을 읽고 피드백을 보낼 거냐고 물어보는데 이 정도는 해줍시다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처209.PNG&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;407&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOrj3T/btrREWkIfa7/ygayHTs1suyfzyIyAMtU71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOrj3T/btrREWkIfa7/ygayHTs1suyfzyIyAMtU71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOrj3T/btrREWkIfa7/ygayHTs1suyfzyIyAMtU71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOrj3T%2FbtrREWkIfa7%2FygayHTs1suyfzyIyAMtU71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;573&quot; height=&quot;407&quot; data-filename=&quot;캡처209.PNG&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;407&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;임시 프로젝트를 하나 만들어주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처210.PNG&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AyEIW/btrRGlLi3LK/s8S9ud9TXybtVvBKPY1N3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AyEIW/btrRGlLi3LK/s8S9ud9TXybtVvBKPY1N3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AyEIW/btrRGlLi3LK/s8S9ud9TXybtVvBKPY1N3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAyEIW%2FbtrRGlLi3LK%2Fs8S9ud9TXybtVvBKPY1N3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;852&quot; height=&quot;532&quot; data-filename=&quot;캡처210.PNG&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기본 설정을 사용해주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처211.PNG&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;533&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0zZ9R/btrRACVhTmz/qda6SmQ96IemgreI1GQhjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0zZ9R/btrRACVhTmz/qda6SmQ96IemgreI1GQhjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0zZ9R/btrRACVhTmz/qda6SmQ96IemgreI1GQhjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0zZ9R%2FbtrRACVhTmz%2Fqda6SmQ96IemgreI1GQhjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;852&quot; height=&quot;533&quot; data-filename=&quot;캡처211.PNG&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;533&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 Burp Suite를 사용할 준비가 모두 끝났습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처245.PNG&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPA9nx/btrRMAh2hnp/5wOwRXiFt8iSCO9XGgij7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPA9nx/btrRMAh2hnp/5wOwRXiFt8iSCO9XGgij7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPA9nx/btrRMAh2hnp/5wOwRXiFt8iSCO9XGgij7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPA9nx%2FbtrRMAh2hnp%2F5wOwRXiFt8iSCO9XGgij7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1281&quot; height=&quot;894&quot; data-filename=&quot;캡처245.PNG&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Burp Suite 프록시 설정&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위쪽에 Proxy를 선택하고 아래줄에 있는 Options를 선택해줍니다. Proxy Listeners에서 유일한 것을 선택해주고 Edit버튼을 누릅니다. 세 번째에 있는 Specific address를 선택하고 선택할 수 있는 목록을 연 다음 두 번째에 있는 IP주소를 선택하고 OK 버튼을 눌러줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 번째에 있는 IP주소는 칼리 리눅스의 주소이므로 주소가 달라도 침착하게 선택하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처213.PNG&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;892&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zMAnL/btrRCXEwoiO/IrM0vkp3xlGFmD5PkciYGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zMAnL/btrRCXEwoiO/IrM0vkp3xlGFmD5PkciYGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zMAnL/btrRCXEwoiO/IrM0vkp3xlGFmD5PkciYGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzMAnL%2FbtrRCXEwoiO%2FIrM0vkp3xlGFmD5PkciYGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1282&quot; height=&quot;892&quot; data-filename=&quot;캡처213.PNG&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;892&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Android 프록시 설정&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;안드로이드의 Wi-Fi설정에 들어가서 현재 연결된 Wi-Fi의 설정을 열어줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처214.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;721&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LBOS5/btrRGvAHzS3/a8ZWtaDiTvzCHzOB4IzT8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LBOS5/btrRGvAHzS3/a8ZWtaDiTvzCHzOB4IzT8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LBOS5/btrRGvAHzS3/a8ZWtaDiTvzCHzOB4IzT8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLBOS5%2FbtrRGvAHzS3%2Fa8ZWtaDiTvzCHzOB4IzT8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;721&quot; data-filename=&quot;캡처214.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;721&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;왼쪽 위에 있는 연필 모양 버튼을 누른 다음 Advanced options를 펼쳐주고 Proxy에서 Manual을 선택해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처215.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnyzlv/btrRBeAgIOF/5mxox0Gom50P7LqCvrDLF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnyzlv/btrRBeAgIOF/5mxox0Gom50P7LqCvrDLF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnyzlv/btrRBeAgIOF/5mxox0Gom50P7LqCvrDLF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcnyzlv%2FbtrRBeAgIOF%2F5mxox0Gom50P7LqCvrDLF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;713&quot; data-filename=&quot;캡처215.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Proxy hostname에 칼리 리눅스의 IP주소를 Proxy port에는 칼리 리눅스 Burp Suite에서 설정했던 포트인 8080을 넣어줍니다. SAVE버튼을 눌러주면 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처216.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;721&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqo4PB/btrRJPMbH4B/Y5sSsk9ww3f2seMj8J68Fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqo4PB/btrRJPMbH4B/Y5sSsk9ww3f2seMj8J68Fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqo4PB/btrRJPMbH4B/Y5sSsk9ww3f2seMj8J68Fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbqo4PB%2FbtrRJPMbH4B%2FY5sSsk9ww3f2seMj8J68Fk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;721&quot; data-filename=&quot;캡처216.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;721&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;HTTPS 프록시 설정&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;안드로이드에서 http://burp에 접속하고 CA Certificate버튼을 눌러서 cacert.der파일을 다운로드합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처217.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NRqgY/btrRDVUgafW/VQpwaXB7HBag0EhE8eRtSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NRqgY/btrRDVUgafW/VQpwaXB7HBag0EhE8eRtSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NRqgY/btrRDVUgafW/VQpwaXB7HBag0EhE8eRtSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNRqgY%2FbtrRDVUgafW%2FVQpwaXB7HBag0EhE8eRtSk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;714&quot; data-filename=&quot;캡처217.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;714&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Files에 들어가서 다운로드한 파일의 이름을 cacert.cer로 변경해주겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처218.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;719&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CPjIY/btrRH7zzV4T/rjBVAzHK0M1TOr8EZ95Qk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CPjIY/btrRH7zzV4T/rjBVAzHK0M1TOr8EZ95Qk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CPjIY/btrRH7zzV4T/rjBVAzHK0M1TOr8EZ95Qk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCPjIY%2FbtrRH7zzV4T%2FrjBVAzHK0M1TOr8EZ95Qk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;719&quot; data-filename=&quot;캡처218.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;719&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처219.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;716&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ukxR9/btrRANpoCdn/f01mZKi7AggxvMU4QD8ckK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ukxR9/btrRANpoCdn/f01mZKi7AggxvMU4QD8ckK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ukxR9/btrRANpoCdn/f01mZKi7AggxvMU4QD8ckK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FukxR9%2FbtrRANpoCdn%2Ff01mZKi7AggxvMU4QD8ckK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;716&quot; data-filename=&quot;캡처219.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;716&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처220.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;715&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/esOobH/btrRBLdwerA/QKTUhbfMiy2H679rtojUdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/esOobH/btrRBLdwerA/QKTUhbfMiy2H679rtojUdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/esOobH/btrRBLdwerA/QKTUhbfMiy2H679rtojUdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FesOobH%2FbtrRBLdwerA%2FQKTUhbfMiy2H679rtojUdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;715&quot; data-filename=&quot;캡처220.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;715&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Settings에 들어가서 Storage에 들어가서 Internal shared storage에 들어가서 Files에 들어가서 Download에 들어가서 cacert.cer를 더블클릭하고 Certificate name을 burp로 정해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처221.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;721&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qUi7Y/btrRDZvzFLX/SNIAwZoAMKorMOVKRze9I0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qUi7Y/btrRDZvzFLX/SNIAwZoAMKorMOVKRze9I0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qUi7Y/btrRDZvzFLX/SNIAwZoAMKorMOVKRze9I0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqUi7Y%2FbtrRDZvzFLX%2FSNIAwZoAMKorMOVKRze9I0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;721&quot; data-filename=&quot;캡처221.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;721&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처222.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;715&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u8OoY/btrRBfMKPTo/5NtyM1YKFlp8s5lCL5pAZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u8OoY/btrRBfMKPTo/5NtyM1YKFlp8s5lCL5pAZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u8OoY/btrRBfMKPTo/5NtyM1YKFlp8s5lCL5pAZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu8OoY%2FbtrRBfMKPTo%2F5NtyM1YKFlp8s5lCL5pAZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;715&quot; data-filename=&quot;캡처222.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;715&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처223.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;722&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkTIWB/btrRHCl8eIR/1spStKVmPUOpxDIMWP0HcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkTIWB/btrRHCl8eIR/1spStKVmPUOpxDIMWP0HcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkTIWB/btrRHCl8eIR/1spStKVmPUOpxDIMWP0HcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkTIWB%2FbtrRHCl8eIR%2F1spStKVmPUOpxDIMWP0HcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;722&quot; data-filename=&quot;캡처223.PNG&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;722&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처224.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/otrF0/btrRJPeokl4/LSCBK4ogjL3kccMQz9fNs0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/otrF0/btrRJPeokl4/LSCBK4ogjL3kccMQz9fNs0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/otrF0/btrRJPeokl4/LSCBK4ogjL3kccMQz9fNs0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FotrF0%2FbtrRJPeokl4%2FLSCBK4ogjL3kccMQz9fNs0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;720&quot; data-filename=&quot;캡처224.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처225.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;719&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GZ5nF/btrRBLkjq40/nUHg0DPTDXb2IcDSTZc6u1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GZ5nF/btrRBLkjq40/nUHg0DPTDXb2IcDSTZc6u1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GZ5nF/btrRBLkjq40/nUHg0DPTDXb2IcDSTZc6u1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGZ5nF%2FbtrRBLkjq40%2FnUHg0DPTDXb2IcDSTZc6u1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;719&quot; data-filename=&quot;캡처225.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;719&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처226.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chzQZo/btrRALSElM9/PB9c2eFzE22z2W26fucIR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chzQZo/btrRALSElM9/PB9c2eFzE22z2W26fucIR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chzQZo/btrRALSElM9/PB9c2eFzE22z2W26fucIR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchzQZo%2FbtrRALSElM9%2FPB9c2eFzE22z2W26fucIR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;720&quot; data-filename=&quot;캡처226.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처227.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;718&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tqsOd/btrRH7Gm7MX/ShFq8StBEDosgYemjnSLc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tqsOd/btrRH7Gm7MX/ShFq8StBEDosgYemjnSLc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tqsOd/btrRH7Gm7MX/ShFq8StBEDosgYemjnSLc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtqsOd%2FbtrRH7Gm7MX%2FShFq8StBEDosgYemjnSLc1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;718&quot; data-filename=&quot;캡처227.PNG&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;718&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;HTTP 요청 패킷 가로채고 값 변조&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 InsecureBankv2를 이용할 예정이기 때문에 서버가 켜져 있는 상태여야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처2289.PNG&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OUbYb/btrRDYwDLW6/5H0oC5nHe34j5kRSDTDCp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OUbYb/btrRDYwDLW6/5H0oC5nHe34j5kRSDTDCp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OUbYb/btrRDYwDLW6/5H0oC5nHe34j5kRSDTDCp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOUbYb%2FbtrRDYwDLW6%2F5H0oC5nHe34j5kRSDTDCp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;516&quot; data-filename=&quot;캡처2289.PNG&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;516&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Burp Suite에서 Intercept를 off에서 on으로 만들어줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처228.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNv0jw/btrRDVzYTFm/dHitZIB8Hew66WoVQrE7nK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNv0jw/btrRDVzYTFm/dHitZIB8Hew66WoVQrE7nK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNv0jw/btrRDVzYTFm/dHitZIB8Hew66WoVQrE7nK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNv0jw%2FbtrRDVzYTFm%2FdHitZIB8Hew66WoVQrE7nK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;894&quot; data-filename=&quot;캡처228.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처231.PNG&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dNAc0g/btrRGmw5aOO/onRnVSCQ1rbfpICwlmTAkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dNAc0g/btrRGmw5aOO/onRnVSCQ1rbfpICwlmTAkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dNAc0g/btrRGmw5aOO/onRnVSCQ1rbfpICwlmTAkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdNAc0g%2FbtrRGmw5aOO%2FonRnVSCQ1rbfpICwlmTAkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1281&quot; height=&quot;894&quot; data-filename=&quot;캡처231.PNG&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 InsecureBank에서 로그인을 시도해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처230.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;717&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ah10C/btrRKJyiSSY/I5KRzx0tKHKVJzHz5x5t8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ah10C/btrRKJyiSSY/I5KRzx0tKHKVJzHz5x5t8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ah10C/btrRKJyiSSY/I5KRzx0tKHKVJzHz5x5t8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAh10C%2FbtrRKJyiSSY%2FI5KRzx0tKHKVJzHz5x5t8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1271&quot; height=&quot;717&quot; data-filename=&quot;캡처230.PNG&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;717&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 상태에서 Login버튼을 눌러도 넘어가지지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;칼리 리눅스로 가보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;HTTP 메시지가 보입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;더 자세히 보니 제가 입력했던 username과 password가 그대로 노출되어있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Forward버튼을 누르면 메시지를 정상적으로 보낼 수 있고 Drop버튼을 누르면 메시지가 없어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;일단 Forward버튼을 눌러보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처232.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/etatY7/btrRHBU4XLS/4uyDQiRKKeoMM8tpeDaeKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/etatY7/btrRHBU4XLS/4uyDQiRKKeoMM8tpeDaeKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/etatY7/btrRHBU4XLS/4uyDQiRKKeoMM8tpeDaeKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FetatY7%2FbtrRHBU4XLS%2F4uyDQiRKKeoMM8tpeDaeKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;388&quot; data-filename=&quot;캡처232.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;안드로이드로 돌아가 보면 로그인이 잘 된 것을 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처233.PNG&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/da1RY8/btrRGmqliOH/BfXVokNhiXT9VrV0FhFuIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/da1RY8/btrRGmqliOH/BfXVokNhiXT9VrV0FhFuIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/da1RY8/btrRGmqliOH/BfXVokNhiXT9VrV0FhFuIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fda1RY8%2FbtrRGmqliOH%2FBfXVokNhiXT9VrV0FhFuIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1272&quot; height=&quot;714&quot; data-filename=&quot;캡처233.PNG&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;714&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번엔 로그인을 할 때 틀린 Username과 Password를 입력해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처234.PNG&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SS1bB/btrRBKTgk2W/zdCnrZkvD2BStDTlBrS6v1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SS1bB/btrRBKTgk2W/zdCnrZkvD2BStDTlBrS6v1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SS1bB/btrRBKTgk2W/zdCnrZkvD2BStDTlBrS6v1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSS1bB%2FbtrRBKTgk2W%2FzdCnrZkvD2BStDTlBrS6v1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1272&quot; height=&quot;714&quot; data-filename=&quot;캡처234.PNG&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;714&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;칼리 리눅스로 돌아가서 확인해보니 제가 입력한 값들을 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처235.PNG&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;384&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clvVgI/btrRC0uJjWa/rPgpwaZfBXLXkcT06v4Hck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clvVgI/btrRC0uJjWa/rPgpwaZfBXLXkcT06v4Hck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clvVgI/btrRC0uJjWa/rPgpwaZfBXLXkcT06v4Hck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclvVgI%2FbtrRC0uJjWa%2FrPgpwaZfBXLXkcT06v4Hck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1282&quot; height=&quot;384&quot; data-filename=&quot;캡처235.PNG&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;384&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 값들을 Forward버튼을 이용해서 그대로 전송하면 로그인이 안 될 것입니다. 그래서 이 값을 변조해서 로그인이 되게 해 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처236.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;399&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bADsi3/btrRGv1ORIF/NFpRn4u6fYaSghQZ5hc6mK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bADsi3/btrRGv1ORIF/NFpRn4u6fYaSghQZ5hc6mK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bADsi3/btrRGv1ORIF/NFpRn4u6fYaSghQZ5hc6mK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbADsi3%2FbtrRGv1ORIF%2FNFpRn4u6fYaSghQZ5hc6mK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;399&quot; data-filename=&quot;캡처236.PNG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;399&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;값을 무사히 변조했습니다. 이 상태에서 Forward버튼을 누르고 어떤 일이 일어나는지 확인해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처237.PNG&quot; data-origin-width=&quot;1273&quot; data-origin-height=&quot;712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0pIvD/btrRH52SCDf/YiKTK0qGXq8Ba3qQ3TPNJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0pIvD/btrRH52SCDf/YiKTK0qGXq8Ba3qQ3TPNJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0pIvD/btrRH52SCDf/YiKTK0qGXq8Ba3qQ3TPNJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0pIvD%2FbtrRH52SCDf%2FYiKTK0qGXq8Ba3qQ3TPNJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1273&quot; height=&quot;712&quot; data-filename=&quot;캡처237.PNG&quot; data-origin-width=&quot;1273&quot; data-origin-height=&quot;712&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;분명히 로그인할 때 올바르지 않은 Username과 Password를 입력했음에도 불구하고 로그인이 된 모습입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;참고로 다른 실습을 할 때 방해가 될 수 있으므로 Wi-Fi설정은 원래대로 되돌려주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;캡처238.PNG&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b45XLh/btrRDUuiuSf/Bv8HUPeKnvPva8bSEIWQJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b45XLh/btrRDUuiuSf/Bv8HUPeKnvPva8bSEIWQJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b45XLh/btrRDUuiuSf/Bv8HUPeKnvPva8bSEIWQJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb45XLh%2FbtrRDUuiuSf%2FBv8HUPeKnvPva8bSEIWQJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1281&quot; height=&quot;713&quot; data-filename=&quot;캡처238.PNG&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Android</category>
      <author>서원근양학계정</author>
      <guid isPermaLink="true">https://brainfreeee.tistory.com/64</guid>
      <comments>https://brainfreeee.tistory.com/64#entry64comment</comments>
      <pubDate>Mon, 21 Nov 2022 01:06:11 +0900</pubDate>
    </item>
  </channel>
</rss>