나는압축비밀번호를 잊어버려서 열 수 없는 파일입니다. 이 비밀번호의 일부 내용은 꽤 확신하지만, 비밀번호에 추가된 변형이 기억나지 않습니다. 나는 노력했다균열 압축 패키지그런데 비밀번호의 일부를 알고 있다는 것을 어떻게 보여줘야 할지 모르겠습니다. 결론적으로:
- 나는 '와 같은 비밀번호의 일부를 알고 있습니다.안녕하세요","세계" 그리고"나쁜 패스".
- 부품은 순서에 관계없이 배열될 수 있지만 전부 사용할 수는 없습니다.
- 소문자 3~5자 등 약간의 자잘한 부분이 추가로 있을 수 있습니다.
이 작업을 수행할 수 있는 소프트웨어를 알고 계십니까?
답변1
방법 요약:
이와 같은 유틸리티를 사용하십시오
crunch
사용자 정의 사전 파일을 만듭니다.fcrackzip
이 사용자 정의 사전을 사용하여 실행하십시오.
질문:
최대 3개의 문자열과 3~5개의 소문자를 혼합하면 1조 개가 넘는 비밀번호를 만들 수 있습니다. 사전을 생성하는 데 시간이 걸립니다.
crunch
문자 기반 와일드카드가 허용되지만 사용자 정의 문자열을 처리하는 데 유연성이 떨어집니다. 이 문제를 해결하려면 ,grep
,sed
도sort
필요한 것 같습니다. 어느 하나라도 필요한 시간이 추가됩니다(예: 몇 시간, 어쩌면 며칠...).
다음과 같이 작동할 수 있습니다.
crunch 3 9 abcdefghijklmnopqrstuvwxyz123 | \
grep '[123]' | # at least one number per dict entry
egrep -v '([123]).*\1' | # remove repeated numbers
sed 's/1/hello/;s/2/world/;s/3/shittypass/' | # replace numbers with strings
sort -u | \
fcrackzip -D -p /dev/stdin foo.zip
더 작은 문제 세트가 포함된 테스트 사례(순서에 관계없이 하나 또는 두 개의 문자열, 최대 두 개의 소문자):
echo foo > bar.txt # file to archive
zip -P xhellobworld baz bar.txt # archive with password
time crunch 2 4 abcdefghijklmnopqrstuvwxyz12 | \
grep '[12]' | egrep -v '([12]).*\1' | \
sed 's/1/hello/;s/2/world/' | \
sort -n | fcrackzip -u -D -p /dev/stdin baz.zip
산출:
Crunch will now generate the following amount of data: 3163440 bytes
3 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 637392
PASSWORD FOUND!!!!: pw == xhellobworld
real 0m5.942s
user 0m2.240s
sys 0m1.040s