Lena's Reversing for Newbie 06 Write-Up
파일 링크: 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(이하 원본파일) 분석해보자.

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

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

또 에러가 뜬다...

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

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

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



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

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


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

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

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

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

그리고 실행시키면 위와 같이 정품? 인증되었다는 메시지가 출력되고 Reg Key를 등록하는 버튼도 사라졌다.
정상적으로 프로그램이 실행되지 않은 것 같아서 찝찝하다
'Wargame > Lena’s Reversing for Newbies' 카테고리의 다른 글
| Lena's Reversing for Newbie 08 Write-Up (0) | 2019.08.05 |
|---|---|
| Lena's Reversing for Newbie 07 Write-Up (0) | 2019.08.05 |
| Lena's Reversing for Newbie 05 Write-Up (0) | 2019.08.05 |
| Lena's Reversing for Newbie 04 Write-Up (0) | 2019.08.05 |
| Lena's Reversing for Newbie 03 Write-Up (0) | 2019.07.17 |