코드패치 하는 방법은 여러가지가 있는데, 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를 통해 열어 직접 수정해주는 방법도 있다.
'Security > 리버싱' 카테고리의 다른 글
[경험공유] 리버싱으로 010 Editor 30일 제한 우회하기! :) (3) | 2016.06.01 |
---|