Frida와 친해지기 위해 메모장을 후킹하는 방법을 설명드립니다.
Step 1. 문제를 확인하였습니다.
Step 2. 프로그램을 실행하였습니다.
Step 3. 문자열 저장은 WinAPI32 Import 함수중에 WriteFile를 사용하는 것을 확인하였습니다.
Step 5. Frida를 사용하여 Notepad 후킹을 시도하였습니다.
WriteFile 함수는 메모장 저장을 실행 시 실행되는 함수로
Ctrl+S 입력 시 후킹이 걸리는 것을 확인하였습니다.
Step 6. Frida 후킹 코드를 확인하였습니다.
코드 분석
Memory.readUtf8String으로 메모리의 문자열을 읽어와 변수에 저장합니다.
replaceAll 함수를 사용함으로 변수에 저장된 모든 문자열을 hi -> hello로 변조합니다.
Memory.writeUtf8String으로 args[1] 인자 값에 변조된 문자열을 메모리에 쓰기를 시도합니다.