본문 바로가기

그 외

cRARk 를 이용한 rar 파일 패스워드 깨기 (rar password crack)

[광고] HWP 를 웹페이지에서 바로 열고, 편집하고, 저장하고 싶다면?
온라인으로-한글-HWP-파일-편집하기-폴라리스-오피스

 

폴라리스오피스 웹 한글 - 브라우저에서 무료로 사용하는 한글

한글 뷰어 다운로드 없이 hwp 파일 열기! hwp 편집 후 저장까지 웹 브라우저에서 무료로 가능합니다.

hwp.polarisoffice.com



RAR 압축을 푸는 프로그램, cRARk를 써봅시다.

 

자매품(?) zip 파일 암호 크랙하는 방법도 있습니다.

http://stanleykou.tistory.com/entry/Zip-암호풀기-GUI-프로그램-johnny

 

 

모든 암호는 해제 가능합니다. 시간이 미친듯이 걸리는게 문제죠.

현대의 암호는 누구나 알고있는 문제를 누구나 아는 방식으로 풀면 답이 나오는 수학적인 구조입니다. 단, 수학적으로 수백만년이 걸리게 설계되어 있습니다.

 

자세한 내용은 대학교 컴공 1학년이나 2학년 때 배우는 이산수학, 정수론, 정보 보안 수업 등에서 알 수 있습니다.

 

오늘 주제는 그게 아니고...

 

전에 zip 암호를 해제하는 법을 포스팅 했었는데, 이번에는 RAR 암호를 해제하는 법을 포스팅 해 봅니다.

 

cRARk 이라는 프로그램을 이용하면 됩니다.

이 프로그램은 윈도우, 맥 OS, 리눅스를 모두 지원합니다. 이 포스팅에서는 윈도우에서 하는 방법만을 다루겠습니다.

 

주의사항: 이 프로그램은 컴퓨터의 모든 자원을 남김없이 끌어다 쓰는 프로그램입니다. 암호를 해제할 때는 다른 작업을 하는 것이 현실적으로 불가능하다는 것을 유념하시기 바랍니다.

 

 

 

 

방법 1. 제일 간단하게 암호를 해제 해봅시다. 1분이면 됩니다. 아래 파일을 다운로드 받아, 적당한 경로에 압축 해제 하세요. (예: C:\test)

 

crark52.zip
다운로드

 

 

그리고 암호 해제를 원하는 파일을 그 경로에 복사하세요. (위 압축파일 안에는 제가 테스트 용으로 "password_zz.rar"이라는 파일을 넣어놓았습니다. 패스워드가 zz 인 RAR 압축파일입니다.)

 

 

 

그 다음, 커맨드 창 (윈도우키 + R, 그다음 cmd [엔터키])을 열고, 

 

 

아까 그 경로로 이동하세요. (예: cd c:\test [엔터키])

 

그 다음 아래와 같이 입력합니다.

 

    crark.exe -c [암호해제를 원하는 파일]

 

예를 들어 암호해제를 원하는 파일 명이 password_zz.rar이라면, 아래와 같이 입력합니다.

 

  crark.exe -c password_zz.rar

  

 

그리고 엔터를 치면, 암호 해제를 시작합니다. 저는 패스워드가 두 글자인 것으로 테스트를 해봤습니다. 그랬더니......

 

 

 

화면 아래서 네 번째 줄, "zz - CRC OK" 가 보이시나요? 패스워드는 zz 이고 찾았다는 뜻입니다. 그 아래 정보를 읽어보면 시간은 19.69초가 걸렸다고 되어 있네요. 제 CPU가 i5 750 (꽤 오래 됐습니다)이니, 그래도 아직은 쓸만하군요.

 

 

 

방법 2. 원본 사이트에서 다운로드 받아서 이용 해 봅시다. 방법 1과 별 차이점은 없습니다.

 

crark 다운로드

http://www.crark.net/#download

 

 

rar 파일이 다운로드 받아지는데 그냥 압축을 풀면 됩니다. 패스워드를 입력하라고 나오는데, 입력하지 않아도 됩니다.

 

중요한 것이 하나 있는데, 폴더 내에 있는 english.def 파일의 이름을 password.def로 변경하세요. 이렇게 하면 패스워드 범위를 영문 범위로 줄입니다. 

 

마지막으로, 아까와 동일하게 아래와 같이 입력 해 줍니다.

 

    crark.exe -c [암호해제를 원하는 파일]

 

 

사족으로, 

password.def 파일을 메모장으로 열어보면 패스워드 범위를 더 줄일 수 있는 법이 나옵니다. 다만 특수기호를 제외했다가 진짜로 패스워드에 특수기호가 들어있다면, 패스워드를 못찾을 수도 있습니다. 

 

그리고, 만약 패스워드 범위가 러시아어나 스페인어, 한글... 이런 식이라면 패스워드를 찾을 수 없습니다. 영문 범위에서 찾으라고 해놓았기 때문이죠. password.def 파일의 내용을 아래와 같이 설정하면, 모든 글자 범위에서 모든 경우의 수를 다 찾으라는 뜻이 됩니다. 미친듯이 느려지지만, 놓칠 가능성은 없어집니다.

 

[?] *

 

 

 

 

방법3. NVIDIA 그래픽카드를 쓰고 있다면, CUDA 라이브러리를 이용하여 초고속으로 검색할 수 있습니다. 

 

제 경우에는 아래와 같이 시간이 걸렸습니다. CPU: i5 750, GPU: Geforce 1050

 

"전 범위 패스워드 검색"에 19.69초

"영문 대소문자 특수기호 패스워드 검색"에 2.60초

"GPU 이용영문 대소문자 특수기호 패스워드 검색"에 0.64초

 

세팅에 꽤 시간이 걸리지만, 할 만한 가치가 있는 방법입니다.

 

1. NVidia CUDA 라이브러리 다운로드 및 설치. 

(용량도 크고, 시간도 총 20분여분 걸림)

https://developer.nvidia.com/cuda-downloads

 

적절한 운영체제와 OS 버전을 선택한 뒤 exe [network]를 클릭합니다

 

 

2. 설치된 프로그램 중 NSight를 관리자권한으로 실행(우클릭 - 관리자권한으로 실행)

 

 

 

오른쪽 하단 트레이에 나오는 NVidia 아이콘을 우클릭 한 뒤 option을 선택

General 탭에서 WDDM TDR enabled항목을 false로 설정.

 

 

 

그리고 재부팅합니다.

 

참조: https://stackoverflow.com/questions/497685/cuda-apps-time-out-fail-after-several-seconds-how-to-work-around-this

 

 

그 다음, 커맨드 라인에 아래와 같이 입력합니다.

 

    crark.exe [암호해제를 원하는 파일]

 

 

이렇게 하면 GPU를 이용하기 때문에 해제 속도가 급격하게 늘어납니다. 5자리 패스워드 정도는 5분 내에 해제할 수 있습니다. 단지 자리수가 한 자리 늘어날 때마다 시간이 끔찍하게 더 많이 늘어날 뿐... 아마 8자리 정도면 하루이틀이면 해제할 수 있을 겁니다.