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

ETC

IDA 의 ν•œκΈ€νŒŒμ‹±

🌧: 2021. 8. 30.

각쒅 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λΆ„μ„ν•˜κ±°λ‚˜ 진단할 λ•Œ νŠΉμ • ν•¨μˆ˜λ₯Ό μΆ”μΈ‘ν•˜μ—¬ 트레이슀 ν•˜κ±°λ‚˜ λ¬Έμžμ—΄ 검색을 톡해 포인트λ₯Ό μ°Ύμ•„μ•Ό λ©λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ΅­λ‚΄μ—μ„œ 개발된 μ œν’ˆμ„ μ΄μš©ν•˜λ‹€ 보면 λŒ€λΆ€λΆ„μ΄ "ν•œκΈ€"둜 이루어져 있기 λ•Œλ¬Έμ— IDA와 μœ μ‚¬ν•œ Ghidraμ—μ„œλŠ” ν•œκΈ€μ„ ν†΅ν•œ λ¬Έμžμ—΄ 검색이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이럴 λ•ŒλŠ” IDA의 κΈ°λŠ₯을 μ΄μš©ν•˜λ©΄ 보닀 μˆ˜μ›”ν•˜κ²Œ 탐색할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ§Œμ•½ IDA 7.0 μ΄ν•˜μ˜ 버전을 μ‚¬μš© μ€‘μ΄μ‹œλΌλ©΄ ν•œκΈ€ νŒŒμ‹±μ„ κ°€λŠ₯ν•˜κ²Œλ” 컬처파일(.clt)을 μΆ”κ°€ν•΄μ€˜μ•Ό λ©λ‹ˆλ‹€. μΆ”κ°€ 방법은 μ•„λž˜μ˜ 링크λ₯Ό 톡해 μ§„ν–‰ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

http://egloos.zum.com/shadowxx/v/11310107

 

ida ν•œκΈ€ string (character) μ œλŒ€λ‘œ μ½μ–΄μ˜€κ²Œ λ§Œλ“€κΈ°.

μš”μ¦˜ ν”„λ‘œκ·Έλž¨ 디버깅 μ°¨μ›μ—μ„œ λͺ‡κ°€μ§€ ν…ŒμŠ€νŠΈλ₯Ό ν•˜κ³  μžˆλŠ”λ° idaλ₯Ό μ‚¬μš©ν•΄μ„œ λͺ‡κ°€μ§€ ν”„λ‘œκ·Έλž¨λ“€μ„ 역곡학(reverse engineering) λ””μŠ€μ–΄μ…ˆλΈ”λ§μ„ ν•˜κ³  μžˆλ‹€. 그런데 이 ida λΌλŠ” λ†ˆμ΄ μ˜μ–΄κΆŒλ§Œ 주둜 지

egloos.zum.com

 

IDA 7.2 버전 μ΄ν›„λΆ€ν„°λŠ” korea.clt 파일이 기본적으둜 μΆ”κ°€λœ μƒνƒœλ‘œ 배포되기 μ‹œμž‘ν–ˆκΈ° λ•Œλ¬Έμ— 별닀λ₯Έ μž‘μ—…μ€ ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 7.2 버전 이상을 μ‚¬μš© 쀑인데도 ν•œκΈ€ λ¬Έμžμ—΄μ„ 확인할 수 μ—†λ‹€λ©΄ λ¬Έμžμ—΄μ„ ν•˜λ“œμ½”λ”©ν•΄λ‘μ—ˆκ±°λ‚˜, λ¦¬μ†ŒμŠ€ νŒŒμΌμ— μ €μž₯λ˜μ–΄ λ‚˜νƒ€λ‚˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

IDA ν•œκΈ€ 검색

λΆ„μ„ν•˜κ³ μž ν•˜λŠ” λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ„ Attach ν•˜λ©΄ μœ„μ™€ 같은 창이 λ‚˜νƒ€λ‚©λ‹ˆλ‹€. λ¬Έμžμ—΄μ΄ λ¦¬μ†ŒμŠ€ νŒŒμΌμ— μ €μž₯될 μˆ˜λ„ 있기 λ•Œλ¬Έμ— "Load resources" 뢀뢄에 체크λ₯Ό λˆ„λ₯΄κ³  μ§„ν–‰ν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

뢄석이 λλ‚œ ν›„ Shift + F12λ₯Ό λˆ„λ₯΄λ©΄ -> "String Window" 창이 λ‚˜νƒ€λ‚©λ‹ˆλ‹€. Ctrl + Fλ₯Ό 눌러 찾고자 ν•˜λŠ” λ¬Έμžμ—΄μ„ μž…λ ₯ν•΄μ„œ ν™•μΈν•΄μ£Όμ‹œλ©΄ λμž…λ‹ˆλ‹€.

 

λ¬Έμžμ—΄μ„ 더블클릭해주면 ν•΄λ‹Ή μ½”λ“œ μ˜μ—­μœΌλ‘œ ν¬μΈνŒ… λ©λ‹ˆλ‹€.

 

λ¬Έμžμ—΄μ„ λ”λΈ”ν΄λ¦­ν•˜μ—¬ ν¬μΈνŒ…μ„ μž‘μ•„μ£Όλ©΄ "Hex-View" 탭도 ν•¨κ»˜ μ›€μ§μ΄κ²Œ λ©λ‹ˆλ‹€. ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄ HEX 값을 μˆ˜μ • 및 μ €μž₯(F2)ν•˜μ—¬ 무결성 체크λ₯Ό ν™•μΈν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

μˆ˜μ •μ΄ λͺ¨λ‘ μ™„λ£Œλ˜λ©΄ 마우슀 포인터λ₯Ό μˆ˜μ •λœ μ˜μ—­μ— κ°€μ Έλ‹€ λ‘μ‹œκ³  Edit -> Patch program -> Apply patches to input file ν΄λ¦­ν•΄μ€λ‹ˆλ‹€.

 

μ €μž₯ν•˜κ³ μž ν•˜λŠ” λ°”μ΄λ„ˆλ¦¬ 파일λͺ…을 지정해도 되고 κΈ°λ³Έ κ°’ μƒνƒœλ‘œ OKλ₯Ό λˆ„λ₯΄μ…”도 μƒκ΄€μ—†μŠ΅λ‹ˆλ‹€. μˆ˜μ •λ˜κΈ° μ „μ˜ 원본 νŒŒμΌμ€. bak ν˜•μ‹μœΌλ‘œ μΉ˜ν™˜λ˜μ–΄ μžˆμ„ κ²λ‹ˆλ‹€.

 

μˆ˜μ •λœ λ°”μ΄λ„ˆλ¦¬λ₯Ό 톡해 λ‹€μ‹œ κ΅¬λ™μ‹œμΌœλ³΄λ©΄ μ„±κ³΅μ μœΌλ‘œ 변경이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

IDA Proλ₯Ό μ‚¬μš© μ€‘μ΄μ‹œλΌλ©΄ λ””μ»΄νŒŒμΌκΉŒμ§€ λ˜λ‹ˆ λ©”μΈμœΌλ‘œ μ‚¬μš©ν•˜μ…”λ„ μ’‹μ§€λ§Œ 그렇지 μ•Šμ„ 경우 μ„œλ‘œ(IDA/Ghidra)의 κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ 각각의 μž₯점을 μ‚΄λ¦°λ‹€λ©΄ 보닀 ν›Œλ₯­ν•œ λ¦¬λ²„μ„œκ°€ λ˜μ§€ μ•Šμ„κΉŒ μ‹ΆμŠ΅λ‹ˆλ‹€.

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