snd-reversingwithlena-tutorial14.tutorial

min_fo·2023년 6월 6일
0

인라인 패치
인라인 패치는 코드를 직접 수정하기 어려울 때 간단히 코드 케이브(Code Cave)라고 하는 패치 코드를 삽입한 후 실행해 프로그램을 패치시키는 방법이다. 주로 대상 프로그램이 실행 압축되어 있어서 직접 수정하기 어려운 상황에 사용되는 기법이다.

위와 같은 그림에서 만약에 패치를 원하는 영역이 암호화된 영역에 있다면, 복호화 과정에서 그 값이 변질되므로 그냥 패치시켜서는 안 된다. 이와 같은 문제를 해결하기 위해서 복호화 과정 이후 Code Cave로 JMP 하여 원하는 패치를 진행한 후 OEP로 JMP 하는 방식을 이용할 수 있다.

풀이
1. 인라인 패치를 통해서 파일의 인증 코드를 건너뛰었다.
2. 찾기를 통해서 비어있는 부분을 찾는다.
3. 원하는 코드를 코딩한다.
4. jmp로 이동한뒤, 다시 jmp 원래 코드로 이동한다.
5. 참고로 메모리 부분을 봐서 코딩하는 부분이 접근 및 읽을 수 있는지 확인하여야 한다.

profile
포렌식을 공부하는 학생입니다.

0개의 댓글