λ°μ΄λ리 νμΌ, νμΌ μκ·Έλμ², PE μ ELF νμ
λ°μ΄λ리 νμΌ
: μ¬μ©μ λλ νλ‘κ·Έλ¨μ΄ μ¬μ©νλ μ 보λ μ«μ κ°μ νΉλ³ν κ°κ³΅ μμ΄ κ·Έλλ‘ μ μ₯ν κ²
λ°μ΄λ리 νμΌ λ΄μ©μ νμΈνλ €λ©΄ λ³λμ νλ‘κ·Έλ¨ λ±μ΄ νμνλ€.
λ§μ½ νμΌμ 34, 67, 97 μ μ λ³΄λ§ μ μ₯λμ΄μλ€λ©΄ λ¬΄μ¨ μλ―ΈμΈμ§ μ μ μμ§λ§,
κ·Έλ¦Όν, μ¬μ§ μ±κ³Ό κ°μ΄ μ¬μ§μ λ³Ό μ μλ νλ‘κ·Έλ¨μΌλ‘ λ³Έλ€λ©΄ λ€λ₯Έ μλ―Έλ₯Ό μ°Ύμ μ μλ€.
μ΄ ν¬μ€ν μ μ λͺ©μ μΊ‘μ³ν κ²μ μ μ₯νμλ€.
μ¬μ§ μ±μΌλ‘ μ΄ νμΌμ μ°λ€λ©΄
μ΄λ° κ²°κ³Όκ° λμ€μ§λ§, λ©λͺ¨μ₯μΌλ‘ μ΄μ΄λ³΄λ©΄
μ κ°μ κ²°κ³Όκ° λμ¨λ€.
κ·Έλ₯ λ΄μλ κ·Έ μ΄λ―Έλ₯Ό μ΄ν΄ν μ μλ 'μ°λ κΈ°' κ°μ΄ λμ¨λ€.
μ΄λ κ² exe, jpg, png, mp3, word λ±μ νμΌμ΄ λ°μ΄λ리 νμΌμ ν΄λΉνλ€.
μ°Έκ³ ) ν μ€νΈ νμΌ
ν μ€νΈ νμΌμ λ¬Έμλ₯Ό κΈ°λ°μΌλ‘ νλ νμΌλ‘, λ¬ΈμλΌλ κ°κ³΅ 쑰건μΌλ‘ μμ±λ νμΌμ΄λ€.
λ§μ½ ASCII / UTF-8 κΈ°λ°μ ν μ€νΈ νμΌμ΄λΌλ©΄ ASCII / UTF-8 νμμ λ¬Έμμ΄μ΄ μ μ₯λμ΄ μλ κ²μ΄λ€.
int a = 20000; λ₯Ό λ°μ΄λλ¦¬λ‘ μ μ₯νλ€λ©΄ 4 byte μ μ μ₯ν μ μμ§λ§
ν μ€νΈ νμΌμ μ μ₯νλ€λ©΄ λ λ§μ 곡κ°μ νμλ‘ νλ€.
νμΌ μκ·Έλμ² (file signature) (= file magic number)
: νμΌ νμλ§λ€ κ°μ§κ³ μλ κ³ μ μ νΉμ§, μ¦ ν¬λ§·μ λν μ 보μ΄λ€.
μ¦, νμΌμ νμλ§λ€ μ ν΄μ Έ μλ νΉμ ν byte λ€ μ΄λ€.
νμΌμ μ²μμλ§ μ‘΄μ¬νλ νμΌ ν¬λ§·λ μκ³ , λ§μ§λ§μ μ‘΄μ¬νλ νμΌ ν¬λ§·λ μλ€.
νμΌμ μ²μμ μλ μκ·Έλμ²λ ν€λ(Header) μκ·Έλμ²,
νμΌμ λ§μ§λ§μ μλ μκ·Έλμ²λ νΈν°(Footer or Tailer) μκ·Έλμ² λΌκ³ νλ€.
λ§μ½ ν€λμ νΈν° μκ·Έλμ²κ° λ€λ₯Έ νμμΌ κ²½μ°, νμΌμ λ¬Έμ κ° μκ±°λ μ‘°μλ νμΌμΌ κ°λ₯μ±μ΄ μλ€.
HxD νλ‘κ·Έλ¨μΌλ‘ μ½κ² νμΈν μ μλ€.
File Type | Header Signature (Hex) | Footer Signature (Hex) |
JPEG | FF D8 FF E0 FF D8 FF E8 |
FF D9 |
GIF | 47 49 46 38 37 61 47 49 46 38 39 61 |
00 3B |
PNG | 89 50 4E 47 0D 0A 1A 0A | 49 45 4E 44 AE 42 60 82 |
25 50 44 46 2D 31 2E | 25 25 45 4F 46 | |
ZIP | 50 4B 03 04 | 50 4B 05 06 |
ALX | 41 4C 5A 01 | 43 4C 5A 02 |
RAR | 52 61 72 21 1A 07 | 3D 7B 00 40 07 00 |
λ λ§μ νμΌ μκ·Έλμ²λ
-> https://en.wikipedia.org/wiki/List_of_file_signatures
-> https://www.garykessler.net/library/file_sigs.html
PE νμ (Portable Executable)
: μλμ° μ΄μ체μ μμ μ¬μ©λλ μ€ν νμΌ, object μ½λ λ±μ μν νμΌ νμ
μλμ° λ‘λκ° μ€ν κ°λ₯ν μ½λλ₯Ό κ΄λ¦¬νλ λ° νμν μ 보λ₯Ό μΊ‘μνν λ°μ΄ν° ꡬ쑰체μ΄λ€.
Windows 3.1 λΆν° μ§μλλ μ€ν νμΌ νμ
ELF νμ (Executable and Linkabel Format)
: μ λμ€ κ³μ΄ μ΄μ체μ (리λ μ€ λ±) μμ μ¬μ©λλ μ€ν νμΌ, object μ½λ λ±μ μν νμΌ νμ
- μ΄λ¬ν μ€ν νμΌμ ν΅ν΄ νλ‘κ·Έλ¨μ΄ μ¬μ©νλ API , DLL λ± λ€μν μ 보μ
μ΄λ λ©λͺ¨λ¦¬ μ£Όμμ λ‘λ©λλμ§λ₯Ό νμΈν μ μλ€.
- νμΌμ΄ μ€νλκΈ° μν λͺ¨λ μ 보λ₯Ό μ μ μλ€.
κ° νμΌ νμμλ νμΌ μμ±(Machine, NumberOfSections λ±)κ³Ό κ°μ μ λ³΄κ° μμΌλ©°
μ΄ μ 보λ€μ΄ κ°λ νμΌ μκ·Έλμ²λ‘ λΆμν μ μλ€.
μ°Έκ³ )
https://rednooby.tistory.com/33
.