<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>에벱 블로그</title>
    <link>https://ebebblog.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 11 Jul 2026 02:50:52 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>리오's</managingEditor>
    <image>
      <title>에벱 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/2946413/attach/41043596ba46451d924ae0a248053140</url>
      <link>https://ebebblog.tistory.com</link>
    </image>
    <item>
      <title>리버스 엔지니어링 (3)</title>
      <link>https://ebebblog.tistory.com/10</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;메모리 레이아웃(Memory Layout)이란 프로세스 가상 메모리(Virtual Memory)의 구성을 말합니다. 프로그램을 실행하면 운영체제는 프로세스에게 사용 가능한 메모리 공간을 할당합니다. 이 공간을 가상 메모리 라고 부릅니다. 메모리는 바이너리 실행에 중요한 역할을 하므로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로세스 메모리 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 섹션&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우의 PE파일은 PE헤더와 1개이상의 섹션으로 구성되어있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) &quot;.text&quot; 섹션에는 PE의 코드가 적혀있고, &quot;.data&quot;에는 PE가 실행중에 참조하는 데이터가 적혀있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;섹션에 대한 정보는 PE헤더에 적혀있습니다. PE헤더에는 여러가지 정보가 담기는데 섹션과 관련된 데이터 중 중요한것은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;* 섹션의 이름&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;* 섹션의 크기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;* 섹션이 로드될 주소의 오프셋&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;* 섹션의 속성과 권한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우는 PE를 실행할 때, 이 정보를 참조하여 PE의 각 섹션들을 가상 메모리의 적절한 세그먼트에 매핑합니다. PE에 필수로 존재하는 섹션은 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- .text&amp;nbsp; [ 권한 : 읽기 O / 쓰기 X&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;/ 실행 O&lt;/span&gt;&amp;nbsp;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 섹션은 실행 가능한 기계 코드가 위치하는 영역입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로그램이 동작될려면 코드를 실행할 수 있어야 하므로 읽기와 실행 권한이 부여됩니다. 반면 쓰기 권한이 있으면 공격자가 악의적인 코드를 삽입하기가 쉬워지므로, 대부분의 현대 운영체제에서는 쓰기 권한을 부여하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- .data &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;[&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;권한 : 읽기 O / 쓰기 O&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;/ 실행 X&lt;/span&gt; ]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 섹션은 컴파일 시점에 값이 정해진 전역 변수들이 위치합니다. CPU가 이 섹션의 데이터를 읽고 쓸 수 있어야 하므로, 읽기/쓰기 권한이 부여됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- .rdata &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;[&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;권한 : 읽기 O / 쓰기 X&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;/ 실행 X&lt;/span&gt; ]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 섹션은 컴파일 시점에 값이 정해진 전역 상수와 참조할 DLL 및 외부 함수들의 정보가 저장됩니다. CPU가 이 섹션에 데이터를 읽어야 하므로 읽기 권한이 부여되지만, 쓰기 권한은 부여되지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;섹션이 아닌 메모리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 스택 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;[&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;권한 : 읽기 O / 쓰기 O / 실행 X ]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우즈 프로세스의 각 쓰레드는 자신만의 스택 공간을 가지고 있고, 보통 지역 변수나 함수의 리턴 주소가 저장됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 스택에 대해서 '아래로 자란다' 라는 표현을 사용하는데, 이는 스택이 확장될 때, 기존 주소보다 낮은 주소로 확장되기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용 예) 지역 변수 , 함수의 인자 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 힙 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;[&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;권한 : 읽기 O / 쓰기 O / 실행 유동적 ]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;힙은 프로그램이 여러 용도로 사용하기 위해 할당받는 공간입니다. 스택과의 차이점으로는 큰 데이터를 저장할 수 있고 전역적으로 접근 가능하게 설계되었습니다. 또한 실행중 동적으로 할당받을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용 예) malloc, calloc 등으로 할당 받은 메모리&lt;/p&gt;</description>
      <category>개발/해킹</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/10</guid>
      <comments>https://ebebblog.tistory.com/10#entry10comment</comments>
      <pubDate>Mon, 29 Jan 2024 22:07:25 +0900</pubDate>
    </item>
    <item>
      <title>리버스 엔지니어링 (2)</title>
      <link>https://ebebblog.tistory.com/9</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;서로 다른 부품이 모여서 '컴퓨터'라는&amp;nbsp; 하나의 기계로서 작동할 수 있습니다 이를 컴퓨터 구조(Computer Architecture) 라고 부릅니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CPU가 사용하는 명령어와 관련된 설계를 명령어 집합구조 (Instruction Set Architecture, ISA)라고 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 유명하고 많이 사용되는 ISA가 x86-64 아키텍쳐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 컴퓨터에 필요한지 고민하고, 설계하는 분야입니다. 대표적으로 폰노이만 구조, 하버드 구조, 수정된 하버드 구조가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어 집합구조에는 ARM, MIPS, AVR, x86 및 x86-64 등이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CPU의 하드웨어적 설계는 마이크로 아키텍쳐(Micro Architecture)라고 부름&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현대적 컴퓨터의 기능 구조에 큰 영향을 끼쳤다고 평가받는 폰 노이만 구조와 명령어 집합 구조 중 x86-64 알아봄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;폰 노이만 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연산, 제어, 저장의 세 가지 핵심 기능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제어를 위해 중앙처리장치(Central Processing Unit, CPU), 저장을 위해 기억장치(memory) 사용함, 장치간에 데이터나 제어 신호를 교환할 수 있게 버스(bus)라는 전자 통로 사용함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 중앙처리장치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CPU의 연산을 처리하고 시스템을 제어하는 컴퓨터의 두뇌. 산술/논리 연산을 처리하는 산술논리자잋(Arithmetic Logic Unit, ALU)와 CPU를 제어하는 제어장치(Control Unit), CPU에 필요한 데이터를 저장하는 레지스터(Register) 등으로 구성됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 기억장치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;용도에 따라 주기억장치와 보조기억장치로 분류됨. 주기억장치는 프로그램 실행과정에서 필요한 데이터들을 임시로 저장하기 위해 사용됨 대표적으롬 램(Random-Access Memory, RAM)이 있습니다. 보조기억장치는 운영 체제, 프로그램 등과 같은 데이터를 장기간 보관하고자 할때 사용됨, 대표적으로 하드 드라이브(Hard DIsk Drive, HDD), SSD(Solid State Drive)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 버스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터 부품과 부품 사이 또는 컴퓨터와 컴퓨터 사이에 신호를 전송하는 통로를 말함. 데이터가 이동하는 데이터 버스(Data Bus), 주소를 지정하는 주소 버스(Address Bus), 읽기/쓰기를 제어하는 제어 버스(Control Bus)가 있음. 이 외에 랜선이나 데이터 전송을 목적으로 하는 소프트웨어, 프로토콜 등도 버스라고 불림&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1999년, AMD는 인텔의 32비트 CPU 아키텍처인 IA-32를 64비틀로 확장한 AMD64 아키텍처를 발표하였습니다. 이후 범용적이고 중립적으로 지칭되는 x86-64라는 명칭이 탄생하게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- n 비트 아키텍처&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'64비트 아키텍처', '32비트 아키텍처' 에서 64와 32는 CPU가 한번에 처리할 수 있는 데이터의 크기입니다. &lt;u&gt;CPU가 이해할 수 있는 데이터의 단위라는 의미&lt;/u&gt; 에서 &lt;b&gt;WORD&lt;/b&gt; 라고 부릅니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- WORD가 크면 유리한점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;32비트 아키텍처의 CPU가 제공할 수 있는 가상메모리의 크기가 작기때문, 32비트 아키텍처에서는 4,294,967,296바이트(=4기가 바이트)가 최대임, 반면 64비트 아키텍처에서는 이론상 16엑서 바이트(=16,777,216 테라바이트)의 가상메모리를 제공. 이는 웬만해서 완정한 사용이 불가능 할 정도로 큰 크기임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;레지스터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;레지스터는 CPU 내부의 저장장티로, 산술 연산에 필요한 데이터를 저장하거나 주소를 저장하고 참조하는 등 다영한 용도로 사용됨, x64 아키텍처에는 &amp;nbsp;&lt;b&gt;범용 레지스터(General Register), 세그먼트 레지스터(Segment Register), 명령어 포인터 레지스터(Instruction Pointer Register, IP), 플래그 레지스터(Flag Register)가 존재합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;= 범용 레지스터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;범용 레지스터는 주용도는 있으나, 그 외 임의의 용도로도 사용할 수 있음. x86-64에서 각각의 범용 레지스터는 8바이트를 저장할 수 있고, 부호 없는 정수를 기준으로 2^64 - 1 까지 나타낼 수 있습니ㅏㄷ.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;&lt;b&gt;이름&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;&lt;b&gt;주용도&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rax (accmulator register)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;함수의 반환 값&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rbx (base register)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;x64에서는 주된 용도 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rcx (counter register)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;반복문의 반복 횟수, 각종 연산의 시행 횟수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rdx (data register)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;x64에서는 주된 용도 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rsi (source index)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;데이터를 옮길 떄 원본을 가리키는 포인터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rdi (destination index)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;데이터를 옮길 떄 목적지를 가리키는 포인터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rsp (stack pointer)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;사용중인 스택인 위치를 가리키는 포인터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.25%;&quot;&gt;rbp (stack base pointer)&lt;/td&gt;
&lt;td style=&quot;width: 12.5%;&quot;&gt;스택의 바닥을 가리키니는 포인터&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;= 세그먼트 레지스터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x64 아키텍처에는 cs, ss, ds, es, fs, gs 총 6가지 세그먼트 레지스터가 존재하며, 각 레지스터의 크기는 16비트입니다. 세그먼트 레지스터는 x64로 아키텍처가 확장되면서 용도에 큰 변화가 생긴 레지스터입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거 IA-32, IA-16에서는 세그먼트 레지스터를 이용하여 사용 가능한 물리 메모리의 크기를 키울려고 했습니다. 예를 들어 IA-16에서는, 어떤 주소를 cs:offset라고 한다면, 실제로 cs&amp;lt;&amp;lt;4 + offset의 주소를 사용하여 16비트 범위에서 접근할 수 없는 주소에 접그날 수 있었습니다. 당시에는 범용 레지스터의 크기가 작아서 사용 가능한 메모리의 주소 폭이 좁았지만, x64에서는 넓기때매 이런 용도로는 사용되지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현대의 x64에서 cs, ds, ss 레지스터는 코드 영역과 데이터, 스택 메모리 영역을 가리킬 떄 사용되고 나머지는 운영체제가 용도를 결정 할 수 있습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;= 명령어 포인터 레지스터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기계어로 작성되어있는 코드에서 CPU가 어느 부분의 코드를 실행할지 가리키는게 명령어 포인터 레지스터의 역할입니다. x64 아키텍처의 명령어 레지스터는 rip이며, 크기는 8바이트입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;= 플래그 레지스터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플래그 레지스터는 프로세서의 현재 상태를 저장하고 있는 레지스터입니다. x64 아키텍처에서는 과거 16비트 에서 64비트로 확장된 RFLAGS라고 불리는 플래그 레지스터가 존재합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RFLAGS는 64비트이므로 64개의 플래그를 사용할 수 있지만, 일반적으로 20여개의 비트만 사용됩니다. 대표적인 플래그는 위 와 같습니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;플래그&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;CF (Carry Flag)&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;부호 없는 수의 연산 결과가 비트의 범위를 넘을 경우 설정 됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;ZF (Zero Flag)&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;연산의 결과가 0일 경우 설정 됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;SF (Sign Flag)&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;연산의 결과가 음수일 경우 설정 됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;OF (Overflow Flag)&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;부호 있는 수의 연산 결과가 비트 범위를 넘을 경우 설정 됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;= 레지스터 호환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x86-64 아키텍처는 IA-32의 64비트 확정 아키텍처이며, IA-32에서 CPU의 레지스터들은 32비트 크기를 가지며, 이들의 명칭은 eax, ebx, ecx, edx, esi, edi, esp, ebp였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rax, rbx, rcx, rdx, rsi, rdi, rsp, rbp가 이들의 확장 형태이며, eax, ebx등은 확장된 레지스터의 하위 32비트를 가르킵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) eax는 rax의 하위 32비트를 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 16비트 아키텍처 IA-16과의 호환을 위해 ax, bc, cx, dx, si, di, sp, bp는 eax, ebx등의 하위 16비트를 가르킵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 8비트 아키텍처과의 호환을 위해 ah, al, bh, bl, ch, cl , dh, dl는 ax, bx등의 하위 4비트를 2개로 쪼개 2비트를 가르킵니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) ah, al은 ax의 하위 4비트를 각각 2비트씩 가르킵니다&lt;/p&gt;</description>
      <category>개발/해킹</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/9</guid>
      <comments>https://ebebblog.tistory.com/9#entry9comment</comments>
      <pubDate>Mon, 29 Jan 2024 21:21:27 +0900</pubDate>
    </item>
    <item>
      <title>리버스 엔지니어링 (1)</title>
      <link>https://ebebblog.tistory.com/8</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;리버스 란?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리버스 엔지니어링이란 '리버스'라는 용어가 의미하듯이 과정을 거꾸로 하는 행위를 말합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 케이스에서 리버싱이 사용될 수 있습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 판매 된지 너무 오래되어 개발이 중단된 프로그램에 패치가 필요할떄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 프로그램의 보안성을 평가하거나 악성코드를 분석할떄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;컴퓨터 언어의 발전&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 컴퓨터과학자들은 컴퓨터에 명령을 내리기 위해 기계어(Machine Language) 라는 컴퓨터 언어를 정의했고 이것은 0과 1로 이루어져있어 사람이 이해하기 어려웠고 명령을 내리기에 비효율적이 었음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 사람이 이해하기 쉬운 새로운 언어로 어셈블리어(Assembly Language)를 고안했고 이를 기계어로 번역해주는 어셈블러(Assembler)를 개발함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 어셈블리어는 기계어에 비하면 효율적이었으나, 큰 큐모의 프로젝트에선 부족했습니다 그래서 C언어와 같은 사람들이 이해하기 쉬운 언어들이 만들어졌고 이것을 기계어로 번역해주는 컴파일러(Compiler)를 개발함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고급 언어(High-Level Language) = C, C++, Rust&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저급 언어(Low-Level Language) = 기계어, 어셈블리어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거에는 프로그램을 내부 저장 장치에 저장할 수 없어 천공 카드(Punched card)에 프로그램을 기록하여 재사용하는 방식을 사용했지만 매우 비효율적이었음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 단점을 해결한 Stored-Program Computer가 1950년경에 최초로 상용화 되었고 이로인해 프로그램을 메모리에 전자적, 광학적으로 저장할 수 있어 기존의 컴퓨터 보다 많은 프로그램을 저장할 수 있었음 이로서 오늘까지 Stored-Program Computer의 형태로 개발이 이루어지고있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 엔지니어들은 프로그램을 바이너리(Binary)라고 부르는데 이유는 프로그램이 저장 장치에 이진(Binary) 형태로 저장 되기 떄문이다. 다른데이터 값도 바이너리라고 부르긴 하지만 통상적으로 바이너리는 프로그램을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스코드를 컴퓨터가 이해할 수 있는 기계어 형식으로 번역하는 것을 컴파일(Compile)이라 하는데 대표적으로 GCC, Clang, MSVC등이 있다. 하지만 모든언어가 컴파일이 필요로 하는건 아니고 Python, Javascript등은 사용자가 작성한 스크립트들을 그때 번역하여 CPU에 전달하므로 이 동작이 통역과 비슷합니다 이를 인터프리팅(Interpreting)이라 부르고 이를 처리해주는 프로그램 역시 인터프리터(Interpreter)라고 부릅니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴파일(Compile)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 장점 : 결과물이 남아서 언제든 다시 읽을 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 단점 : 한 번 번역하는데 시간이 많이 필요하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인터프리터(Interperter)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 장점 : 스크립트의 실행결과를 빠르게 볼 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 단점 : 같은 코드여도 매번 인터프리팅을 거쳐야한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;컴파일 과정&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어로 작성된 코드는 위 과정을 통해 바이너리로 번역됩니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전처리(Preprocess) &amp;gt; 컴파일(Compile) &amp;gt; 어셈블(Assemble) &amp;gt; 링크(Link)&lt;/p&gt;
&lt;pre id=&quot;code_1705509265068&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// Name: add.c

#include &quot;add.h&quot;

#define HI 3

int add(int a, int b) { return a + b + HI; }  // return a+b&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1705509277296&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// Name: add.h

int add(int a, int b);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 전처리&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;= 소스 코드를 어셈블리어로 컴파일하기 전에, 필요한 형식으로 가공하는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 주석은 프로그램의 동작과 상관이 없으므로 전처리 단계에서 모두 제거됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 코드에서 #define 으로 정의한 메크로의 이름은 값으로 치환됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 여러 개의 소스와 헤더 파일은 전처리 단계에서 모두 합쳐집니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 컴파일&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;= 소스 코드를 어셈블리어로 번역하는 것입니다. 이 과정에서 소스 코드의 문법을 검사하는데, 코드에 문법적 오류가 있다면 컴파일을 멈추고 에러를 출력합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 컴파일러는 코드를 번역할 떄, 몇몇 조건을 만족하면 최적화 기술을 적용하여 효율적인 어셈블리 코드를 생성해줍니다. gcc에서는 -O -O0 -O1 -O2 -O3 -Os -Ofast -Og 등의 옵션을 사용하여 최적화를 적용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ex) 아래 코드를 최적화하여 컴파일 하면, 컴파일러는 반복문을 어셈블리어로 옮기는 것이 아니라, 반복문의 결과로 x가 가질 값을 직접 계산하여, 이를 대입하는 코드를 생성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1705601242455&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// Name: opt.c
// Compile: gcc -o opt opt.c -O2

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

int main() {
  int x = 0;
  for (int i = 0; i &amp;lt; 100; i++) x += i; // x에 0부터 99까지의 값 더하기
  printf(&quot;%d&quot;, x);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 어셈블&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;= 컴파일로 생성된 어셈블리어 코드를 해당 실행 환경에 목적 파일(Object file)로 변환하는 과정입니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- ELF형식 : 리눅스 / PE형식 : 윈도우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 목적 파일로 변환되고 나서는 어셈블리 코드가 기계어로 번역되므로 더이상 사람이 해석하기 어려워집니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. 링크&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;= 여러 목적 파일들을 연결하여 실행 가능한 바이너리로 만드는 과정입니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 만약 printf 함수를 호출하게되면 위 함수는 libc라는 공유 라이브러리에 존재합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- libc은 gcc의 기본 라이브러리 경로에 있는데, 링커는 바이너리라 printf를 호출하면 함수가 실행될 수 있도록 링크하는 역할을 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;디스어셈블&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바이너리를 분석하려면 바이너리를 읽을 수 있어야 하지만 컴파일된 프로그램은 기계어로 작성되어 이를 이해하기가 어렵습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 분석가들은 이를 어셈블리어로 재번역합니다. 이를 디스어셈블(Disassemble) 이라고 부릅니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;디컴파일&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디스어셈블로 바이너리를 분석하기는 쉬워졌지만, 여전히 큰 바이너리의 동작을 어셈블리 코드만으로 이해하기 어려웠습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 리버스 엔지니어들은 어셈블리어보다 고급 언어로 바이너리를 번역하는 디컴파일러(Decompiler) 를 개발하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어셈블리어와 기계어는 1대1로 매칭되어 오차없는 디스어셈블을 진행 할 수 있었지만, 고급 언어와 어셈블리어 사이에는 많은 과정을 통해 사용했던 변수나 함수의 이름등이 사리지거나, 코드의 일부분은 최적화와 같은 이유로 컴파일러에 의해 완전히 변형됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 어려움으로 원래와 동일한 소스 코드를 제공하지는 못하지만, 이 오차가 바이너리의 동작을 왜곡하지는 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근에는 Hex Rays, Ghidra 등의 뛰어난 디컴파일러들이 개발되어 분석의 효율을 더욱 높여주고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;정적 분석&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정적 분석(Static Analysis)은 프로그램을 실행시키지 않고 분석하는 방법입니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 전체구조를 파악하기 쉽습니다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 바이너리가 어떤 함수로 구성됐고 함수들은 서로 어떤 호출 관계를 갖는지, 어떤 API를 사용하고 어떤 문자열을 포함하는지 등을 종합적으로 살펴볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 분석 환경의 제약에서도 비교적 자유롭습니다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 실행을 전제로 하는 동적 분석을 윈도우 환경에서 apk를 대상으로 하기에는 다소 번거롭지만, 정적분석은 프로그램을 실행하지 않아도 되므로 분석을 지원하는 적절한 도구만 갖춘다면 시도할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 바이러스와 같은 악성 프로그램의 위협으로부터 안전합니다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 만약 바이러스를 동적 분석할 경우, 바이러스를 실제러 실행해야 하므로 자신의 컴퓨터가 감염될 우려가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 난독화(Obfuscation) 가 적용되면 분석이 매우 어려워집니다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 리버스 엔지니어링으로부터 보호하기 위해 난독화 기법을 적용합니다. 난독화가 적용되면 프로그램의 코드가 심하게 변형돼서 이를 읽고 실행 흐름을 파악하기 어려워집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 다양한 동적 요소를 고려하기 어렵습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 프로그램은 실행중에 어떤 함수가 특정 시점에 정확히 어떤 인자와 어떤 전역 변수를 가지고 실행될지는 정적으로 알기 어렵습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;동적 분석&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동적 분석(Dynamic Analysis)은 프로그램을 실행시키면서 분석하는 방법입니다&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 코드를 자세히 분석해보지 않고도 프로그램의 개략적인 동적을 파악할 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 동적 분석은 어떤 입력에 대한 개별 함수 또는 프로그램의 출력을 빠르게 확인할 수 있으므로, 이 출력값들을 기반으로 동작을 추론해 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 분석 환경을 구축하기 어려울 수 있습니다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 동적 분석은 프로그램을 실행하면서 분석하는 것이므로, 프로그램을 실행하지 못하면 동적 분석을 진행할 수 없습니다. 그래서 다른 환경의 프로그램을 동적 분석할때에는 그때에 맞는 환경을 구축해야하는데 과정에 따라 매우 번거롭고 어려울 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 또한 난독화 처럼 동적 분석에서도 이를 어렵게 하는 기법이 있는데 일종의 디버깅을 방해하는 안티 디버깅(Anti Debugging)입니다. 프로그램이 자신이 디버깅 당하고 있는지 검사하고, 디버깅 중이면 프로그램을 강제로 종료시키는 방법이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;컴파일(Compile) : 어떤 언어로 작성된 소스 코드(Source Code)를 다른 언어의 목적 코드(Object Code)로 번역하는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/해킹</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/8</guid>
      <comments>https://ebebblog.tistory.com/8#entry8comment</comments>
      <pubDate>Fri, 19 Jan 2024 03:52:50 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 명령어 정리</title>
      <link>https://ebebblog.tistory.com/7</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;오늘은 해킹의 기본적인 리눅스의 명령어에 대해서 정리해보고자 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;우리가 일상생활 사용하는것처럼 윈도우나, 맥을 사용할떄는 Graphical User Interface(&lt;b&gt;GUI&lt;/b&gt;)를 통해 다소 편리하게 사용하지만 보안을 공부하면서 전문적으로 사용하기 위해서는 Character User Interface(&lt;b&gt;CUI&lt;/b&gt;)를 사용하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. sudo apt update&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- apt 명령어로 설치 가능한 소프트웨어 패키지 목록을 업데이트합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. sudo apt upgrade&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 리눅스에 설치된 소프트웨어 패키지의 버젼을 업그레이드 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. id&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 현재 유저의 유저ID와 해당 유저가 속해있는&amp;nbsp; 그룹ID를 출력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. pwd&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Print Working Directory 줄임말로 현재 작업중인 디렉토리의 경로를 출력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. ls [플래그]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- List의 줄임말로 디렉토리의 내용을 출력하는 명령어입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- -l 플래그를 추가하여 &quot;ls -l&quot; 와 같이 실행하면 더 자세한 정보를 함께 출력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. cd [경로]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Change Directory의 줄임말로 작업중인 디렉토리를 변경합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 절대경로 : 루트 디렉토리 / 를 시작으로 모든 경로를 적어서 표현하는 경로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 상대경로 : 현재 디렉토리 기준으로 상위 디렉토리 또는 하위 디렉토리로 뻗어 나가는 경로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. mkdir [이름]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Make DIrectory의 줄임말로 디렉토리를 생성하는 명령어 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. touch [이름]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- touch 명령어는 비어있는 새로운 파일을 만드는데 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. mv [새로운 경로/이름] [현재 경로/이름]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Move의 줄임말로 파일이나 디렉토리 위치를 옮길 때 사용하는 명령어입니다. 또는 이름을 변경할때도 사용합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. rm {플래그} [이름]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Remove의 줄임말로 파일이나 디렉토리를 삭제합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 디렉토리는 &quot;-r&quot; 플래그를 추가한 &quot;rm -r&quot; 를 사용하여 삭제합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. cat [경로]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 파일의 내용을 출력하는 명령어입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. file [경로]&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 파일의 유형을 출력하는 명령어입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;13. echo [내용]&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 셸에 유저가 입력한 텍스트를 출력합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;14. cp {플래그} [파일명]&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Copy의 줄임말로 파일이나 디렉토리를 복사하는 명령어입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 디렉토리는 &quot;-r&quot; 플래그를 추가한 &quot;cp -r&quot; 를 사용하여 삭제합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;15. grep [문자열] [파일]&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 전체에서 특정 문자열을 찾을 떄 사용합니다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;16. man&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Manual의 줄임말로 특정 명령어의 메뉴얼을 보여주는 명령어 입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;17. curl [옵션] URL&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Client URL의 줄임말로 서버에 데이터를 보내거나 서버로부터 데이터를 받는 데이터 전송 명령어 입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- -o file&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 전송 받은 데이터를 파일에 저장합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- -i&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 결과 값에 HTTP 응답 헤더를 포함합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- -X &quot;method&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HTTP 요청 메소드를 지정합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- -d &quot;key=value&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HTTP POST 메소드로 데이터를 전송합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;18. 와일드 카드&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 와일드카드는 리눅스에서 임의의 다른 문자를 나타낼 수 있는 특수 문자를 의미합니다,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;? : a-z, 0~9 범위 내 임의의 1개 문자로 대체됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cat he?lo&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;* : &lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;a-z, 0-9 범위 내 임의의 0개 이상 문자로 대체됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;ex) cat h*&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;[] : [문자1-문자2] 혹은 [문자1, 문자2, &amp;hellip;] 형태로 범위를 지정합니다. 범위 내 모든 문자로 대체될 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;ex) ls test[0-9] ====&amp;gt; test1 test2 test3.....&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;19. 리다이렉션&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;&amp;nbsp;- 리다이렉션은 모니터에 나타나는 표준 출력 혹은 키보드로 입력하는 표준입력을 다른 곳으로 변경하는 작업입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;명령어 &amp;gt; 파일 : &lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;명령어 표준 출력을 파일로 변경합니다. 파일이 없으면 새로 만들고, 있으면 덮어씁니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;명령어 &amp;gt;&amp;gt; 파일 : &lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;명령어 표준 출력을 파일로 변경합니다. 파일이 없으면 새로 만들고, 있으면 이어서 씁니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;명령어 &amp;lt; 파일 : &lt;span style=&quot;background-color: #ffffff; color: #3f3f3f; text-align: left;&quot;&gt;명령어 표준 입력을 파일로 변경합니다. 파일로부터 표준 입력을 받아 명령어를 수행합니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;20. 파이프&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 파이프(pipe)는&amp;nbsp;리다이렉션의&amp;nbsp;한&amp;nbsp;형태로,&amp;nbsp;명령어&amp;nbsp;결과&amp;nbsp;표준&amp;nbsp;출력을&amp;nbsp;다른&amp;nbsp;명령어의&amp;nbsp;표준&amp;nbsp;입력으로&amp;nbsp;보낼&amp;nbsp;때&amp;nbsp;사용합니다.&amp;nbsp;파이프는&amp;nbsp;|&amp;nbsp;문자로&amp;nbsp;나타냅니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;21. 파일 및 디렉토리 권한&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;drwxrwxr-x : 권한 플래그 ==&amp;gt; d rwx rwx r-x&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- &lt;b&gt;d&lt;/b&gt; rwx rwx r-x&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;=&amp;gt; 파일의 타입을 나타냄. d는 디렉토리, - 는 일반 파일, l 은 바로가기와 같은 링크 파일&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;d &lt;b&gt;rwx&lt;/b&gt; rwx r-x&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;=&amp;gt; 소유자의 권한&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;d rwx &lt;b&gt;rwx&lt;/b&gt; r-x&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;=&amp;gt; 소유 그룹에 포함된 유저들의 권한&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;d rwx rwx &lt;b&gt;r-x&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;=&amp;gt; 나머지 유저들의 권한&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;권한을&amp;nbsp;나타내는&amp;nbsp;각&amp;nbsp;문자에&amp;nbsp;대한&amp;nbsp;설명은&amp;nbsp;다음과&amp;nbsp;같습니다.&lt;br /&gt;&lt;br /&gt;r: 소유자(또는 소유 그룹에 포함된 유저들 또는 그외 유저)가 파일 또는 디렉토리에 읽기(Read) 권한을 가집니다.&lt;br /&gt;w: 소유자(또는 소유 그룹에 포함된 유저들 또는 그외 유저)가 파일 또는 디렉토리에 쓰기(Write) 권한을 가집니다.&lt;br /&gt;x:&amp;nbsp;소유자(또는&amp;nbsp;소유&amp;nbsp;그룹에&amp;nbsp;포함된&amp;nbsp;유저들&amp;nbsp;또는&amp;nbsp;그외&amp;nbsp;유저)가&amp;nbsp;파일&amp;nbsp;또는&amp;nbsp;디렉토리에&amp;nbsp;실행(Execute)&amp;nbsp;권한을&amp;nbsp;가집니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;22. chmod 권한 파일명&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 파일 권한을 변경하는 명령어 입니다. root 유저 혹은 파일의 소유자만 실행가능합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;23. chown 사용자명[.그룹명] 파일명&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 파일 소유자 혹은 소유 그룹을 변경하는 명령어 입니다.&lt;/p&gt;</description>
      <category>개발/해킹</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/7</guid>
      <comments>https://ebebblog.tistory.com/7#entry7comment</comments>
      <pubDate>Sun, 14 Jan 2024 03:26:11 +0900</pubDate>
    </item>
    <item>
      <title>ExpressVPN 30일 무료로 받는법</title>
      <link>https://ebebblog.tistory.com/6</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;인터넷을 자유롭게 쓰고 싶은 신 분들, 중국에서 거주하면서 인터넷을 자유롭게 쓰시고 싶은 신 분들&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중국으로 여행 갈 예정인데 인터넷을 자유롭게 쓰지 못할까 봐 걱정되시는 분들 등등&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 분들에게 세계 1등 Express VPN을 소개합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EpressVPN을 간단하게 소개하자면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세계 1등 VPN에다가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다양한 기기에서 사용할 수 있습니다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;MacOS&lt;/b&gt;부터 시작하여&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Windows, Android&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;심지어&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;공유기&lt;/b&gt;까지 설치가 가능합니다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;ExpressVPN_logo.png&quot; data-origin-width=&quot;966&quot; data-origin-height=&quot;284&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7dH9M/btraoCWIU3a/8jiyIvvICdWKjxmbZByJGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7dH9M/btraoCWIU3a/8jiyIvvICdWKjxmbZByJGK/img.png&quot; data-alt=&quot;세계 1등 VPN&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7dH9M/btraoCWIU3a/8jiyIvvICdWKjxmbZByJGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7dH9M%2FbtraoCWIU3a%2F8jiyIvvICdWKjxmbZByJGK%2Fimg.png&quot; data-filename=&quot;ExpressVPN_logo.png&quot; data-origin-width=&quot;966&quot; data-origin-height=&quot;284&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;세계 1등 VPN&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;아래 링크를 통해 접속하셔서 구매하시면&lt;/span&gt;&lt;span&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;30일을 무료로&lt;/b&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;추가로 드립니다!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-5436f2a8-f2b3-40c7-a16c-08186ccc7078&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;b&gt;구매 후 30일 안에 아무 이유 없이 환불도 가능&lt;/b&gt;&lt;/span&gt;&lt;span&gt;하니 일단 구매하고 사용한 뒤에 결정하실 수도 있습니다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;a href=&quot;https://www.expressrefer.com/refer-a-friend/30-days-free?locale=kr&amp;amp;referrer_id=36004451&amp;amp;utm_campaign=referrals&amp;amp;utm_medium=copy_link&amp;amp;utm_source=referral_dashboard&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;30일 무료로 받으러 가기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.PNG&quot; data-origin-width=&quot;1404&quot; data-origin-height=&quot;665&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n34GP/btrakT6ujYw/QwDbYrKWOPoE7CypdooYI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n34GP/btrakT6ujYw/QwDbYrKWOPoE7CypdooYI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n34GP/btrakT6ujYw/QwDbYrKWOPoE7CypdooYI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn34GP%2FbtrakT6ujYw%2FQwDbYrKWOPoE7CypdooYI0%2Fimg.png&quot; data-filename=&quot;1.PNG&quot; data-origin-width=&quot;1404&quot; data-origin-height=&quot;665&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;위 링크를 타고 들어가서 &quot;&lt;b&gt;30일 무료 이용권 받기!&lt;/b&gt;&quot; 버튼을 클릭해줍니다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;1. 요금제 선택하기&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;2.PNG&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;643&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYODnq/btrasUveS2U/ZmH7E72x8oJEXDzfK3l2nK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYODnq/btrasUveS2U/ZmH7E72x8oJEXDzfK3l2nK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYODnq/btrasUveS2U/ZmH7E72x8oJEXDzfK3l2nK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYODnq%2FbtrasUveS2U%2FZmH7E72x8oJEXDzfK3l2nK%2Fimg.png&quot; data-filename=&quot;2.PNG&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;643&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이제 요금제를 선택해 주셔야 합니다! ExpressVPN은 3가지 요금제를 지원하는데요&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;첫 번째는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;1개월/월 12.95$&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;두 번째는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;15개월/월 6.67$&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;세 번째는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;6개월/월 9.99$&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하지만 ExpressVPN에서는 할부 결제를 지원하지 않기 때문에&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;15개월, 6개월 단위 요금제는 해당 기간의 금액을&amp;nbsp;한꺼번에 결제해야 된다는 부담감이 있습니다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하지만&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;ExpressVPN 30일 안에서 묻지 마 환불을 지원&lt;/b&gt;하기 때문에 한 달을 쓰시다가 마음에 들지 않으시다면&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환불할 수도 있습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;2. 이메일 입력하기&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;3.PNG&quot; data-origin-width=&quot;1078&quot; data-origin-height=&quot;422&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bz9sra/btraoay5AVI/jcM8XUK2zujKfKbDkdG5ck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bz9sra/btraoay5AVI/jcM8XUK2zujKfKbDkdG5ck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bz9sra/btraoay5AVI/jcM8XUK2zujKfKbDkdG5ck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbz9sra%2Fbtraoay5AVI%2FjcM8XUK2zujKfKbDkdG5ck%2Fimg.png&quot; data-filename=&quot;3.PNG&quot; data-origin-width=&quot;1078&quot; data-origin-height=&quot;422&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요금제까지 모두 선택을 완료하셨다면 로그인을 위한 이메일을 작성해주세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 결제수단 선택 및 정보 입력&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;4.PNG&quot; data-origin-width=&quot;1067&quot; data-origin-height=&quot;441&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/G6tDq/btrajpEkLf6/pLBd3xzfGK1SG4w4EgGOE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/G6tDq/btrajpEkLf6/pLBd3xzfGK1SG4w4EgGOE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/G6tDq/btrajpEkLf6/pLBd3xzfGK1SG4w4EgGOE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG6tDq%2FbtrajpEkLf6%2FpLBd3xzfGK1SG4w4EgGOE0%2Fimg.png&quot; data-filename=&quot;4.PNG&quot; data-origin-width=&quot;1067&quot; data-origin-height=&quot;441&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 후 결제를 진행해야 하는데&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;EpressVPN은 다양한 결제방식을 지원합니다&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;무려 비트코인까지요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 결제방식이 있지만 우리에게 친숙한 방법은 신용 카드인 것 같네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;5.PNG&quot; data-origin-width=&quot;704&quot; data-origin-height=&quot;778&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1aKhi/btrasT4asJG/vslpKvv5iBhBVmi9DwjQF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1aKhi/btrasT4asJG/vslpKvv5iBhBVmi9DwjQF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1aKhi/btrasT4asJG/vslpKvv5iBhBVmi9DwjQF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1aKhi%2FbtrasT4asJG%2FvslpKvv5iBhBVmi9DwjQF1%2Fimg.png&quot; data-filename=&quot;5.PNG&quot; data-origin-width=&quot;704&quot; data-origin-height=&quot;778&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신용카드 버튼을 클릭하셔서 신용카드 정보를 입력하시고 &quot;&lt;b&gt;지금 가입하세요&lt;/b&gt;&quot; 버튼을 누르면 모든 가입이 완료됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;단) 해외 결제가 가능한 카드를 가지고 계셔야 합니다 (ex MasterCard, VISA)&lt;/span&gt;&lt;/i&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;color: #000000;&quot;&gt;4. 비밀번호 생성하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위 단계까지 모두 마치시면 ExpressVPN이 생성한 강력한 보안의 암호를 사용할 것이냐 아니면&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;자기가 직접 입력한 비밀번호를 선택할 것이냐고 나옵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기서는 원하는 방식을 선택하시면 됩니다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저는 나중에 편리하게 이용하기 위해 직접 입력한 비밀번호를 사용 중입니다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;위 방식 과정을 모두 거치셨다면 축하드립니다!&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;당신은 자유로운 인터넷 생활을 즐길 준비가 되셨습니다!&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>기타정보</category>
      <category>expressvpn #</category>
      <category>ExpressVPN가격</category>
      <category>ExpressVPN구매</category>
      <category>ExpressVPN할인</category>
      <category>VPN</category>
      <category>VPN추천</category>
      <category>VPN할인</category>
      <category>인터넷</category>
      <category>인터넷검열</category>
      <category>중국</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/6</guid>
      <comments>https://ebebblog.tistory.com/6#entry6comment</comments>
      <pubDate>Sat, 24 Jul 2021 14:37:59 +0900</pubDate>
    </item>
    <item>
      <title>빠르고 간단하게 코인 투자 시작하기!</title>
      <link>https://ebebblog.tistory.com/5</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;최근 일론 머스크가 &lt;b&gt;도지코인&lt;/b&gt;을 언급하고, &lt;b&gt;비트코인으로 테슬라 차량&lt;/b&gt;을 구입할 수 있게 하면서&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;코인의 시장이 다시 열풍을 일으켰습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;하지만 코인시장이라는것이 워낙 가격도 빠르게 변화하다보니&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;24시간 모니터를 지켜보면서 매도 매입을 시도해야하는데 일반 직장인 분들은 그러기 힘드실거라고 생각합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;자동으로 매도 매입을 시도해서 돈을 벌어줄수있으면 좋겠다는 생각을 현실로 만든 비트코인 자동 투자봇&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;u&gt;코인봇24&lt;/u&gt;를 소개해 드릴려고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;&lt;a style=&quot;color: #409d00;&quot; href=&quot;https://coinbot24.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;코인봇 24 바로가기&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&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 alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QKBcX/btq4bKf7N77/NJ3OXhpKAI3JM3NePZGaMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QKBcX/btq4bKf7N77/NJ3OXhpKAI3JM3NePZGaMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QKBcX/btq4bKf7N77/NJ3OXhpKAI3JM3NePZGaMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQKBcX%2Fbtq4bKf7N77%2FNJ3OXhpKAI3JM3NePZGaMk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 다양한 코인이 상장되어있는 바이낸스 거래소 지원&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;u&gt;코인봇 24&lt;/u&gt;는 &lt;span style=&quot;color: #333333;&quot;&gt;기본적으로 &lt;/span&gt;&lt;b&gt;&lt;i&gt;약 335개의 코인이 상장되어있는 바이낸스 거래소&lt;/i&gt;&lt;/b&gt;를 지원하고 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;여러분이 알고있는 모든 알트코인이 다 있다고 생각하시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;또한 수수료도 0.1%정도로 빗썸, 코인원 보다 저렴합니다.&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 5초면 끝나는 봇 생성&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;미리 &lt;b&gt;바이낸스 API&lt;/b&gt;키를 등록하신 상태라면 봇 생성은 5초 밖에 안걸릴 정도로 간단합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;406&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhEcYO/btq4c19iKNc/8rvJLREs4FbYtqiUPmRZWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhEcYO/btq4c19iKNc/8rvJLREs4FbYtqiUPmRZWK/img.png&quot; data-alt=&quot;코인봇 봇 생성 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhEcYO/btq4c19iKNc/8rvJLREs4FbYtqiUPmRZWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhEcYO%2Fbtq4c19iKNc%2F8rvJLREs4FbYtqiUPmRZWK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;406&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;코인봇 봇 생성 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;자신이 봇의 설정을 자세하게 수정하고 싶으시다면 &lt;span style=&quot;color: #ee2323;&quot;&gt;( 추가 매수 %, 추가 매수 배수, 매도(손절) %, 매도(익절) % )&lt;/span&gt; 까지 직접 설정이 가능합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3. 텔레그램을 통한 실시간 알림 지원&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;u&gt;코인봇24&lt;/u&gt;는 텔레그램을 통해 봇의 매수 매도 정보를 &lt;b&gt;실시간&lt;/b&gt;으로 알려줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;이로 인해 자신의 봇이 어느 상태이며, 수익을 어느정도 냈는지 까지 알 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-filename=&quot;20210505-134649.jpg&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;1294&quot; width=&quot;316&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cK9Ssq/btq4dj2VUxw/ukD3LhQ5336KKNYZInKTe0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cK9Ssq/btq4dj2VUxw/ukD3LhQ5336KKNYZInKTe0/img.jpg&quot; data-alt=&quot;텔레그램 알림 지원&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cK9Ssq/btq4dj2VUxw/ukD3LhQ5336KKNYZInKTe0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcK9Ssq%2Fbtq4dj2VUxw%2FukD3LhQ5336KKNYZInKTe0%2Fimg.jpg&quot; data-filename=&quot;20210505-134649.jpg&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;1294&quot; width=&quot;316&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;텔레그램 알림 지원&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;여러분도 &lt;u&gt;코인봇24&lt;/u&gt;을 통한 성공적인 투자를 이끌어 나가시길 바랍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #409d00;&quot;&gt;&lt;a style=&quot;color: #409d00;&quot; href=&quot;https://coinbot24.com/&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;코인봇 24 바로가기&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>기타정보</category>
      <category>도지코인</category>
      <category>돈버는법</category>
      <category>비트코인</category>
      <category>일론머스크</category>
      <category>자동</category>
      <category>자동투자</category>
      <category>코인</category>
      <category>코인봇</category>
      <category>코인봇24</category>
      <category>투자</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/5</guid>
      <comments>https://ebebblog.tistory.com/5#entry5comment</comments>
      <pubDate>Wed, 5 May 2021 13:55:13 +0900</pubDate>
    </item>
    <item>
      <title>[예고편] 휴가철 걱정끝! 물고기 자동 밥주기 기계</title>
      <link>https://ebebblog.tistory.com/3</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-size: 14pt;&quot;&gt;물고기를 키우는 집이라면 휴가철에 가장 골치 아픈게 물고기 밥을 어떻게 줄지입니다 &lt;/span&gt;&lt;strike&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(아니면 말고요)&lt;/span&gt;&lt;/strike&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;그래서 제가 물고기 밥을 일정 날마다 주는 자동밥주기를 아두이노로 만들었는데 아직 버그도 많고 LCD 에 표시는것과 같이 구연되지 못한 것들이 있네요. 이번주 까지 잘 정리해서 그럼 물고기자동 밥주기를 공개해도록 하겠습니다. &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;기대하세요!&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;table cellspacing=&quot;5&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; width: 400px; height: 299px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9980FC455BA1F85729&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9980FC455BA1F85729&quot; width=&quot;400&quot; height=&quot;299&quot; filename=&quot;photo6129729780019472468.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 400px; height: 299px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 350px; width: 350px; height: 262px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9954E9455BA1F8572D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9954E9455BA1F8572D&quot; width=&quot;350&quot; height=&quot;262&quot; filename=&quot;photo6129729780019472469.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 350px; height: 262px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 350px; width: 350px; height: 262px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/990C4E455BA1F85835&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F990C4E455BA1F85835&quot; width=&quot;350&quot; height=&quot;262&quot; filename=&quot;photo6129729780019472470.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 350px; height: 262px;&quot;/&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: both; float: left;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>메이킹</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/3</guid>
      <comments>https://ebebblog.tistory.com/3#entry3comment</comments>
      <pubDate>Wed, 19 Sep 2018 16:28:06 +0900</pubDate>
    </item>
    <item>
      <title>상업용 무료 폰트 사이트 &amp;quot;눈누&amp;quot;</title>
      <link>https://ebebblog.tistory.com/2</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;안녕하세요 &lt;b&gt;에벱&lt;/b&gt;입니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;이번 시간에는 상업적으로도 사용이 가능한 폰트를 제공해주는 사이트 &quot;&lt;/span&gt;&lt;a href=&quot;http://noonnu.cc/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;눈누&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;를 소개해보도록하겠습니다&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://noonnu.cc/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;http://noonnu.cc/&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://noonnu.cc/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;눈누&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;는 &lt;span style=&quot;color: rgb(92, 209, 229);&quot;&gt;팀 눈누난나&lt;/span&gt;에서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(250, 250, 250); color: rgba(0, 0, 0, 0.87); font-family: NanumSquare, sans-serif; font-size: 12pt;&quot;&gt;2018년 1월 8일 와디즈에서 성공적으로 펀딩을 마치고&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.87); font-family: NanumSquare, sans-serif; font-size: 12pt; background-color: rgb(250, 250, 250);&quot;&gt;상업적으로 사용할 수 있는 무료 한글 폰트들을 모아놓은 서비스로, 필터링을 통해 자신이 원하는 모양의 폰트를 검색하고 자신이 쓰려고 하는 라이선스에&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;box-sizing: border-box; font-family: dotum; color: rgba(0, 0, 0, 0.87); font-size: 18px; background-color: rgb(250, 250, 250);&quot;&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.87); font-family: NanumSquare, sans-serif; font-size: 18px; background-color: rgb(250, 250, 250);&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;맞춰 폰트를 검색할 수 있습니다. 비영리 서비스로 무료로 사용할 수 있으며 후원금으로 운영되는 서비스 입니다. 또한 비영리로 운영이 되고 있기때문에 &lt;/span&gt;&lt;a href=&quot;https://www.tumblbug.com/99675ae6-40dd-4748-ac49-9a92c2667f58&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(0, 85, 255);&quot;&gt;펀딩&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;을 통해 &lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;후&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;원금을 모아 서비스를 이어가고&lt;/span&gt; 있다고 합니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.87); font-family: NanumSquare, sans-serif; font-size: 18px; background-color: rgb(250, 250, 250);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.87); font-family: NanumSquare, sans-serif; font-size: 12pt; background-color: rgb(250, 250, 250);&quot;&gt;처음에 목적은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: SpoqaHanSans, &amp;quot;Helvetica Neue&amp;quot;, Arial, Helvetica, sans-serif; font-size: 12pt; word-spacing: -0.5px;&quot;&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;상업적으로 이용할 수 있는 무료&amp;nbsp;한글폰트는 많지 않기도 하지만 잘 알려져 있지 않아 쓰이지 않는 경우가 많아서&lt;/span&gt;&amp;nbsp;잘 만들어졌지만 알려지지 않은 다양한 한글 폰트를 알리기 위해 위 서비스를&amp;nbsp;시작하게 되었다고 합니다&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: SpoqaHanSans, &amp;quot;Helvetica Neue&amp;quot;, Arial, Helvetica, sans-serif; font-size: 17px; word-spacing: -0.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997B994D5B9348B00E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997B994D5B9348B00E&quot; width=&quot;820&quot; height=&quot;406&quot; filename=&quot;홈페이지.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;i&gt;[메인 페이지]&lt;/i&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;하지만 &lt;u&gt;&lt;span style=&quot;background-color: rgb(255, 187, 0); color: rgb(255, 255, 255);&quot;&gt;모든 폰트가 다 상업용이용이 가능한것은 아니고&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 374px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994C72475B9349C205&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994C72475B9349C205&quot; width=&quot;374&quot; height=&quot;271&quot; filename=&quot;영리.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 378px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99FCAB475B9349C119&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99FCAB475B9349C119&quot; width=&quot;378&quot; height=&quot;274&quot; filename=&quot;비영리.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-size: 12pt;&quot;&gt;상단 우측에 점에 초록색이 아닌 노란색이 표기된다면 &lt;span style=&quot;color: rgb(31, 218, 17);&quot;&gt;&lt;b&gt;&lt;u&gt;조건 이용&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;이 가능하니 &lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;주의 &lt;/span&gt;&lt;/b&gt;하셔야 되겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;클릭해서 들어가면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995DEE495B934AFC37&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995DEE495B934AFC37&quot; width=&quot;820&quot; height=&quot;292&quot; filename=&quot;사이트 내.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;위 와 같은 화면이 뜨면서 기본 숙지 내용들이 뜹니다. 잘숙지하고 상단 좌측에 &lt;b&gt;&lt;u&gt;다운로드 아이콘&lt;/u&gt;&lt;/b&gt;을 누르시면 다운로드 페이지로 넘어가는데 다운로드는 폰트마다 다르므로 &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;^생략^&lt;/span&gt; 하겠습니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;정상적으로 설치하셔서 폰트 설치까지 프로그램까지 켜시면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/999C94445B934BF213&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F999C94445B934BF213&quot; width=&quot;820&quot; height=&quot;432&quot; filename=&quot;설치.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: SpoqaHanSans, &amp;quot;Helvetica Neue&amp;quot;, Arial, Helvetica, sans-serif; font-size: 12pt; word-spacing: -0.5px;&quot;&gt;위 와 같은 화면이 뜨면서 설치버튼을 누르시면 이제부터 설치가 가능해집니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;설치후 한글에서 작성해보니&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994B43435B934D040A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994B43435B934D040A&quot; width=&quot;820&quot; height=&quot;352&quot; filename=&quot;한글.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;정상적으로 설치가 된것을 볼수있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;여러분도 &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://noonnu.cc/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;눈누&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://noonnu.cc/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt; 사이트&lt;/a&gt;&lt;/b&gt;에 들어가보셔서 원하는 폰트를 다운받아보세요~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;http://noonnu.cc/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;http://noonnu.cc/&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그럼 전 이만 사라지도록..&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>기타정보</category>
      <author>리오's</author>
      <guid isPermaLink="true">https://ebebblog.tistory.com/2</guid>
      <comments>https://ebebblog.tistory.com/2#entry2comment</comments>
      <pubDate>Sat, 8 Sep 2018 13:23:22 +0900</pubDate>
    </item>
  </channel>
</rss>