리버싱/크랙

[크랙] 유튜브 video downloader 리버싱

cp_good: 2022. 7. 16. 00:06
반응형


사용하던 영상 다운 프로그램인데 궁금해서 살펴보고 기록해두려고 합니다
라인센스 인증하는 흔한 종류입니다

현재 프로그램이 한글로 돼있어 인증 문자열을 찾기 힘드니 언어를 영어로 바꿔줬습니다
그다음 인증을 해보니 "Can't activate"라고 뜨네요

메인 모듈에서 문자열을 검색해줄 겁니다

 

Can't activate

 

메인 모듈 찾는 법은 메모리 맵에서 디스어셈블러에서 따라가기 하면 메인 모듈로 이동됩니다

 

 

우클릭 -> 다음을 찾기 -> 현재 모듈 -> 문자열 참조 클릭

 

 

그러면 문자열들이 검색 되는데

"Can't activate" 문자열을 검색해줍니다

 

바로 나오는 문자열

문자열을 따라가 함수 시작에

브레이크 포인트 걸고 인증 시도하고 따라가는 것도 방법이지만

 

 
 

더 빨리 찾기 위해 "Can't activate"문자열 주변에 인증 성공 문자열이 있는지 찾아봅니다
성공 문자열이 바로 밑쪽에 있었고 (Activated!)
문자열 위쪽에 있는 명령어를 참고하는 주소가 있는지 찾아봅니다
(참조하는 주소를 찾아보면 그 주소가 성공인지 실패인지 나누는 분기문이겠죠)
점프 바로 밑에부터 참조 스캔해봤습니다

 

mov dword ptr  ss:[rsp+20],FFFFFFFF 를 참조하는 주소 스캔

 

"mov dword ptr ss:[rsp+20],FFFFFFFF" 명령어를 참고 찾기를 해봅니다

 

참고 찾기


하나 나왔네요

 


따라가 보면 분기문이 있고
제로 플레그가 0일 때 인증 성공으로 점프하네요 (je xxxxxxx.7FF6761B9593)
함수 호출(call)과 리턴 값에 1을 빼는 걸 보니 (sub eax,1)
그럼 호출 후 리턴 값(eax)에 "2"가 들어가야 되네요 (sub eax,1 이 두 번 나오기 때문)

 

함수 리턴 값이 "2" 여야 됨

 

점프 문이 계속 나오는 걸 따라가다 보면
리턴하는 명령어가 나옵니다

 

리턴


"2" 리턴하게 수정해주고

 


패치한 곳을 저장하고

 

파일 패치

 

아무 문자로 인증해보면

 

2


인증됐습니다

 

 

정리

1. 인증 문자열을 찾아서 문자열 주소를 참조하는 주소를 찾고
2. 인증 함수 리턴 값을 2로 맞춰주면 인증 성공

프로그램을 다시 실행하면 다시 인증 시도해야 되는 현상은

프로그램 안 끄면 되니(귀찮으니) 패스


다른 크랙 보러 가기

 

'리버싱' 카테고리의 글 목록

컴퓨터에 관심 있는 카피페이스트 입니다ㅎㅎ Discord : cpgood#0780 qmffhrm@protonmail.com

cpgood.tistory.com


메일 : qmffhrm@protonmail.com

반응형

'리버싱 > 크랙' 카테고리의 다른 글

[크랙] 인터넷 다운로드 프로그램 리버싱  (0) 2022.07.16