μν° λ¦¬λ²μ± :: 03 - μν° λλ²κΉ μμ
μν° λλ²κΉ μ λν κ°λ¨ν μμ λ₯Ό νλ μ΄ν΄λ³Ό κ²μ΄λ€.
μμ λ¬Έμ λ lena μ κ°μ’ 19νΈ Debugger detected and anti-anti-techniques μ€ ReverseMe.A μ΄λ€.
(https://forum.tuts4you.com/files/file/1307-lenas-reversing-for-newbies/)
ReverseMe.A
κ·Έλ₯ μ€νμν€λ©΄
μ΄ λ¨μ§λ§, ollydbg λ‘ λλ²κΉ μ μμνλ©΄
μ΄ λ¬λ€.
λλ²κ±°λ‘ μ€ννκ³ μλ€λ κ²μ κ°μ§νκ³ , λ€λ₯Έ λ©μμ§λ₯Ό μΆλ ₯νλ κ²μ΄λ€.
ν¨μ CALL μ μ΄ν΄λ³΄λ©΄ IsDebuggerPresent ν¨μλ₯Ό νΈμΆνλ κ²μ λ³Ό μ μλ€.
IsDebuggerPresent ν¨μ : https://docs.microsoft.com/en-us/windows/win32/api/debugapi/nf-debugapi-isdebuggerpresent
- 리ν΄κ° : λλ²κ±°λ‘ μ€ννλ€λ©΄ 0 μ΄ μλ κ°, λλ²κ±°λ‘ μ€νμ€μ΄μ§ μμΌλ©΄ 0 μ 리ν΄
μ¦, μ΄ ν¨μκ° λλ²κ±°λ₯Ό κ°μ§νκ³ 1μ 리ν΄νμ¬ "keyfile is not valid. Sorry." λ₯Ό μΆλ ₯νλ κ²μ΄λ€.
μ΄λ₯Ό ν΄μ²΄νκΈ° μν΄μ , ν¨μ νΈμΆ λ΄λΆλ‘ λ€μ΄κ°μ EAX μ 0 μ λ£μ΄μ£Όλ©΄ λλ€.
λλ²κ±°λ₯Ό ν΅ν΄μλ μ΄ λ©μμ§ μΆλ ₯ μ±κ³΅ ~
λ€λ₯Έ λ°©λ²μΌλ‘λ IsDebeggerPresent ν¨μ νΈμΆ μ체λ₯Ό 무ν¨νμν€κ±°λ (NOP),
νΉμ 00401103 μ JE λ₯Ό JNZ λ‘ ν¨μΉν΄λ λλ²κΉ μ ν μ μλ€. (λ€λ§ κ·Έλ₯ νμΌμ μ€ννλ©΄ λ°λμ κ²°κ³Όκ° λμ¬ λΏ..)