728x90
728x90
728x90

파일 링크: https://tuts4you.com/e107_plugins/download/download.php?list.17

 

Downloads / Lenas Reversing for Newbies - Tuts 4 You

 

tuts4you.com

Tutorials Index: 06. "The plain stupid patching method", searching for textstrings

사용도구: 올리디버거 2.01

 

Lena's Reversing for Newbie 06(이하 원본파일) 분석해보자.

 

[사진 1]

원본파일을 실행하면 에러가 난다. 뭔가 이상해서 구글링을 해보니 내 실습 환경(윈도우 8)에서 정상적으로 실행되지 않는 것 같다. 일단 확인 버튼을 클릭해봤다.

 

 

[사진 2]

그러면 위와 같이 Setup 창이 뜨는데 살펴보니 특이한 것은 없는 것 같아서 Save 버튼을 클릭해 진행했다.

 

 

[사진 3]

또 에러가 뜬다...

 

[사진 4]

프로그램 창이 떴는데 정상적으로 실행된 것인지는 모르겠다. 상단 메뉴 중 Help - About 기능을 클릭해보자.

 

 

[사진 5]

위와 같이 프로그램에 대한 내용과 체험판이라는 정보가 있다. 그리고 Reg Key를 등록하는 버튼도 있다.

 

 

[사진 6]

code 섹션에서 우클릭 - Search for - All referenced strings 기능을 클릭하면 위와 같이 사용되는 문자열을 확인할 수 있다. 먼저 "unregistered" 문자열로 검색해봤다.

 

 

[사진 7]
[사진 8]
[사진 9]

"unregistered" 문자열이 사용되는 곳이 3개 있는데, 내 실습 환경에서 프로그램이 정상적으로 실행되지 않아서 확인이 안되는 것 같다.

 

 

[사진 10]

다음은 "Unregister" 문자열을 검색해봤다.

 

 

[사진 11]
[사진 12]

"Unregister" 문자열은 2번 사용되는데, [사진 12]는 [사진 5]에서 확인했던 Help - About 기능에서 사용되는 부분이다.

 

 

[사진 13]

"<Unregistered Version>" 문자열 주소를 EDX 레지스터에 저장하고 0x000479DA4 함수를 호출하는데, [사진 5]의 기능을 호출하는 것이라고 가정했다.

 

 

[사진 14]

[사진 13]의 코드 윗 부분을 보면 JNE 명령어로 조건문을 보고 점프하고 있다.

 

 

[사진 15]

이 명령어를 JMP 명령어로 패치하여 무조건 점프하도록 하면 [사진 5]의 창을 띄우는 함수를 호출하지 않는다.

 

 

[사진 16]

그리고 실행시키면 위와 같이 정품? 인증되었다는 메시지가 출력되고 Reg Key를 등록하는 버튼도 사라졌다.

 

정상적으로 프로그램이 실행되지 않은 것 같아서 찝찝하다

728x90
728x90

+ Recent posts