위와같이 hello를 출력하느 프로그램을 만들어보자
잘 실행된다.
이제 이 프로그램이 hello가 아닌 다른 문자를 출력하도록 만들어보자
우선 main함수가 구동되는 코드를 찾아야한다
검색을 통해 printf를 참조하는 부분을 찾아내거나 hello라는 문자열을 찾으면 쉽게 main함수를 찾아낼 수 있다
이제 이 hello라는 값이 담겨져있는 404000이라는 주소를 찾아가보자
물론 404000이라는 주소를 다른 주소로 바꾸면 hello가 아닌 문자열을 출력할 수 있지만
원하는 문자열을 출력하기 위해서 찾아가보자
우리가 원하는 데이터가 존재한다
다른값으로 바꾸어보자
abcd로 바꾸어보았다
다시 코드영역을 살펴보니 주소안에 담긴 데이터가 abcd로 바뀐것을 친절하게 보여준다
이제 앞으로 이 프로그램이 실행될 때 계속 바뀌어서 나오도록 저장해보자
여기서 파일패치를 눌러주어 다른 이름으로 저장하게되면 아래와 같이 원하는대로 바뀐 프로그램이 만들어진다
'Study > reversing' 카테고리의 다른 글
API (0) | 2017.08.24 |
---|---|
리틀 엔디언 & 빅 엔디언 (0) | 2017.08.24 |
어셈블리어 명령어에 대해 알아보자 (0) | 2017.08.22 |
레지스터에 대해 알아보자 (0) | 2017.08.21 |
어셈블리어에 대해 알아보자 (0) | 2017.08.21 |