본문으로 바로가기

br0ken's CrackMe#1

category CrackMe 2023. 8. 2. 20:30
728x90
반응형

To Do & Rules	:	
		Stage 1 - Find Pass - No Patching.		

		Stage 2 - Keygen - No Patching.

		Stage 3 - Patch it.

일단 파일을 확인해보기로함

일단 패스워드를 입력하는게

첫 단계인거 같다.

이것 또한 dbg툴로 한번 해결을 해보자

찾았다 저 주변에서 패스워드로 추정되는 문자열을 발견했다

둘다 아니넴..

QbTTx1sE / PaSSw1rD

x1sE / w1rD

암호화가 되어있는건가

허얼 찾았다

이거 보세요오

누가봐도 패스워드랍니다.

입력 해보겠습니다.

안된다

그 다음 스테이지도 발견했다.

스테이지3도 발견했

생각해보니까 이상한게 있다

PaSSw1rD

패스워드같은데 1이 아니라 0이 아닐까

허얼

PaSSw0rD가 맞다 - 제작자가 의도를 한건가? 아니면 오류인가 판단하기가 어렵다

이건 문제가 틀린게 아니라

QbTTx1sE / PaSSw0rD

각 해당되는 문자에 -1번째 로 바꿔주면 저게 나온다

그럼 2번째는 x1sE / w0rD가 아닐까

시리얼을 또 찾아야한다

이 3개가 중하다는데 뭐가 중한걸까

이게 입력이 조작이 되었다는 흔적이라는데

암호화의 흔적인거같다

 

스테이지 2는 내 이름 아무거나 넣고 그에 맞은 시리얼을 넣으라는 얘기같다.

이런 생각을 왜 하게 됐나면 아무리 도저히 dbg를 뒤져봐도 이름의 구간이 안보이고 찾을 수 가 없는것이다. 그 과정에서 위에서 w0rD라는 문자열을 입력했을때에 반응을 한 것을 보고 아 아무거나 입력해서 그에맞는 시리얼을 입력하면 되는걸까? 라는 생각이 들었다.

(하루종일 생각한건 안비밀)

 

이 어셈블리어코드를 C로 변환을 시켜보면

00401480   |> /8D45 B8           /LEA EAX,[LOCAL.18]
00401483   |. |890424            |MOV DWORD PTR SS:[ESP],EAX
00401486   |. |E8 E5050000       |CALL <JMP.&msvcrt.strlen>
0040148B   |. |3945 F4           |CMP [LOCAL.3],EAX
0040148E   |. |77 1A             |JA SHORT CrackMe#.004014AA
00401490   |. |8D45 F8           |LEA EAX,[LOCAL.2]
00401493   |. |0345 F4           |ADD EAX,[LOCAL.3]
00401496   |. |83E8 40           |SUB EAX,40
00401499   |. |0FBE00            |MOVSX EAX,BYTE PTR DS:[EAX]
0040149C   |. |0345 B4           |ADD EAX,[LOCAL.19]
0040149F   |. |48                |DEC EAX
004014A0   |. |8945 B4           |MOV [LOCAL.19],EAX
004014A3   |. |8D45 F4           |LEA EAX,[LOCAL.3]
004014A6   |. |FF00              |INC DWORD PTR DS:[EAX]
004014A8   |.^\\EB D6             \\JMP SHORT CrackMe#.00401480
serial = -1;
for(i=0; i<strlen(name); i++)
{
serial += name[i] - 1;
}

사실 변환시키는건 말이 안되지만 gpt의 힘을 빌려봤다

저 코드는 이름을 시리얼로 변환 해주는 코드이다

하지만 인터넷에 널려있는 keygen을 사용할거다.

키겐을 사용할때 조심해야하는게 공짜라고 아무거나 받으면 컴퓨터 먹통이 될 수 있기에 나는 안전하게 따로 열어논 가상환경에서 할거다

그렇게 얻은 시리얼

Stage2. 에다가 이제 이름과 시리얼을 삽입 해보도록 하겠다.

Stage 2를 해결하고 나니 Stage 3이 등장했다.

Console nag… lol ..Remove Me! 라는데

간단히 얘기하면

nag 지워줘 !

라는 얘기임

여기서 nag이 뭐냐면 그냥 간단하게 방지 보안 기능이라 생각하면 편하다

이제 Stage3을 풀어볼 차례다.

그럼 이제 지워달라니까 Console nag… lol ..Remove Me! 의 메세지 박스 부분을 찾아봐야겠다.

찾긴했음 이제 뭘 해야 이게출력이 되는지 다른 부분을 살펴보기로 함

Stage 3 - Patch it.

패치해라 라는 말인데 코드를 수정해도 된다는 얘기겠지?

그럼

허허허 아에 다 사라졌는데 이것도 정답으로 쳐줄라

다시…

크크크크 해결했다

728x90
반응형

'CrackMe' 카테고리의 다른 글

tropes_crackme1 풀이  (0) 2023.06.18