π μ μ± μ μ½κ³ μ 리ν λ΄μ©μ λλ€.
1. 리λ²μ€ μμ§λμ΄λ§
리λ²μ€ μμ§λμ΄λ§(Reverse Engineering, Re: μ곡ν) : 물건μ΄λ κΈ°κ³μ₯μΉ νΉμ μμ€ν λ±μ ꡬ쑰, κΈ°λ₯, λμ λ±μ λΆμνμ¬ κ·Έ μ리λ₯Ό μ΄ν΄νλ©° λ¨μ μ 보μνκ³ μλ‘μ΄ μμ΄λμ΄λ₯Ό μΆκ°νλ μΌλ ¨μ μμ
2. 리λ²μ€ μ½λ μμ§λμ΄λ§
리λ²μ€ μ½λ μμ§λμ΄λ§(Reverse Code Engineering, RCE) : μννΈμ¨μ΄ λΆμΌμ 리λ²μ€ μμ§λμ΄λ§
2.1 리λ²μ±(λΆμ) λ°©λ²
1) μ μ λΆμ
- νμΌμ κ²λͺ¨μ΅μ κ΄μ°°νμ¬ λΆμνλ λ°©λ²
- μ μ λΆμ λ¨κ³μμλ νμΌμ μ€ννμ§ μμ
- νμΌμ μ’ λ₯, ν¬κΈ°, ν€λ(PE) μ 보, Import/Export API, λ΄λΆ λ¬Έμμ΄, μ€ν μμΆ μ¬λΆ, λ±λ‘ μ 보, λλ²κΉ μ 보, λμ§νΈ μΈμ¦μ λ±μ λ€μν λ΄μ©μ νμΈνλ κ²
- λμ€μ΄μ λΈλ¬λ₯Ό μ΄μ©ν΄μ λ΄λΆ μ½λμ κ·Έ ꡬ쑰λ₯Ό νμΈνλ κ²
2) λμ λΆμ
- νμΌμ μ§μ μ€νμμΌμ κ·Έ νμλ₯Ό λΆμνκ³ , λλ²κΉ μ ν΅ν΄ μ½λ νλ¦κ³Ό λ©λͺ¨λ¦¬ μν λ±μ μμΈν μ΄ν΄λ³΄λ λ°©λ²
- νμΌ, λ μ§μ€νΈλ¦¬, λ€νΈμν¬ λ±μ κ΄μ°°νλ©΄μ νλ‘κ·Έλ¨μ νμλ₯Ό λΆμ
- λλ²κ±°λ₯Ό μ΄μ©νμ¬ νλ‘κ·Έλ¨ λ΄λΆ ꡬ쑰μ λμ μ리λ₯Ό λΆμ
2.2 Source, Hex, Assembly code
Source Code
κ°λ°λꡬ(Visual C++)μμ μμ€μ½λλ₯Ό λΉλνλ©΄ .exe μ€ννμΌμ΄ μμ±λ¨
Hex Code
μμ±λ μ€ν νμΌμ μ»΄ν¨ν°κ° μ΄ν΄ν μ μλ 2μ§μ νμμΌλ‘ λμ΄μμ
2μ§μλ₯Ό 16μ§μ(Hex νμ)μΌλ‘ λ³νμν€λ©΄ 보기μ ν¨μ¬ μμνλ€.
Hex Editorλ binary νμμ νμΌμ hex νμμΌλ‘ 보μ¬μ£Όλ μ νΈλ¦¬ν°
Assembly Code
Hex Codeλ μ¬λμκ² μ§κ΄μ μΈ ννλ μλκΈ° λλ¬Έμ μ¬λμ΄ μ΄ν΄νκΈ° μ¬μ΄ μ΄μ λΈλ¦¬ μ½λλ‘ λ³ννλ€.
Ollydbgλ₯Ό μ΄μ©ν΄ .exe μ€ννμΌμ μ΄μ λΈλ¦¬ μ½λ ννλ‘ λ³Ό μ μμ
'Security > Reversing' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Reversing] 05. μ€ν (0) | 2021.11.26 |
---|---|
[Reversing] 04. IA-32 Register κΈ°λ³Έ μ€λͺ (0) | 2021.11.25 |
[Reversing] 03. 리ν μλμΈ νκΈ°λ² (0) | 2021.11.25 |
[Reversing] OllyDbg κΈ°μ΄ μ¬μ©λ² (0) | 2021.11.25 |
[Reversing] 02μ₯. Hello World! 리λ²μ± (0) | 2021.11.22 |