ARK 라이브러리 변경 사항


6.0.1.2

  • 2016/11/25
  • 빈 ZIP64 파일을 분할 압축 ZIP 파일로 잘못 인식하는 버그 수정
  • CAB 파일의 분할 압축 파일명이 재귀 반복되지 않도록 개선

6.0.0.1

  • 2016/11/4
  • SDK 라이선스 변경 및 IArk::Verify() 메쏘드 추가
  • ARKERR 시작값을 0 이 아닌 0xa0000000 으로 변경 및 시스템 에러 발생시 WinError.h 에 정의된 값을 리턴하도록 개선
  • FreeArc 지원 기능 삭제
  • Arc 포맷 압축 해제 기능 추가
  • 분할 ISO 파일(i00, i01, ... ) 지원 기능 추가
  • Ark32LPGL.dll -> Ark32LPGLv2.dll 로 이름 변경
  • MS Comound(MSI,DOC,XLS,PPT) 포맷 풀기 기능 추가
  • ZIPX/EXE 압축시 XZ 압축 알고리즘 지원 기능 추가
  • EGG 포맷의 LEA 암호화 알고리즘 지원 기능 추가
  • TAR 헤더의 폴더 정보에 comp/uncomp 정보가 있는 경우 TGZ 압축 해제시 먹통되는 버그 수정
  • 로컬헤더의 ZIP64 EXTRA FIELD 에 잘못된 파일 크기 정보가 들어 있을 경우 압축을 풀지 못하는 버그 수정
  • 폴더, 파일명 앞의 공백을 _ 로 바꾸는 기능 삭제
  • 멀티볼륨 rar,rar5 포맷의 압축 해제시, 중간 볼륨 파일이 손상된 경우 전체 파일의 끝까지 압축을 해제하지 않고 현재 볼륨의 끝에서 CRC 에러를 출력하고 멈추는 기능 추가
  • ArkTest 프로젝트 개선
  • 주석이 달린 GZIP 파일의 압축을 풀지 못하는 버그 수정
  • ISO 생성시 경로명에 MBCS가 포함되면 프로그램이 간혹 죽는 버그 수정
  • ZIP 포맷의 센트럴 헤더의 파일명 필드가 0 인 경우 죽는 버그 수정
  • WinRar 3.0으로 압축한 압축 파일중 일부 파일이 압축된 크기정보가 -1 인 경우 오류가 발생하던것을 정상적으로 처리하도록 수정
  • LZMA SDK 16.02 업데이트
  • unrar 5.3.11 업데이트
  • zlib 1.2.8 업데이트
  • EGG 포맷의 끝에 더미 데이타가 추가된 경우 손상된 파일로 인식하던것을 손상된 파일로 인식하지 않도록 수정
  • Deflate 알고리즘을 멀티쓰레드로 압축시에도 bypassWhenUncompressible 옵션이 적용되도록 기능 추가
  • 압축 해제시 기존의 300자 였던 최대 암호길이의 제한이 없어짐
  • 10만개가 넘어가는 분할 zip 파일을 열지 못하는 버그 수정
  • RAR5의 QUICK OPEN 지원 기능 추가
  • Ark.h 의 Option을 Props 로 바꿈 (SArkCompressorOpt->SArkCompProps, SetOption()->SetProps())
  • GZ/XZ 압축 기능 추가
  • ARK_MAX_PATH 를 300 에서 512 로 늘림
  • 11GB 가 넘는 J2J 파일을 열지 못하는 버그 수정
  • CAB 포맷에서 0바이트 파일이 포함된 경우 일부 처리를 제대로 하지 못하는 버그 수정
  • ARK_FILEATTR_SYMLINK 추가
  • TAR 포맷 심볼릭 링크 지원 기능 추가
  • LZIP 포맷 해제 기능 추가
  • 폴더 생성시 FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_SYSTEM 속성을 복구하지 않는 버그 수정
  • RAR5 압축 해제 속도 향상
  • SPARSE TAR 파일 처리 기능 추가
  • zopfli 압축 기능 추가(SArkCompProps::defaultUseZopfli)
  • 20 바이트 짜리 GZIP 파일을 열지 못하는 버그 수정
  • ZPAQ 포맷 해제 지원 기능 추가
  • IArkEvent::OnAskPassword() 에 setPasswd 추가
  • IArkEvent::OnStartFile 에 changeFullPathName 추가
  • IArkEvent::OnAskOverwrite 에 changeLocalPathName 으로 변경
  • 7Z 압축시 시스템의 메모리에 따라 자동으로 압축률 조절하는 기능 추가
  • TAR 포맷 압축할 때 경로명이 512자를 넘어가면 오류처리를 하도록 기능 추가
  • TAR 포맷 열때 심볼릭 링크 처리 부분이 느리던 버그 수정
  • ZIP 포맷의 파일 아이템의 폴더 속성이 켜져 있어도, 압축크기/해제크기/CRC 정보등이 존재하면 파일로 처리하도록 기능 추가
  • ISZ 포맷 및 분할 ISZ 압축 해제 기능 추가
  • ZIPX 포맷의 XZ 압축 알고리즘 압축 해제 지원 추가 (ARK_COMPRESSION_METHOD_XZ)
  • ZIP 포맷의 REDUCE 압축 알고리즘 압축 해제 지원 추가 (ARK_COMPRESSION_METHOD_REDUCE1~ARK_COMPRESSION_METHOD_REDUCE4)
  • AesCrypt(.AES) 해제기능 추가
  • 파일 I/O 처리 기능 향상
  • LZH 압축시 하드가 꽉차면 하드가 꽉찾다고 메시지 출력하도록 개선 + 출력 파일을 삭제하지 않던 버그 수정
  • ISO 압축시 하드가 꽉차면 에러 메시지가 두번 호출되던 버그 수정
  • ZIP 파일의 내부 파일명이 MAX_PATH*2 를 넘을 경우 ARKERR_INVALID_FILENAME_LENGTH 에러를 발생시키던것을 에러를 발생시키지 않도록 개선
  • ZIP 파일 편집시 기존 파일의 progress 처리에 대한 100% 기준을 "압축 해제된" 크기로 처리하던걸, "압축된 데이타 크기"로 처리하도록 수정
  • ZIP 파일 생성 version needed to extract 를 10에서 20으로 변경
  • PKZIP 으로 헤더가 암호화 된 경우 ARKERR_NOT_SUPPORTED_FILEFORMAT 를 리턴하도록 기능 추가
  • SFX 나 CRX 처럼 ZIP 앞에 물리적으로 더미 헤더가 있는 경우, 기존에는 무조건 로컬 헤더를 읽던 것을 일단 센트럴 헤더를 먼저 읽어서 처리해 보도록 개선
  • ZIP 해제 모듈에서 분할크기가 4GB 넘은 분할 zip 에서 offset 이 4GB 를 넘어가는 파일의 처리를 제대로 못해서 압축을 풀지 못하는 버그 수정
  • RAR 포맷의 파일 시간이 2038년을 넘어가는 경우, 압축 푼 파일의 파일 시간이 잘못 처리되는 버그 수정
  • 원본 ZIP 파일 수정시 CopyStream 에서 진행률 잘못 처리되던 버그 수정
  • 암호를 걸고 Store로 저장된 RAR5 파일의 압축을 해제하지 못하던 버그 수정
  • MSZIP 알고리즘을 사용하고, 분할 압축된 CAB 포맷의 압축파일을 풀지 못하던 버그 수정
  • 7Z포맷의 SWAP2, SWAP4 필터를 처리하지 못하던 버그 수정
  • 4기가가 넘는 2개 이상의 파일을 ZIP/ZIPX/EXE 포맷으로 분할 압축시 헤더 정보를 잘못 읽어서 압축을 풀지 못하는 버그 수정
  • 여러개의 gz파일이 물리적으로 합쳐진 형태의 gz 파일의 압축도 제대로 해제하는 기능 추가
  • 일부 특이한 형태의 TAR 포맷을 처리하지 못하던 버그 수정
  • ArkLib.h 에서 Win98 체크코드 삭제
  • 7z 솔리드 압축시 마지막 입력 파일을 압축하고 바로 닫지 않던걸 처리가 끝나면 바로 닫도록 개선
  • ISO 파일 생성시 최대 파일명 길이는 64자에서 107자로 늘림
  • 확장자가 .rar 이 아닌 분할 압축된 rar 파일도 제대로 처리하도록 개선
  • ExtractOneAs(...WCHAR resultPathName[ARK_MAX_PATH]) -> ExtractOneAs(... WCHAR* resultPathName, int resultPathNameLen) 로 변경
  • 리소스에 패킹된 NSIS 파일도 열 수 있도록 개선
  • ARK_FF_MP4 추가
  • 7z 파일 압축 해제중 파일 Read() 에서 에러가 발생할 경우 에러 이벤트가 발생하지 않던 버그 수정
  • 이동식 드라이브에서 파일 I/O 가 발생할 경우, 매 10MB 마다 플러시를 호출하도록 기능 추가
  • 기타

5.0.6.7

  • 2014/8/8
  • ARK_COMPRESSION_METHOD_REDIR 추가
  • ARKERR_CANT_OPEN_SRC_FILE_TO_COPY 추가
  • RAR5의 redirect 속성 처리 기능 추가
  • NSIS 해제시 간혹 데드락 걸리는 버그 수정
  • RAR 압축 해제시 128자가 넘는 암호를 쓰면 여전히 버퍼 오버플로우 발생하던 버그 수정
  • ZIP으로 압축한 파일에 동일한 이름의 파일을 추가하려고 할때 표시되는 중복확인창에서 기존 파일의 파일시간을 제대로 보여주지 못하는 버그 수정

5.0.5.6

  • 2014/4/29
  • ARK_FF_RAR5 추가 및 RAR5 압축 해제 지원
  • 폴더가 순환참조하도록 잘못 만들어진 ISO 파일에서 재귀가 발생하지 않도록 수정
  • RAR 파일의 압축 암호가 128자가 넘어가는 경우 버퍼 오버플로우가 발생하던 버그 수정
  • GZIP 파일의 뒤에 더미로 0 이 포함되면 풀지 못하던 버그 수정
  • TAR 포맷의 폴더 속성이 잘못 저장된 경우 풀지 못하던 버그 수정
  • 폴더에 Hidden 속성이 있는 경우 압축 푼 폴더에도 Hidden 속성이 적용되도록 기능 추가
  • IArk::Open(LPCWSTR _szPathName, DWORD& error, WCHAR resultPathName[ARK_MAX_PATH]) 호출시 결과 경로명이 ARK_MAX_PATH 를 넘어갈 경우 크래시 되는 버그 수정
  • ZIP64 포맷에서 numberOfThisDisk 가 0xffff 인 경우 파일을 열지 못하던 버그 수정
  • 7Z 압축시 메모리가 부족한 경우, 내부적으로 메모리 사용량을 줄여서 다시 압축을 시도하던 코드 때문에 발생하던 문제 수정
  • ARK_FF_COMPOUND 추가 및 MSI 파일을 ARK_FF_CAB 으로 인식하지 않도록 수정

5.0.2.3

  • 2013/5/28
  • 보안 버그 수정

5.0.1.2

  • 2013/5/16
  • 솔리드 압축된 RAR 파일에 STORE 로 저장된 파일이 포함된 경우 압축을 풀지 못하던 버그 수정
  • EGG 파일을 솔리드 형태로 압축할때 빈 폴더가 포함된 경우 압축을 해제하지 못하던 버그 수정

5.0.0.1

  • 2013/5/7
  • ISO, 7z, lzh 압축 기능 추가
  • ZIPX 포맷의 Winzip-Jpeg, Wavpack 압축 알고리즘의 압축 해제 기능 지원
  • 압축된 Wim 포맷 압축 해제 기능 추가
  • NSIS 파일 압축 해제 기능 추가
  • 분할 압축된 CAB 포맷의 압축 해제 지원, CAB 포맷의 QUANTUM 알고리즘 압축 해제 기능 지원
  • 코드페이지 자동 인식 기능 추가
  • 등등등등등등... 자세한 사항은 SDK 변경사항 항목 참고

4.6.1.18

  • 2012/11/13
  • 2GB 이상의 J2J 파일을 처리하지 못하던 문제 수정

4.6.0.17

  • 2012/10/23
  • .avi.001 과 같이 avi/mkv 를 split 한 경우 ARK_FF_SPLIT 로 인식하지 못하던 버그 수정
  • 빈 zip 파일을 열지 못하던 버그 수정
  • 암호걸리고 솔리드 압축된 RAR의 압축 해제시 콜백으로 OnAskPassword()를 호출하지 않던 버그 수정
  • POSIX 환경에서 서브폴더가 포함된 rar 분할 압축파일의 압축을 제대로 풀지 못하는 버그 수정
  • POSIX 환경에서 .7z 파일 압축 풀때 파일 시간을 세팅하지 않던 문제 수정
  • 유니코드를 지원하지 않는 압축 파일(zip,lzh..)의 코드페이지를 CP_ACP 대신 CP_OEMCP 로 처리하도록 수정

4.5.3.16

  • 2012/6/8
  • SFX 부가 정보가 포함된 EGG 포맷의 분할 SFX 파일을 분할 파일로 인식하지 못해서 손상된 파일로 잘못 인식하던 버그 수정
  • ZIP 포맷이 아닌, ALZ포맷의 SFX파일을 열지 못하던 버그 수정
  • ZIP 파일의 내부 경로명에 '.app/Contents/MacOS' 이 포함된 경우, 압축 해제시 무조건 실행파일로 처리하도록 수정 (POSIX만)
  • TAR 파일의 실행파일 속성이 제대로 처리되지 않던 버그 수정(POSIX만)
  • Security Data 가 들어간 WIM파일을 열지 못하던 버그 수정
  • 압축파일 내 경로명이 260자를 넘어가는 ALZ 파일을 열지 못하는 버그 수정

4.5.2.15

  • 2012/5/10
  • 압축파일 인식 부분 개선
  • __OSX 메타폴더 무시 기능 사용시 발생하는 메모리 릭 문제 수정
  • FILE_ATTRIBUTE_SYSTEM 속성을 처리하지 못하던 버그 수정
  • unix 에서 압축한 zip 파일의 심볼릭 링크 처리 기능 추가(POSIX)

4.5.1.14

  • 2012/4/23
  • AVI, MKV 파일을 압축파일로 잘못 인식하지 않도록 개선 및 ARK_FF_MATROSKA 추가
  • 7z 포맷의 FILE_ATTRIBUTE_ARCHIVE 속성을 가져오지 않던 버그 수정

4.5.0.13

  • 2012/4/12
  • 일부 파일을 BH포맷으로 잘못 인식하던 문제 수정
  • tar 파일 생성시 헤더 저장방식 개선
  • 코드사인된 zip 포맷의 sfx 파일을 열때 손상된 파일로 잘못 인식하던 버그 수정
  • 아주 작은 크기의 .Z 포맷의 압축을 풀지 못하던 버그 수정
  • 파일명에 포함된 tab 을 _ 로 바꾸도록 기능 추가
  • 파일명에 따옴표가 포함된 경우 파일을 풀지 못하던 문제 수정
  • 7z 포맷의 delta, deflate 알고리즘 압축 해제 지원 추가
  • ARK_COMPRESSION_METHOD_DELTA 추가

4.4.0.11

  • 2012/3/5
  • J2J 로 두번 변조한 파일을 열지 못하는 문제점 수정
  • zip/zipx 압축시 forceUtf8FileName 옵션이 켜져 있으면 파일의 read only, hidden 등의 속성이 저장되지 않는 버그 수정
  • 리소스에 압축 데이터가 포함된 일부 SFX 파일을 열지 못하던 문제 수정
  • CheckFormat 에서 파일 앞부분을 체크하는 버퍼의 크기를 30k->1MB 로 늘림
  • 일부 환경에서 작은 파일의 압축해제 속도가 느리던 문제 수정
  • 맥 환경에서 발생하는 충돌을 피하기 위해서, Ark.h 의 BOOL 을 전부 BOOL32 로 바꾸어 버림
  • ARKERR_CANT_CONVERT_FILENAME 추가
  • zip 포맷에서 SArkFileInfo::SetFileName() 호출시 에러 발생할 경우 파일을 목록에 추가하지 않던것을 그냥 추가하도록 수정 (posix 에만 해당.)
  • posix 에서는 파일명에 '?' 가 들어간 경우 정상적으로 압축을 해제할 수 있도록 수정

4.3.1.10

  • 2012/2/22
  • 여러개의 블럭에 파일의 데이터가 걸쳐진 CAB 파일의 압축을 풀지 못하던 버그 수정
  • ZipCrypto 처리 속도 약간 향상 (대략 10%?)
  • SArkGlobalOpt::bIgnoreMacOSXMetaFolder 옵션 추가
  • 암호걸린 3G 이상인 EGG 포맷의 압축을 풀지 못하는 버그 수정
  • AES 암호화 된 EGG 파일의 암호가 틀리거나 파일이 손상된 경우 ARKERR_CANT_READ_DATA 를 리턴하던것을 ARKERR_INVALID_FILE_CRC 를 리턴하도록 수정
  • 압축하거나 압축 풀때 0 바이트 파일에 대한 진행률이 0% 가 나오던것을 100% 가 나오도록 수정

4.3.0.9

  • 2012/2/10
  • ZIP 파일 내부의 파일 개수가 10만개쯤 넘어가면 파일을 여는 속도가 무지 느려지던 문제 수정
  • TBZ 파일을 솔리드 압축으로 열때 파일 크기가 커지면(100MB 정도) 파일을 여는 속도가 무지 느려지던 문제 수정
  • ZIP 포맷의 extra field header 가 손상된 경우 죽는 경우가 있던 버그 수정
  • ZIP 포맷의 센트럴 헤더가 손상되어서 로컬헤더 정보를 읽다가 죽는 경우가 있던 버그 수정
  • ZIP 포맷의 deflate64 알고리즘 처리시 데이터가 손상된 경우 죽는 경우가 있던 버그 수정
  • LZH 포맷의 헤더가 손상된 경우 죽는 경우가 있던 버그 수정
  • LZH 포맷의 데이터가 손상된 경우 죽는 경우가 있던 버그 수정
  • LZH 포맷의 데이터가 조작되어서 압축 풀때 매우 큰 파일을 생성하는 문제 수정
  • RAR 포맷의 헤더가 손상된 경우 죽거나 먹통되는 경우가 있던 버그 수정
  • ARJ 포맷의 데이터가 손상된 경우 죽는 경우가 있던 버그 수정
  • CAB 포맷에 CFData 항목이 있을때 죽는 버그 수정
  • CAB 포맷에 내부 폴더 정보가 손상된 경우 죽는 버그 수정
  • ACE 포맷의 압축 해제중 핸들릭이 발생하던 버그 수정
  • 일부 분할 압축된 파일을 열 때 메모리 릭이 발생하던 버그 수정
  • ZIP,TAR 포맷의 압축 해제시 실행 속성이 있을경우, 현재 유저뿐만 아니라 다른 사용자도 실행 가능하게 속성을 주도록 수정

4.2.1.7

  • 2012/1/30
  • SFX 로 분할 압축된 RAR 파일의 첫번째 파일의 확장자를 RAR 로 바꾸었을때에도 파일을 열 수 있도록 수정
  • RAR 파일 내부에 솔리드 압축된 파일과 솔리드 압축되지 않은 파일이 섞여 있을때 압축을 풀지 못하던 버그 수정
  • 손상된 Deflate64 데이터의 압축 해제시 버퍼 오버플로우가 발생하는 경우가 있던 버그 수정
  • 파일명이 260자 넘어가는 긴 파일을 굳이 만들지 않도록 수정
  • .tar 압축시 unix tar 에 가깝게 파일을 생성하도록 수정

4.2.0.6

  • 2012/1/26
  • 공백이 포함된 ace 파일을 열지 못하던 버그 수정
  • 분할 압축된 RAR 파일에 더미 데이터가 붙어있는 경우 풀지 못하던 버그 수정
  • .tgz 파일의 확장자가 .tar 로 잘못되어 있는 경우 내부 파일명에 .tar 를 붙이도록 기능 추가
  • Deflate64 압축해제시 안정성 강화
  • SArkGlobalOpt::bConvertNFD2NFCWhenMacOS 옵션 추가
  • ZIP 파일처리시 ARK_CP_UTF8_MAC 코드페이지를 처리하지 못하던 버그 수정
  • 멀티코어에서 압축시 에러 상황이 발생한 경우 크래시가 발생하던 버그 수정
  • ZIP 파일에서 아이템을 삭제할때 진행률이 100%가 넘어가는 경우가 있던 버그 수정

4.1.3.5

  • 2012/1/20
  • 헤더가 조작된 LZH 파일의 파일명 처리시 버퍼 오버플로우가 발생하던 버그 수정

4.1.2.4

  • 2012/1/19
  • 손상된 ARJ 파일 처리시 크래시가 발생하는 버그 수정

4.1.1.3

  • 2012/1/18
  • 압축풀 폴더 경로가 길 경우 폴더 생성중 오버플로우로 죽던 버그 수정
  • ARKERR_NOT_SUPPORTED_OPERATION 에러코드 추가
  • 4G가 넘는 TGZ 파일을 열때 간혹 손상된 파일이라고 에러를 리턴하던 버그 수정

4.1.0.2

  • 2012/1/17
  • SArkNtfsFileTimes 구조체 추가
  • SArkFileItem::fileTimeNtfs 항목 삭제, SArkFileItem::ntfsFileTimes 항목 추가
  • NTFS 파일 시간 처리 부분 개선
  • LZH 파일의 파일명이 길 경우 헤더를 읽지 못하던 문제 수정
  • LZH 파일의 데이터가 손상된 경우 크래시가 발생하던 문제 수정
  • 솔리드 압축된 파일의 압축 해제시 파일 속성과 파일시간을 복원하지 않던 버그 수정
  • 암호걸린 ACE 파일에 대해서 IsEncrypted() 가 FALSE 가 나오던 버그 수정
  • ACE 포맷 처리 부분 개선
  • tgz 포맷으로 압축시 gz 파일 내의 .tar 파일에 대해서도 시간 설정 기능 추가
  • POSIX 환경에서도 압축푼 파일의 시간을 세팅하는 기능 추가
  • POSIX 환경에서 에서 TAR 포맷의 실행파일 처리 기능 추가

4.0.0.1

  • 2012/1/3
  • ZIP 압축시 LZMA 압축 알고리즘, AES 암호화 지원 추가
  • Deflate 압축시 멀티코어 지원 기능 추가
  • tar, tgz 압축 기능 추가
  • 맥OS 지원(Ark64.dylib) 및 SDK에 POSIX용 SO 포함
  • SDK에 다양한 샘플 프로젝트 추가
  • PMA, j2j 포맷 해제 지원 추가
  • 여러개의 블럭으로 구성된 bzip2 압축 해제 지원 기능 추가
  • 최신버전의 알집으로 암호를 걸어서 압축한 EGG 포맷의 압축을 해제하지 못하던 문제 수정
  • posix 에서 RAR 포맷의 유니코드 패스워드를 처리하지 못하던 버그 수정
  • RAR 압축해제시 암호가 틀린경우에도 CRC 에러라고만 나오던 버그 수정
  • 에러코드가 잘못 리턴되던 버그 여기 저기 수정
  • 기타 소소한 개선 및 버그 수정

3.2.2.5

  • 2011/12/21
  • LZMA-ZIPCRYPTO 를 사용하는 ZIP 파일의 압축을 풀지 못하던 버그 수정

3.2.1.4

  • 2011/9/7
  • 암호걸린 파일 압축 해제시 동일한 이름의 파일이 있을 경우 '이름 변경' 선택후 암호를 물어볼때 '취소'를 하면 원래 디렉토리에 있던 파일이 삭제되는 버그 수정
  • 일부 tgz 파일이 손상되지 않았는데 손상되었다고 잘못 메시지를 출력하던 버그 수정
  • deflate+aes 조합에서 분할압축의 뒷부분이 없을때 ARKERR_INFLATE_FAILED 에러가 발생하던것을 ARKERR_CANT_READ_DATA 가 발생하도록 수정
  • 일부 deflate64 파일의 압축을 제대로 해제하지 못하던 버그 수정
  • 구버전 rar(rar20) 파일의 암호를 풀지 못하던 버그 수정
  • LZMA로 압축하고 AES 로 암호를 건 ZIP 파일을 열지 못하던 버그 수정
  • 압축파일을 tar 로 묶은 경우 tar 파일이 아니라 안에 들어 있는 압축파일로 잘못 인식하던 버그 수정
  • ARK_FF_XEF 추가
  • 암호걸린 7zip 파일의 암호화 방식이 Unknown 으로 나오던 문제 수정
  • ARK_ENCRYPTION_METHOD 에 ARK_ENCRYPTION_METHOD_PKAES128 등 추가
  • 기타 사소한 개선

3.2.0.3

  • 2011/7/11
  • SDK에 ZIP 포맷 압축 해제 전용 DLL(ArkUnzip32.dll, ArkUnzip64.dll) 파일 포함
  • 0 바이트 크기의 파일이 포함된 CAB 파일을 제대로 처리하지 못하던 버그 수정
  • IMG 포맷 지원 기능 추가
  • SFX 생성시 파일의 크기가 4GB를 넘을 경우 에러를 리턴하도록 기능 추가
  • 7z 파일은 IArkEvent::OnOpening() 콜백 호출시 취소를 해도 취소가 되지 않던 버그 수정
  • ZIP 파일 압축시 파일명을 UTF-8 로 저장한 경우 UNIX 에서 압축 해제시 퍼미션 처리가 제대로 안되던 버그 수정
  • WIM 포맷 파일을 열때 IArkEvent::OnOpening() 콜백 호출시 pFileInfo->fileName 이 NULL 로 넘어오던 것을 pFileInfo 가 NULL로 넘어가도록 수정
  • .LZMA 포맷 지원 추가
  • tgz, tbz 파일을 열때 IArkEvent::OnOpening() 콜백이 호출되지 않던 문제 수정
  • ZIP 포맷의 ppmd 알고리즘 압축 해제 지원 추가
  • 암호걸린 7zip, rar 압축해제시 틀린 암호를 입력한 경우, 다시 압축 해제를 시도할 때 더이상 콜백으로 암호를 물어보지 않던 버그 수정
  • 7zip 압축 해제시 이미 동일한 파일이 있어서 사용자가 '건너 띄기'를 선택한 경우 '파일을 열 수 없습니다' 에러코드가 리턴되던 버그 수정
  • 압축을 하거나 풀때 작업중인 파일을 탐색기에서 삭제하거나 이동하지 못하도록 수정
  • 작은 크기의 파일 압축을 다수 풀때 느려지던 문제 수정
  • 큰 크기의 cab 파일 압축 해제시 발생하던 문제 수정
  • ARKERR_ACCESS_DENIED_TO_DEST_PATH 에러코드 추가 및 대상 폴더에 쓰기 권한이 없는 경우 바로 ARKERR_ACCESS_DENIED_TO_DEST_PATH 에러 리턴하고 멈추는 기능 추가
  • 콜백으로 패스워드 입력시 NULL 이 전달될 경우 죽던 문제 수정
  • 암호걸린 rar 파일의 압축 해제중 암호가 틀린걸 알게될 경우 쓰던 파일을 삭제하도록 기능 추가
  • 압축 파일 내 파일의 경로명 앞에 .\ 로 시작하는 파일 처리 기능 추가
  • lzh 포맷의 level2 헤더의 파일 타임을 dostime 으로 잘못 처리하던 버그 수정
  • 파일명 암호걸린 7zip 파일을 열기 실패했을때 Open() 에서 TRUE 를 리턴하던 버그 수정
  • 분할 압축된 rar 파일중 뒤에 이상한 padding 이 붙어있는 파일의 압축을 풀지 못하던 버그 수정
  • ARK_FF_BAMSFX_NOTFIRSTVOL 추가 및 분할 압축된 밤톨이 sfx 파일 압축해제 지원
  • FileFormat2Str()메쏘드에 ARK_FF_EGG_NOTFIRSTVOL 빼먹었던 버그 수정
  • ARK_MULTIVOL_STYLE_ZIPX 추가 및 분할 압축된 zipx 포맷 지원 추가
  • rar 파일 압축 해제시 암호가 틀렸거나 파일이 손상된 경우 바로 에러를 리턴하고 더이상 압축을 풀지 않도록 수정
  • 암호걸린 7z 파일의 암호가 틀렸을때 0 바이트 파일을 지우지 못하던 버그 수정
  • 일부 분할 압축된 arj 파일의 압축을 풀지 못하던 버그 수정
  • ARK_FF_PAE, ARK_FF_CAB_NOTFIRSTVOL 추가
  • ZIP 포맷의 AES 192bit 암호화 압축해제 지원
  • 기타 자잘한 버그 수정

3.1.0.2

  • 2011/5/18
  • IArkEvent::OnAskPassword() 추가
  • ZIP 포맷의 explode 알고리즘 추가
  • IArk::_OpenW() 등 C++ 빌더를 위한 메쏘드 추가
  • IArk::SetPassword(LPCWSTR password) 추가 및 유니코드 패스워드 처리 기능 추가
  • ZIP64 포맷으로 압축할때 일부 헤더를 잘못 저장하던 버그 수정
  • ARK_FF_ZIP_LASTVOLONLY 추가
  • ZIP64 포맷의 압축파일을 열 때 로컬헤더가 아닌 센트럴헤더를 분석해서 열도록 수정 (속도 향상)
  • 암호걸린 ZIP64 포맷의 압축을 해제하지 못하던 버그 수정
  • 헤더CRC 정보가 없거나 minor version 2 의 .7z 포맷의 파일을 열지 못하던 문제 수정
  • 32,64비트 PE-CAB 파일을 압축파일로 처리할 수 있도록 기능 추가
  • ARK_FF_GIF, ARK_FF_OGGS, ARK_FF_ACE 추가
  • Deflate64 알고리즘 처리시 발생하던 버그 수정
  • 파일명을 UTF8로 저장시 version made by 를 수정해서 유닉스 unzip 에서 압축을 풀 수 있도록 수정
  • 압축시 0 바이트 파일의 압축 알고리즘을 deflate 가 아닌 store 로 저장하도록 수정
  • 구버전의 recovery block 이 있는 rar 파일을 열때 손상된 파일로 인식하던 버그 수정
  • TAR 포맷의 @LongLink, UStar 처리 기능 추가
  • 일부 oggs 를 arc 포맷으로 잘못 인식하던 버그 수정
  • 7zip 포맷의 파일명이 너무 길때 죽던 버그 수정
  • 파일명이 너무 길 경우 압축을 풀지 못하던것을 풀 수 있도록 수정 (win32)
  • 암호걸린 arj 파일이 IsEncrypted() 에서 아니라고 나오던 버그 수정
  • 4GB 이상의 gz 파일의 크기가 오버플로우 되서 정상 표시되지 않던걸 추정을 통해서 계산하도록 수정
  • ZIP 압축시 store 로 저장할때 암호를 사용하면 crc 정보가 오류나던 버그 수정
  • tgz,tbz 파일을 솔리드 포맷으로 처리하는 기능 추가
  • IArk::SetGlobalOpt() 의 파라메터 추가 및 변경
  • IArk::ExtractOneAs() 에 파라메터 추가
  • ZIP 압축시 폴더 구분자를 \ 대신 / 를 쓰도록 수정
  • 코멘트가 있고 솔리드 압축된 RAR파일 압축 해제시 죽던 버그 수정
  • 밤톨이 sfx 압축해제 기능 추가
  • 압축시 압축 안되는 데이터는 압축포기하는 기능 추가
  • IArkCompressor::AddFileItem() 메쏘드의 호출 속도 향상
  • SArkCompressorOpt 옵션에서 utf8Comment 삭제, sfxPathName, forceUtf8FileName, utf8FileNameIfNeeded, bypassWhenUncompressible 추가
  • ZIP 포맷 압축시 폴더의 생성 시간도 저장하도록 기능 추가
  • 일부 포맷에서 IArkEvent::OnOpening() 이 호출되지 않던 버그 수정 (tar, wim, lzh, iso, cab, arc)
  • rar 분할압축 파일의 압축 해제시 뒷부분의 파일이 없을때 crc 에러나던것을 ARKERR_FILE_TRUNCATED 에러를 발생시키도록 수정
  • 특정 형태의 rar 분할 압축을 풀지 못하는 버그 수정
  • sfx-zip 파일 처리시 0 바이트 파일은 무시하도록 수정
  • IArkEvent::OnError() 에 bIsWarning 추가
  • 내부 crc 처리 속도 향상
  • 시스템의 기본 코드페이지가 949 가 아닐때 MBCS를 사용해서 한글로 된 7Z 파일을 열려고 할때 열지 못하던 버그 수정
  • Lzma SDK 9.13 -> 9.20 으로 업데이트
  • 기타

3.0.0.1

  • 2011/1/17
  • IArkCompressor 인터페이스를 통한 압축하기 및 압축파일 편집기능이 추가되었습니다.
  • SArkProgressInfo 구조체의 멤버가 간략화 되었습니다.
  • IArk::TestArchive(), IArk::IsOpened(), IArk::GetArchiveStartPos() 메쏘드가 추가되었습니다.
  • CArkLib::CreateCompressor() 메쏘드가 추가되었습니다.
  • IArk::ExtractMultiFileTo() 메쏘드의 파라메터가 일부 변경되었습니다.
  • IArk::DisableFile() 메쏘드가 삭제되었습니다.
  • CreateArkCompressor() 함수, IArkCompressor 인터페이스, SArkCompressorOpt 구조체가 추가되었습니다.

2010/06/08: ARK V3.0 개발 시작

2010/02/23: ARK V2.0 릴리스

2009/11/18: ARK V2.0 작업 시작

2009/04/06: ARK V1.0 작업 시작

2008/03/12: 개발 시작