-
[2021/02/23][짤막한 이야기 - 공학 & 역공학]짤막한 이야기 2021. 2. 23. 16:23728x90반응형
[2021/02/23][짤막한 이야기 - 공학 & 역공학]
기능성과 명세를 가지고 소프트웨어를 구성하는 과정을 “소프트웨어 공학”이라고 한다.
반대로 소프트웨어에서 기능성과 명세를 파악하는 과정을 “소프트웨어 역공학”이라고 한다.
오늘은 소프트웨어 생성 과정에서의 공학과 역공학을 이야기하려고 한다.
그전에 잠깐, “소스코드”는 이른바 “원시코드”라고도 불리며, “바이너리”는 이른바 “목적코드”라고도 불린다.
(※ 단, 영문으로는 소스코드와 원시코드 모두 Source Code로 표기된다.)
원시코드를 입력으로 하여 목적코드를 출력하는 과정을 “컴파일”이라고 한다.
반대로 목적코드를 입력으로 하여 원시코드를 출력하는 과정을 “디컴파일”이라고 한다.
원시코드와 목적코드 사이에는 중간 정도의 입장인 언어가 하나 더 있는데, 이를 “어셈블리어”라고 부른다.
어셈블리어를 입력으로 하여 목적코드를 출력하는 과정을 “어셈블”이라고 한다.
반대로 목적코드를 입력으로 하여 어셈블리어를 출력하는 과정을 “디스어셈블”이라고 한다.
여기에서 한 가지를 알 수 있다.
어떤 과정에 “디-” 혹은 “디스-”라는 접두사가 붙으면 그 단어의 본질은 역공학에 가깝고, 그렇지 않으면 공학에 가까워진다는 것이다.
다음 영상에서는 "손으로 디컴파일하기"라는 주제를 다뤄보고자 한다.
#이야기 #루니프 #공학 #역공학 #원시코드 #목적코드 #어셈블리어 #컴파일 #디컴파일 #어셈블 #디스어셈블
[2021/02/23][Short Story - Engineering & Reverse Engineering]
The process of constructing software with functionality and specifications is called “Software Engineering”.
Conversely, the process of grasping functionality and specifications in software is called "Software Reverse Engineering".
Today, I am going to talk about engineering and reverse engineering in the software creation process.
Just a moment before that, the “Binary” is also called “Object Code”.
The process of outputting object code using source code as input is called "Compile".
Conversely, the process of outputting source code using object code as input is called "Decompile".
There is one more language that is intermediate between source code and object code, which is called “Assembly”.
The process of outputting object code using assembly as input is called “Assemble”.
Conversely, the process of outputting assembly language using object code as input is called "Disassemble".
One thing can be known here.
When a process is prefixed with "De-" or "Dis-", the essence of the word is closer to reverse engineering, otherwise it is closer to engineering.
In the next video, I will cover the topic of "Decompiling by Hand".
#Story #LootNiP #Engineering #ReverseEngineering #SourceCode #ObjectCode #Assembly #Compile #Decompile #Assemble #Disassemble728x90반응형'짤막한 이야기' 카테고리의 다른 글
[2021/02/25][짤막한 이야기 - 제어흐름 평탄화] (0) 2021.02.25 [2021/02/24][짤막한 이야기 - 안티디스어셈블] (0) 2021.02.24 [2021/02/18][짤막한 이야기 - 동적 분석 & 정적 분석] (1) 2021.02.18 [2021/02/15][짤막한 이야기 - 충돌 저항성 & 메시지 인증] (0) 2021.02.15 [2021/02/10][짤막한 이야기 - 역상 저항성 & 개체 인증] (0) 2021.02.10