ν‹°μŠ€ν† λ¦¬ λ·°

κ°œμš”

GhidraλŠ” λ―Έ μ•ˆλ³΄κ΅­ "NSA"μ—μ„œ κ°œλ°œν•œ λ””μŠ€ μ–΄μ…ˆλΈ”λŸ¬ ν”„λ ˆμΈ μ›Œν¬λ‘œ 2019년도 3월에 κ³΅κ°œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 리버싱을 ν•˜λŠ” λΆ„λ“€κ»˜ 유λͺ…ν•œ IDA Pro에 λ²„κΈˆκ°€λŠ” κΈ°λŠ₯을 μ§€μ›ν•˜κ³  있기 λ•Œλ¬Έμ— λ§Žμ€ μ‚¬λžŒλ“€μ—κ²Œ μ‚¬λž‘μ„ λ°›κ³  μžˆλŠ” νˆ΄μž…λ‹ˆλ‹€. 개인적으둜 IDA보닀 둜직 νŒŒμ•…μ΄λ‚˜ λ””λ²„κΉ…ν•˜λŠ” 것에 μžˆμ–΄μ„œ μ’€ 더 κ°„κ²°ν•˜κ³  ν™•μΈν•˜κΈ°κ°€ νŽΈν•˜λ‹€κ³  μƒκ°λ˜μ„œ μœ μš©ν•˜κ²Œ 쓰일 것 κ°™μŠ΅λ‹ˆλ‹€.

 

ν•˜λ‹¨μ˜ 링크둜 μ ‘μ†ν•˜λ©΄ λ©”μΈνŽ˜μ§€μ™€ ν•¨κ»˜ λ‹€μš΄λ‘œλ“œν•  수 μžˆλŠ” νŽ˜μ΄μ§€κ°€ λ°”λ‘œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. μš°μ„  λ‹€μš΄λ‘œλ“œλ₯Ό μ§„ν–‰ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

 https://ghidra-sre.org/

 

Ghidra

Getting Help Ghidra provides context-sensitive help on menu items, dialogs, buttons and tool windows. To access the help, press F1 or Help on any menu item or dialog. Visit our Wiki Issue Tracker

ghidra-sre.org

 

κΈ°λ“œλΌλ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„  사전에 JDK 11 μ΄μƒμ˜ 버전을 μ„€μΉ˜ν•΄ 둬야 λ©λ‹ˆλ‹€. "Windows x64 Installer" 라인의. exe νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜κ² μŠ΅λ‹ˆλ‹€.

www.oracle.com/kr/java/technologies/javase-jdk11-downloads.html

λŒ€λΆ€λΆ„ ν•˜λ‚˜μ”© 가지고 κ³„μ‹œκ² μ§€λ§Œ λ‹€μš΄λ‘œλ“œλ₯Ό ν•˜λ €λ©΄ 였라클 계정이 ν•„μš”ν•˜λ‹ˆ μ—†μœΌμ‹  뢄듀은 μƒˆλ‘œ μƒμ„±ν•˜μ—¬ λ‘œκ·ΈμΈν•΄μ£Όμ‹œλ©΄ μžλ™μœΌλ‘œ λ‹€μš΄λ‘œλ“œκ°€ μ‹œμž‘λ©λ‹ˆλ‹€.

 

JDKμ„€μΉ˜ μ‹œ 별닀λ₯Έ μ„€μ • 없이 κΈ°λ³Έ κ°’ κ·ΈλŒ€λ‘œ Next 눌러 진행해 μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

 

μ„€μΉ˜λœ κΈ°λ³Έ jdk κ²½λ‘œλ‹€. ꡬ 버전 Ghidra의 경우 μ„€μΉ˜λœ JDK 경둜λ₯Ό μΆ”κ°€μ μœΌλ‘œ μž…λ ₯ν•΄μ€˜μ•Ό λ˜λŠ”λ° μ΅œμ‹  λ²„μ „μ˜ GhidraλŠ” JDKλ₯Ό μ„€μΉ˜λ§Œ 해도 μ•Œμ•„μ„œ μΈμ‹λ˜κ³  μ‹€ν–‰λ©λ‹ˆλ‹€.

 

μ²˜μŒμ— λ‹€μš΄λ‘œλ“œν•œ Ghidra μ••μΆ• νŒŒμΌμ„ ν•΄μ œν•˜λ©΄ghidraRun.batμ΄λΌλŠ” μ‹€ν–‰ κ°€λŠ₯ν•œ 배치파일이 μ‘΄μž¬ν•©λ‹ˆλ‹€. λ”λΈ”ν΄λ¦­ν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 

 

ghidraRun.bat을 더블 ν΄λ¦­ν•˜λ©΄ λΌμ΄μ„ΌμŠ€ λ™μ˜ κ΄€λ ¨ν•œ 창이 λ‚˜νƒ€λ‚˜λŠ”λ°.λ₯Ό λˆ„λ₯΄κ³  λ„˜μ–΄κ°€λ©΄ μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰λ©λ‹ˆλ‹€.

 

κΈ°λ“œλΌκ°€ μ‹€ν–‰λ˜κ³  역뢄석을 ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν”„λ‘œμ νŠΈ λ‹¨μœ„λ‘œ μ§„ν–‰λ˜κΈ° λ•Œλ¬Έμ— File -> New Projectλ₯Ό ν΄λ¦­ν•˜μ—¬ 생성해 μ€λ‹ˆλ‹€.

 

Ghidra의 ν”„λ‘œμ νŠΈλ₯Ό 톡해 뢄석을 진행할 λ•Œ λ‹€μˆ˜μ˜ 인원과 ν”„λ‘œμ νŠΈλ₯Ό κ³΅μœ ν•˜λ©΄μ„œ 진행할 수 μžˆμŠ΅λ‹ˆλ‹€.그렇지 μ•Šμ€ κ²½μš°μ—λŠ” Non-Shared Projectλ₯Ό 선택해 κ³΅μœ κ°€ λ˜μ§€ μ•Šλ„λ‘ μ„€μ •ν•˜λ©΄ λ©λ‹ˆλ‹€.

 

ν”„λ‘œμ νŠΈκ°€ μ €μž₯될 디렉토리λ₯Ό 선택해주고 이름은 μ–΄λ–€ 뢄석을 진행할지에 λŒ€ν•œ 식별을 ν•˜κΈ° μœ„ν•΄ 이름을 μ§€μ •ν•΄μ£Όμ‹œλ©΄ μΆ”ν›„ 뢄석 μ‹œ μ‰½κ²Œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

Finishλ₯Ό 클릭해주면 μžμ‹ μ΄ 지정해둔 μ΄λ¦„μœΌλ‘œ ν”„λ‘œμ νŠΈκ°€ μƒμ„±λ©λ‹ˆλ‹€. 이제 μžμ‹ μ΄ 뢄석을 진행할 λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ„λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ ν•˜μ—¬ μ§„ν–‰ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

 

λ“œλž˜κ·Έ μ•€ λ“œλ‘­λœ λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ„ 기본적으둜 동적 λΆ„μ„ν•˜μ—¬ μ–΄λ–€ νƒ€μž…μ˜ νŒŒμΌμΈμ§€ μ‚¬μš©μžμ—κ²Œ μ•Œλ €μ£Όκ³  일정 μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ 본격적으둜 뢄석을 ν•  수 μžˆλŠ” λ‘œμ§λ“€μ΄ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

κ³΅μœ ν•˜κΈ° 링크
Comment