ALZ
1. 소개
이스트소프트에서 만든 압축 포맷. 대부분의 압축 포맷이 자체 알고리즘을 사용하는데 반하여, ALZ 포맷은 BZIP2의 변형 알고리즘과 Deflate 알고리즘을 사용한다. 포맷 자체도 ZIP 포맷과 거의 유사하지만, 초기의 ZIP 포맷이 파일 크기를 저장하는 필드를 4바이트로 고정하여 4GB 이상의 파일을 처리하지 못하는 반면, ALZ 포맷은 파일 크기 저장 필드를 가변으로 처리할 수 있도록 개선하여 4GB 이상의 파일도 처리할 수 있으며, 분할 파일에 대한 처리 기능도 추가되었다. 물론 현재는 ZIP 포맷도 리비전이 되면서 4GB 이상의 파일도 처리가 가능하고, 분할 압축도 지원한다.
ALZ 포맷이 처음 소개된 것은 알집 4.9 버전부터이며, 이때는 BZIP2 알고리즘을 수정한 알고리즘을 사용하였다. 보통 수정이라고 하면 "개선"을 의미하지만, ALZ 포맷에서 변형한 방법은 개선과는 거리가 먼, 단순히 리버싱을 막기 위한 변형으로 보인다. 이 때문인지 알집 8.0 초기 버전은 BZIP2 알고리즘을 사용한 ALZ 포맷의 압축을 해제하지 못하는 버그가 있었다.
하지만, BZIP2 알고리즘 자체가 Defalte 알고리즘보다 압축률은 '''아주 조금''' 더 좋을 뿐이고, 속도는 무척 느렸기 때문인지, 아니면 알집이 "회사에서는 유료" 정책으로 바뀌었기 때문인지는 모르겠지만, 알집 5.0부터는 ALZ 압축시 Deflate 압축 알고리즘만을 사용하여 압축을 하기 시작하였다. 중간에 '''아주 잠깐''' 변형 Deflate 알고리즘도 사용되었지만, 이 포맷으로 압축된 압축 파일은 거의 찾기 힘들다.
이후, 알집 8.0부터는 4GB 이상의 파일 압축이나 분할 압축을 할 때, ALZ 대신 EGG 포맷을 주력으로 밀기 시작하였다.
2. 장점
랜섬웨어의 암호화 대상이 아닌 것이 유일한 장점이다(...). 물론 종류에 따라 이것도 암호화하는 물건이 나올 가능성은 충분히 있다.
3. 단점
ALZ 포맷은 알집을 제외한 압축프로그램에서는 거의 지원이 안 된다. 빵집, V3 Zip, 반디집 등의 알집 호환을 내세운 몇몇 프로그램이 특별한 경우. 커뮤니티에 자료를 ALZ 포맷으로 올리면 욕만 잔뜩 먹으니 하지 말자.
새로운 압축 포맷을 만드는 것 자체는 문제가 안 된다. 기존에 존재하던 ZIP이나 RAR, 7z도 처음 나올 때는 새로운 압축 포맷이었다. 그러나 다른 압축 포맷이 압축을 푸는 모듈이나 소스를 공개하거나, 압축을 푸는 방법에 대한 문서를 제공해서 꼭 자사의 압축 프로그램을 설치하지 않아도 되도록 했는데, ALZ는 이런 행동을 전혀 취하지 않았다. 즉 정상적인 방법으로 다른 압축 프로그램에서 ALZ를 푸는 길을 막아놓은 것이다. ALZ가 욕먹는 이유가 바로 이것.
하위 호환성을 안드로메다로 보내버리기 때문에 기업이나 개인이나 고생한다. 같은 알집임에도 불구하고 압축할 때와 압축 풀 때의 버전이 서로 일치하지 않으면 풀리지 않는 경우가 종종 있다.
알집 4.x까지는 개인이나 공공기관, 회사 등에서 전부 무료로 사용이 가능한 라이선스였는데, 알집 5.x부터는 공공기관, 회사에서 사용시 유료 정책으로 바뀌면서 ALZ 포맷의 내부 압축 알고리즘도 같이 바꾸어 버렸다. 위에서 말했듯이 알집 4.x에서는 변형된 Bzip2를 사용했지만, 알집 5.x부터는 Deflate 알고리즘을 사용한다. 이 때문에 기존 무료 알집 4.x 사용자들은 알집 5.0에서 압축한 ALZ 파일을 풀 수 없다는 이유 때문에 어쩔 수 없이 알집을 구매해서 사용하게 되는 결과를 낳았다.
이 글과 이 글을 읽어보면 ALZ가 까이는 이유를 더 자세히 알 수 있다.
4. ALZ를 풀기 위한 노력들
ALZ 포맷은 본래 알집의 독자적인 포맷이었으나, 지금은 빵집, 트집, 반디집, CocoAL, 다집 같은 ALZ 포맷을 지원하는 프로그램들이 많이 개발되었다.
ALZ 파일의 압축 해제는 빵집의 개발자인 양병규가 처음 성공하였고, 이후 이에 자극받은 키플러가 ALZ 포맷을 독자적으로 분석 후 unalz를 오픈 소스로 공개하면서 이후 수많은 프로그램에서 ALZ 파일을 지원하게 되었다.
UNALZ 소스: http://www.kippler.com/win/unalz/
unalz가 오픈 소스로 공개된 이후 알집 이외의 ALZ 포맷을 지원하는 프로그램의 한 축을 이루고 있다. Mac OS X용의 CocoAL이 그 예. 빵집 개발자가 개발한 alz 해제 모듈(dll)은 지펜놀과 밤톨이에 사용되었다.
UNALZ가 나오기까지는 우여곡절이 좀 있었다. 2000년대 초반 키플러가 처음 만든 ALZ 압축 해제 프로그램은 알집의 실행파일을 이용해서 ALZ 파일의 압축을 푸는 프로그램이었는데, 이를 본 이스트소프트에서 반발하여 키플러에게 항의했다. 이에 키플러가 빡쳐서 ALZ를 리버스 엔지니어링하여 2004년 오픈소스로 내놓은 것이 트집(tzip)[1] 이라는 프로그램이었다. 물론 이건 리버스 엔지니어링을 통해서 나온 것이기 때문에 불법이 아니다. UNALZ는 이 트집의 *nix 판이다.
현재 국내에서 공개된 대부분의 압축 프로그램은 ALZ 파일의 압축 해제를 지원하고 있지만, 일부 프로그램은 분할 압축이나 변형 BZIP2 알고리즘을 제대로 지원하지 못하고 있으므로 ALZ 파일을 지원한다는 말만 믿고 깔면 낭패를 볼 수도 있다. 반디집은 현존하는 모든 ALZ 파일을 완벽하게 지원하므로[2] 잘 모르면 그냥 반디집 쓰면 된다.