Security/리버싱
[바이너리 진단] 바이너리 코드패치 하는 방법.
YPrefer
2016. 11. 28. 13:35
코드패치 하는 방법은 여러가지가 있는데, IDA를 통해서 하는 방법을 알아보자.
IDA Option을 아래와 같이 설정해 준다.
중요한 부분이 Number of opcode bytes 인데 이것을 6byte로 해주면 OPCODE에 해당하는 HEX값을 확인할 수 있다.
위와 같이 옵션값을 설정해주면 아래처럼 HEX값을 확인 할수있는데,
오른쪽 버튼의 Syncronized With를 HEXVIEW와 연동해 주고, HexVIEW를 들어가면 자동으로 해당 HEX값의 위치를 찾아준다.
여기서 F2를 누르면 HEX값을 수정할 수 있고, 다시 F2는 누르면 수정한 값이 적용된다.
적용된 화면이다.
0F 85 (JNZ) 를 0F 84(JZ)로 코드패치 하여 바뀐 것을 볼 수 있다.
적용된 값은 Ctrl + W를 눌러 다른이름으로 저장을 하면, 변경이 적용된 바이너리가 새로 저장된다.
다른 방법으로는 OP CODE를 HEX값을 알아내어 WINHEX나 010EDITOR와 같은 hexviewer를 통해 열어 직접 수정해주는 방법도 있다.