맀ν¬λ‘ μμ± μΈμ΄λ‘ λ§€μ° μ μ©ν AutoHotkey.
μ λ μ μ©νκ² μ μ¬μ©νκ³ μλλ°μ,
μμλ μ€νμμ€κ° λμΈμ΄κ³ νλ¦μ΄μ§λ§ λ³ΈμΈμ μμ¬κ³Ό μ©λμ λ°λΌμλ μΌλ§λ μ§
λΉκ³΅κ°λ‘ ν μ μλ λ²μ΄μ£ . νμ§λ§ AutoHotkey μ€ν¬λ¦½νΈλ λ©λͺ¨μ₯μΌλ‘λ§ μ΄μ΄λ³΄μλ
μ€ν¬λ¦½νΈ λλΆλΆμ λ³Ό μ μμ΅λλ€.
λ€λ₯Έ μΈμ΄λ€λ 리λ²μ€ μμ§λμ΄λ§(Reverse engineering)μ λ°©μ§νκ³ μ λ§μ κΈ°μ μ λμ νκ³€ ν©λλ€.
λ²μ μΌλ‘λ 리λ²μ€ μμ§λμ΄λ§μ λ§μ΄λ€ κΈμ§νκ³ μμ£ .
μ€ν ν«ν€μμλ μνΈν λꡬλ₯Ό μ€νμμ€λ‘ μ 곡νλ κ³³μ΄ μμ΅λλ€.
https://github.com/davidmalia/autohotkey-obfuscator
μ μ¬μ΄νΈμ μ μνμ μ
νμ΄λΌμ΄νΈ λ λΆλΆμ μ°¨λ‘λ‘ ν΄λ¦νμ¬(Clone or download -> Download ZIP) μ μ₯ ν μ λΉν κ³³μ μμΆμ νλλ€.
μμΆμ νλ©΄ λ€μκ³Ό κ°μ ν΄λ κ΅¬μ‘°κ° λμ¬κ²λλ€.
λ¨Όμ κ°λ¨ν ν μ€νΈλ₯Ό ν΄λ΄ μλ€.
ν μ€νΈλ₯Ό μν ν΄λλ₯Ό μ무곳μλ λ§λμκ³ , μμ ν΄λ μ€
example-obfuscated-programs\straightobfuscation
ν΄λμ λ€μ΄κ°μ
λ€μμ μΈ νμΌμ 볡μ¬ν©λλ€.
straightobf.ahk (μνΈν νκΈ° μν΄ λ―Έλ¦¬ μ€μ λ νμΌ)
straightobf_includemap.txt (μνΈνν .ahk νμΌ λͺ©λ‘)
straightofb_transMAP.txt (μνΈν κ²°κ³Όλ₯Ό μΆλ ₯ν νμΌ)
μ¬κΈ°μ straightobf_includemap.txtμ λ¨Όμ μ½λλ€.
κ·Έλ¦¬κ³ λ³ΈμΈμ΄ 볡μ¬ν΄λ ν΄λ κ²½λ‘μ λ§μΆμ΄ μ€μ ν©λλ€.
μ κ²½μ°μ μμ κ°μμ΅λλ€.
κ·Έλ¦¬κ³ dynamicobfuscator-source-code\dynamicobfuscator.ahk λ₯Ό μ€νν©λλ€.
(μ€ν ν«ν€λ μ€μΉνμ ¨λ€λ κ°μ νμ μ§νν©λλ€. : http://ahkscript.org/download/ahk-install.exe )
μμ κ°μ νλ©΄μ΄ λ¨μ£ ?
μ°¨λ‘λ‘ λ²νΌμ ν΄λ¦ν΄λ΄
μλ€. λ¨Όμ Create Translation Map μ ν΄λ¦ν©λλ€.
μκΉ μ€μ νλ ν΄λμ νμΌκ²½λ‘λ₯Ό μ°¨λ‘λ‘ μ
λ ₯ν΄μ€μλ€.
λ€μμ μλλ λ§λ€κΈ° λ²νΌμ΄μμ μ΄λ¦¬λ μ°½ μκΈ°λκ±° μλλλ€. μ ννκ² μ
λ ₯νμΈμ.
μ λλ‘ μ λ ₯νμ ¨μΌλ©΄ Create Translation Map λ²νΌμ ν΄λ¦!
λ€μ 첫 νλ©΄μΌλ‘ λμμμ΅λλ€.
μ΄μ μνΈν λͺ λ Ήμ λ΄λ¦΄ μ°¨λ‘μ£ . Obfuscate Source Code λ²νΌ ν΄λ¦!
μ΅μ’ μμ±λ μνΈν νμΌ λͺ λ§ μνλ κ²½λ‘λ‘ μ§μ νκ³
Obfuscate Program λ²νΌ ν΄λ¦!
μ΄μ μμ±μ΄ λ€ λμλ€λ λ©μμ§κ° λΉλλ€.
ν΄λλ‘ λμκ° μμ±λ .ahkνμΌμ μ΄μ΄λ΄ λλ€. (μ€ν ν«ν€ μ€μΉλμ΄μμμ λλΈν΄λ¦νμ¬ μ€ν)
μλ³Έ .ahk νμΌμ μ€ννμ λμ κ°μ λͺ¨μ΅μ
λλ€. κ·Έλ λ€λ©΄ νμΌ λ΄λΆλ μ΄λ¨κΉμ?
κ΅μ₯ν λλ½κ² μνΈνκ° μ λμ΄μλ κ²μ νμΈνμ€ μ μμ΅λλ€.
μ΄λ² Tutorialμ κ²½μ°λ μνΈνμ μμΈν λ°©λ²μ μ€λͺ νμ§ μκ³ μ΄λ»κ² μ¬μ©νλμ§λ§ μμ보μμ΅λλ€.
μ€μ λ‘ μ΄ μνΈνλ νκ²μΌλ‘ μ μ ν μ€ν¬λ¦½νΈ νμΌμ λ€μκ³Ό κ°μ μ£Όμμ λ£μμΌλ‘μ¨ λ³νμ΄ μ΄λ£¨μ΄μ§λλ€.
μ΄ λ΄μ©μ μ€μΉ ν΄λμ documentationν΄λμ index.htmlμ μ€ννμ¬ λ°λΌκ°λ©° λ³΄μ€ μ μμ΅λλ€.
λ€λ§ μμ΄μ μλ°μΌλ‘ μΈν΄ μ΄λ €μΈ μλ μλ€κ³ λ΄ λλ€.
μ λ μμ§ μ΄λ³΄μ μΈ μμ€μ΄μ§λ§ Straight Obfuscation Steps μΌλ‘ λΆλ¦¬λ 첫λ²μ§Έ λ¨κ³λ μ½κ² λ°λΌνμ€ μ μμ΅λλ€.
μμ½ :
μμ€ μ½λ 맨 μμ λ€μκ³Ό κ°μ μ£Όμμ λΆμΈλ€.
;$OBFUSCATOR: $FUNCS_CHANGE_DEFAULTS: ,, -1
;$OBFUSCATOR: $PARAMS_CHANGE_DEFAULTS: ,, -1
;$OBFUSCATOR: $LABELS_CHANGE_DEFAULTS: ,, -1
;$OBFUSCATOR: $GLOBVARS_CHANGE_DEFAULTS: ,, -1
;$OBFUSCATOR: $LOSVARS_CHANGE_DEFAULTS: ,, -1
μμ€ μ½λ λ§μ§λ§ return λ€μμ λ€μκ³Ό κ°μ μ£Όμμ λΆμΈλ€.
;$OBFUSCATOR: $END_AUTOEXECUTE:
λ무 μ½κ² μμ½ν κ±° μλκ° μΆμ§λ§ νλ² ν μ€νΈν΄λ³΄μκΈ° λ°λλλ€ ^^;
κ·ΈλΌ μ¬κΈ°μ λ§λ¬΄μΌλ¦¬!
λκΈ