본문 바로가기
Malware/윈도우즈 보안과 악성코드 기초

[악성코드] 3주차, 문자열 패치 실습

by Y06 2021. 11. 19.

첫 번째 방법, 문자열 버퍼를 직접 수정

먼저, 메인 화면으로 들어간다.

문자열을 변화할 titleDump Window에서의 위치를 파악한다.

Dump Window에서 [ctrl] + G를 통해 해당 문자열이 있는 위치로 이동한다.

해당 문자열을 확인하였다.

[ctrl] + E를 통하여 해당 문자열을 수정한다.

수정된 모습이다. 다음으로는 수정이 잘 되었는지 확인해야 한다.

이제 Debug -> Run을 클릭하여 변경된 모습을 확인한다.

 

두 번째 방법, 다른 메모리 영역에 새로운 문자열을 생성 전달

[Ctrl] + G 명령어를 통하여 문자열 저장 장소로 이동한다.

NULL Padding 영역을 확보한다.

[Ctrl] + E 명령어를 통하여 변경하고 싶은 문자열 저장

문자열을 변경한 후, 변경한 문자열의 첫 시작 주소를 기억해야 한다. 이 주소로 우리는 어셈블리 언어를 수정할 것이다.

 

빨간색으로 표시한 부분을 더블 클릭하면 위와 같은 Assemble이 뜨는데 이 부분에 아까 우리기

NULL Padding에서 저장한 값을 넣어준다.

 

값을 넣어주면 이와 같이 문자열이 변경된다.

 

Debug -> Run을 눌러 실행하면 위와 같이 변경된 모습을 볼 수 있다.

 

 

 

 

첫 번째 방식의 경우 변경한 데아터를 저장할 수 있지만 두 번쨰 방식의 경우 저장할 수 없다.