2020-05-05 18:22:29 +00:00
/*
2020-05-05 18:22:53 +00:00
UNALZ : read and extract module for ALZ format .
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:53 +00:00
LICENSE ( zlib License )
2020-05-05 18:23:01 +00:00
Copyright ( C ) 2004 - 2009 kippler @ gmail . com , http : //www.kipple.pe.kr
2020-05-05 18:22:31 +00:00
2020-05-05 18:22:53 +00:00
This software is provided ' as - is ' , without any express or implied
warranty . In no event will the authors be held liable for any damages
arising from the use of this software .
Permission is granted to anyone to use this software for any purpose ,
including commercial applications , and to alter it and redistribute it
freely , subject to the following restrictions :
1. The origin of this software must not be misrepresented ; you must not
claim that you wrote the original software . If you use this software
in a product , an acknowledgment in the product documentation would be
appreciated but is not required .
2. Altered source versions must be plainly marked as such , and must not be
misrepresented as being the original software .
3. This notice may not be removed or altered from any source distribution .
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " <EFBFBD> ִ<EFBFBD> <20> ״<EFBFBD> <D7B4> <EFBFBD> " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˴ ϴ <EFBFBD> . <EFBFBD> <EFBFBD>
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쿡 <EFBFBD> <EFBFBD> <EFBFBD> ۼ <EFBFBD> <EFBFBD> ڴ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ؿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> å <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʽ <EFBFBD> <EFBFBD> ϴ <EFBFBD> .
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ؼ <EFBFBD> <EFBFBD> ϴ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쿡 <EFBFBD> <EFBFBD> <EFBFBD> Ͽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> α <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 뵵 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD>
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϰ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӱ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Գ <EFBFBD> <EFBFBD> ο <EFBFBD> <EFBFBD> ˴ ϴ <EFBFBD> .
1. <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ó <EFBFBD> <EFBFBD> <EFBFBD> ߸ <EFBFBD> ǥ <EFBFBD> <EFBFBD> <EFBFBD> ϰ ų <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۼ <EFBFBD> <EFBFBD> ߴ ٰ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ؼ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˴ ϴ <EFBFBD> . <EFBFBD> <EFBFBD> ǰ <EFBFBD> <EFBFBD>
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䱸 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƴ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǰ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ־ <EFBFBD> <EFBFBD> ֽ ø <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϰ ڽ <EFBFBD> <EFBFBD> ϴ <EFBFBD> .
2. <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȯ <EFBFBD> ϰ <EFBFBD> ǥ <EFBFBD> õ Ǿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ε ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߸ <EFBFBD> ǥ <EFBFBD> <EFBFBD> <EFBFBD> ؼ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˴ ϴ <EFBFBD> .
3. <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϰ ų <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ <EFBFBD> .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :
2020-05-05 18:22:29 +00:00
- <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ã <EFBFBD> Ұ ų <EFBFBD> , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˷ <EFBFBD> <EFBFBD> ָ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﲬ . .
2020-05-05 18:22:53 +00:00
- <EFBFBD> ڽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> α <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ָ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҳ <EFBFBD> . .
2020-05-05 18:22:29 +00:00
<EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :
- . ALZ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϱ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .
- ALZ <EFBFBD> <EFBFBD> BZIP2 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̶ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѱ <EFBFBD> <EFBFBD> ƴ ϰ <EFBFBD> , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CRC <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ũ <EFBFBD> ⸦ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) <EFBFBD> <EFBFBD> ,
DEFLATE <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˰ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ZIP <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .
2020-05-05 18:22:58 +00:00
( bzip2 <EFBFBD> <EFBFBD> 4.9 x <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ <EFBFBD> <EFBFBD> <EFBFBD> , deflate <EFBFBD> <EFBFBD> 5. x <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ <EFBFBD> <EFBFBD> <EFBFBD> . 5. x <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> bzip2 <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )
2020-05-05 18:22:29 +00:00
- UnAlzBz2decompress . c <EFBFBD> <EFBFBD> UnAlzbzlib . c <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> bzip2 <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> alz <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:58 +00:00
( deflate <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȵ Ǿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ׳ <EFBFBD> zlib <EFBFBD> <EFBFBD> <EFBFBD> ᵵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . . bzip2 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǿ
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> bzip2 <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ״ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȵ ȴ <EFBFBD> . )
2020-05-05 18:22:29 +00:00
- <EFBFBD> <EFBFBD> <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> 4 ĭ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ <EFBFBD> <EFBFBD> <EFBFBD> .
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :
2004 / 02 / 06 - http : //www.wotsit.org/ <20> <> <EFBFBD> <EFBFBD> ZIP File Format Specification version 4.5 [PKWARE Inc.] <20> <>
<EFBFBD> ٿ <EFBFBD> <EFBFBD> ε <EFBFBD> <EFBFBD> Ƽ <EFBFBD> <EFBFBD> м <EFBFBD> .
2004 / 02 / 07 - <EFBFBD> <EFBFBD> ť <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> unzip Ŭ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2004 / 02 / 08 - unzip Ŭ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> alzip <EFBFBD> <EFBFBD> <EFBFBD> ˿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߾ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ
- deflate , rawdata <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .
- <EFBFBD> <EFBFBD> <EFBFBD> ̾ ˷ α <EFBFBD> <EFBFBD> ڽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .
2004 / 02 / 08 - bzip2 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2004 / 03 / 01 - bzip2 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϻ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҭ
- callback <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . .
2020-05-05 18:22:58 +00:00
2004 / 03 / 07 - <EFBFBD> <EFBFBD> ƿ <EFBFBD> Լ <EFBFBD> <EFBFBD> ߰ <EFBFBD> ( ExtractCurrentFileToBuf ( ) )
2004 / 10 / 03 - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD> ( FILE I / O <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ŭ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )
2020-05-05 18:22:31 +00:00
- 2 GB <EFBFBD> ̻ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ó <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( WINDOWS ONLY )
2004 / 10 / 22 - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ÷ <EFBFBD> <EFBFBD> <EFBFBD> ( BSD / LINUX ) <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:58 +00:00
( BSD / LINUX <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2 GB <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )
2020-05-05 18:22:39 +00:00
- unalz 0.20
2020-05-05 18:22:31 +00:00
2004 / 10 / 23 - by xxfree86 : DARWIN <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <EFBFBD> <EFBFBD> <EFBFBD> θ <EFBFBD> <EFBFBD> <EFBFBD> " \\ " <EFBFBD> <EFBFBD> <EFBFBD> Խ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2004 / 10 / 24 - by aqua0125 : <EFBFBD> ڵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȯ ó <EFBFBD> <EFBFBD> , 64 bit <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ó <EFBFBD> <EFBFBD>
- <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <EFBFBD> ڵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȯ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2004 / 10 / 25 - by yongari : __LP64__ , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( le64toh / le132oh / le16toh ) <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2004 / 10 / 26 - BSD / LINUX : byte - order , libiconv <EFBFBD> ̽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:39 +00:00
- unalz 0.22
2020-05-05 18:22:33 +00:00
2004 / 10 / 30 - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . .
2020-05-05 18:22:39 +00:00
- unalz 0.23
2020-05-05 18:22:49 +00:00
2004 / 11 / 14 - by xxfree86 : <EFBFBD> <EFBFBD> ȣ <EFBFBD> ɸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ó <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD>
2020-05-05 18:22:39 +00:00
- unalz 0.30
2020-05-05 18:22:38 +00:00
2004 / 11 / 27 - cygwin <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- <EFBFBD> <EFBFBD> ȣ ó <EFBFBD> <EFBFBD> <EFBFBD> κ п <EFBFBD> <EFBFBD> Ϻ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> GPL <EFBFBD> <EFBFBD> CZipArchive <EFBFBD> ڵ 带 " ZIP File Format Specification version 4.5 " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ؼ <EFBFBD> <EFBFBD> ٽ <EFBFBD> <EFBFBD> ڵ <EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- <EFBFBD> <EFBFBD> ȣ <EFBFBD> ɸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϰ <EFBFBD> <EFBFBD> Ȱ ɸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ó <EFBFBD> <EFBFBD>
- <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> κ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߷ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ջ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> κ б <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǯ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:39 +00:00
- unalz 0.31
2020-05-05 18:22:53 +00:00
2005 / 01 / 08 - <EFBFBD> <EFBFBD> ȣ <EFBFBD> ߸ <EFBFBD> <EFBFBD> Է ½ <EFBFBD> <EFBFBD> ѹ <EFBFBD> ü ũ <EFBFBD> <EFBFBD> <EFBFBD> ι <EFBFBD> ° <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȣ <EFBFBD> <EFBFBD> <EFBFBD> Է <EFBFBD> <EFBFBD> ص <EFBFBD> Ǯ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϰ <EFBFBD> <EFBFBD> Ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:39 +00:00
2005 / 02 / 05 - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> deflate <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CRC Ȯ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD>
2005 / 03 / 07 - bzip2 , raw <EFBFBD> <EFBFBD> <EFBFBD> Ͽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CRC Ȯ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD>
2005 / 03 / 13 - ALZ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƴ Ұ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڵ <EFBFBD> ( ERR_NOT_ALZ_FILE ) <EFBFBD> ߰ <EFBFBD>
2005 / 06 / 16 - GetFileList ( ) <EFBFBD> Լ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ÿ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )
2005 / 06 / 18 - by goweol : utf - 8 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ÷ ο <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- unalz 0.4
2020-05-05 18:22:42 +00:00
2005 / 06 / 22 - by goweol : - l <EFBFBD> ɼ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD>
- UnAlzUtils . cpp / h <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD>
2005 / 06 / 29 - by xxfree86 : MacOSX 10.4 .1 gcc 4.0 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> iconv <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- <EFBFBD> <EFBFBD> <EFBFBD> ȿ <EFBFBD> <EFBFBD> <EFBFBD> CRC ü ũ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( ? )
2005 / 07 / 02 - unalz Ŀ <EFBFBD> ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǯ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD> . .
- <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͻ ð <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ð <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϴ <EFBFBD> <EFBFBD> ڵ <EFBFBD> <EFBFBD> ߰ <EFBFBD> - from unalz_wcx_01i . zip
2005 / 07 / 09 - unalz 0.5
2020-05-05 18:22:47 +00:00
2005 / 07 / 24 - - d <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> θ <EFBFBD> " / " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۵ Ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> η <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> α <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ״ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( Pavel Roskin )
2020-05-05 18:22:44 +00:00
- pipemode <EFBFBD> ߰ <EFBFBD> - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> ( Pavel Roskin )
- <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <EFBFBD> <EFBFBD> <EFBFBD> 忡 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> / <EFBFBD> ð <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ý <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǥ <EFBFBD> <EFBFBD> ( Pavel Roskin )
- Ŀ <EFBFBD> ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ο <EFBFBD> <EFBFBD> <EFBFBD> - pwd <EFBFBD> ɼ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȣ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߰ <EFBFBD>
- unalz 0.51
2020-05-05 18:22:47 +00:00
2005 / 07 / 27 - main ( ) <EFBFBD> <EFBFBD> setlocale ( ) <EFBFBD> ߰ <EFBFBD>
- unalz 0.52
2020-05-05 18:22:58 +00:00
2005 / 10 / 15 - NetBSD <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( by minskim @ bawi )
2005 / 11 / 21 - buffer overflow <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( by Ulf Harnhammar )
2020-05-05 18:22:49 +00:00
- unalz 0.53
2020-05-05 18:22:58 +00:00
2006 / 03 / 10 - . . <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( by vuln @ secunia )
2020-05-05 18:22:51 +00:00
- unalz 0.55
2020-05-05 18:22:53 +00:00
2006 / 04 / 23 - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ó <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ÿ <EFBFBD> ӿ <EFBFBD> <EFBFBD> ϵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2006 / 12 / 31 - strcpy / strcat / sprintf <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ÷ ο <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɼ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ <EFBFBD> <EFBFBD> Լ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( by liam . joo @ gmail )
- unalz 0.60
2020-05-05 18:22:56 +00:00
2007 / 02 / 10 - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> strlcpy , strlcat <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- unalz 0.61
2020-05-05 18:22:58 +00:00
2007 / 04 / 12 - unalz command <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȣ <EFBFBD> Է ½ <EFBFBD> \ n <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ե Ǵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2008 / 04 / 04 - debian <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( by cwryu @ debian )
- <EFBFBD> ҽ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , NULL iterator <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- unalz 0.62
2020-05-05 18:23:01 +00:00
2009 / 01 / 09 - apple gcc <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( by lacovnk )
- unalz 0.63
2020-05-05 18:22:31 +00:00
2020-05-05 18:22:39 +00:00
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :
2020-05-05 18:22:44 +00:00
- alz <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( deflate / <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> bzip2 / raw )
2020-05-05 18:22:39 +00:00
- <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( alz , a00 , a01 . . )
- <EFBFBD> پ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ÷ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ( Win32 / POSIX ( BSD / LINUX / DARWIN ) )
- <EFBFBD> <EFBFBD> ȣ <EFBFBD> ɸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- <EFBFBD> κ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> κ б <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- CRC ü ũ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:58 +00:00
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɼ <EFBFBD> ( - DXXXX )
2020-05-05 18:22:31 +00:00
- _WIN32 : WIN32
- _UNALZ_ICONV : iconv <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ؼ <EFBFBD> code <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȯ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
- _UNALZ_UTF8 : _UNALZ_ICONV <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⺻ <EFBFBD> ڵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " UTF-8 " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
*/
# ifndef _UNALZ_H_
# define _UNALZ_H_
2020-05-05 18:22:58 +00:00
# include <cstdlib>
# include <cstring>
2020-05-05 18:22:29 +00:00
# include <vector>
using namespace std ;
# ifndef INT64
# ifdef _WIN32
# define INT64 __int64
# else
# define INT64 long long
# endif
# endif
2020-05-05 18:22:31 +00:00
# ifndef UINT64
# ifdef _WIN32
# define UINT64 unsigned __int64
# else
# define UINT64 unsigned long long
# endif
# endif
# ifndef UINT32
typedef unsigned int UINT32 ;
# endif
# ifndef UINT16
typedef unsigned short UINT16 ;
# endif
2020-05-05 18:22:29 +00:00
# ifndef SHORT
typedef short SHORT ;
# endif
# ifndef BYTE
typedef unsigned char BYTE ;
# endif
# ifndef CHAR
typedef char CHAR ;
# endif
# ifndef BYTE
typedef unsigned char BYTE ;
# endif
# ifndef UINT
typedef unsigned int UINT ;
# endif
# ifndef LONG
typedef long LONG ;
# endif
# ifndef BOOL
2020-05-05 18:22:42 +00:00
# ifndef BOOL_DEFINED // <20> ̹<EFBFBD> BOOL <20> <> DEFINE <20> Ǿ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> BOOL_DEFINED <20> <> define <20> ؼ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> ִ<EFBFBD> .
2020-05-05 18:22:29 +00:00
typedef int BOOL ;
2020-05-05 18:22:42 +00:00
# endif
2020-05-05 18:22:29 +00:00
# endif
# ifndef FALSE
# define FALSE 0
# endif
# ifndef TRUE
# define TRUE 1
# endif
# ifndef HANDLE
# ifdef _WIN32
typedef void * HANDLE ;
# else
typedef FILE * HANDLE ;
# endif
# endif
# ifndef ASSERT
# include <assert.h>
2020-05-05 18:22:33 +00:00
//# define ASSERT(x) assert(x)
2020-05-05 18:22:42 +00:00
# define ASSERT(x) {printf("unalz assert at file:%s line:%d\n", __FILE__, __LINE__);}
2020-05-05 18:22:29 +00:00
# endif
namespace UNALZ
{
# ifdef _WIN32
# pragma pack(push, UNALZ, 1) // structure packing
# else
# pragma pack(1)
# endif
2020-05-05 18:23:01 +00:00
static const char UNALZ_VERSION [ ] = " CUnAlz0.63 " ;
static const char UNALZ_COPYRIGHT [ ] = " Copyright(C) 2004-2009 by kippler@gmail.com ( http://www.kipple.pe.kr ) " ;
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:58 +00:00
enum { ALZ_ENCR_HEADER_LEN = 12 } ; // xf86
2020-05-05 18:22:29 +00:00
// <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> ..
struct SAlzHeader
{
2020-05-05 18:22:31 +00:00
UINT32 unknown ; // ??
2020-05-05 18:22:29 +00:00
} ;
/*
union _UGeneralPurposeBitFlag // zip <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ..
{
SHORT data ;
struct
{
BYTE bit0 : 1 ;
BYTE bit1 : 1 ;
BYTE bit2 : 1 ;
BYTE bit3 : 1 ;
BYTE bit4 : 1 ;
BYTE bit5 : 1 ;
} ;
} ;
*/
enum COMPRESSION_METHOD ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ..
{
COMP_NOCOMP = 0 ,
COMP_BZIP2 = 1 ,
COMP_DEFLATE = 2 ,
2020-05-05 18:22:39 +00:00
COMP_UNKNOWN = 3 , // unknown!
} ;
2020-05-05 18:22:42 +00:00
enum ALZ_FILE_ATTRIBUTE
{
ALZ_FILEATTR_READONLY = 0x1 ,
ALZ_FILEATTR_HIDDEN = 0x2 ,
ALZ_FILEATTR_DIRECTORY = 0x10 ,
ALZ_FILEATTR_FILE = 0x20 ,
} ;
enum ALZ_FILE_DESCRIPTOR
2020-05-05 18:22:39 +00:00
{
2020-05-05 18:22:42 +00:00
ALZ_FILE_DESCRIPTOR_ENCRYPTED = 0x01 , // <20> <> ȣ <20> ɸ<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
ALZ_FILE_DESCRIPTOR_FILESIZEFIELD_1BYTE = 0x10 , // <20> <> <EFBFBD> <EFBFBD> ũ<> <C5A9> <20> ʵ<EFBFBD> <CAB5> <EFBFBD> ũ<> <C5A9>
ALZ_FILE_DESCRIPTOR_FILESIZEFIELD_2BYTE = 0x20 ,
ALZ_FILE_DESCRIPTOR_FILESIZEFIELD_4BYTE = 0x40 ,
ALZ_FILE_DESCRIPTOR_FILESIZEFIELD_8BYTE = 0x80 ,
2020-05-05 18:22:29 +00:00
} ;
2020-05-05 18:22:58 +00:00
struct _SAlzLocalFileHeaderHead ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> .
2020-05-05 18:22:29 +00:00
{
SHORT fileNameLength ;
2020-05-05 18:22:42 +00:00
BYTE fileAttribute ; // from http://www.zap.pe.kr, enum FILE_ATTRIBUE <20> <> <EFBFBD> <EFBFBD>
UINT32 fileTimeDate ; // dos file time
2020-05-05 18:22:35 +00:00
2020-05-05 18:22:38 +00:00
BYTE fileDescriptor ; ///< <20> <> <EFBFBD> <EFBFBD> ũ<> <C5A9> <20> ʵ<EFBFBD> <CAB5> <EFBFBD> ũ<> <C5A9> : 0x10, 0x20, 0x40, 0x80 <20> <> <EFBFBD> <EFBFBD> 1byte, 2byte, 4byte, 8byte.
///< fileDescriptor & 1 == <20> <> ȣ <EFBFBD> ɷȴ<C9B7> <C8B4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
BYTE unknown2 [ 1 ] ; ///< ???
/*
SHORT versionNeededToExtract ;
_UGeneralPurposeBitFlag generalPurposeBitFlag ;
SHORT compressionMethod ;
SHORT lastModFileTime ;
SHORT lastModFileDate ;
2020-05-05 18:22:31 +00:00
UINT32 crc32 ;
UINT32 compressedSize ;
UINT32 uncompressedSize ;
2020-05-05 18:22:29 +00:00
SHORT fileNameLength ;
SHORT extraFieldLength ;
*/
} ;
2020-05-05 18:22:58 +00:00
struct SAlzLocalFileHeader
2020-05-05 18:22:29 +00:00
{
2020-05-05 18:22:58 +00:00
SAlzLocalFileHeader ( ) { memset ( this , 0 , sizeof ( * this ) ) ; }
//~SAlzLocalFileHeader() { if(fileName) free(fileName); if(extraField) free(extraField); }
2020-05-05 18:22:29 +00:00
void Clear ( ) { if ( fileName ) free ( fileName ) ; fileName = NULL ; if ( extraField ) free ( extraField ) ; extraField = NULL ; }
2020-05-05 18:22:58 +00:00
_SAlzLocalFileHeaderHead head ;
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:38 +00:00
BYTE compressionMethod ; ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> : 2 - deflate, 1 - <20> <> <EFBFBD> <EFBFBD> bzip2, 0 - <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> .
2020-05-05 18:22:39 +00:00
BYTE unknown ;
UINT32 fileCRC ; ///< <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CRC, <20> ֻ<EFBFBD> <D6BB> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <20> <> ȣ üũ<C3BC> <C5A9> <EFBFBD> <EFBFBD> <EFBFBD> ε<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ȴ<EFBFBD> .
2020-05-05 18:22:29 +00:00
INT64 compressedSize ;
INT64 uncompressedSize ;
CHAR * fileName ;
BYTE * extraField ;
2020-05-05 18:22:38 +00:00
INT64 dwFileDataPos ; ///< file data <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ġ..
2020-05-05 18:22:35 +00:00
2020-05-05 18:22:58 +00:00
BYTE encChk [ ALZ_ENCR_HEADER_LEN ] ; // xf86
2020-05-05 18:22:29 +00:00
} ;
2020-05-05 18:22:58 +00:00
struct _SAlzCentralDirectoryStructureHead
2020-05-05 18:22:29 +00:00
{
2020-05-05 18:22:31 +00:00
UINT32 dwUnknown ; ///< <20> <EFBFBD> NULL <20> ̴<EFBFBD> <CCB4> <EFBFBD> ..
2020-05-05 18:22:42 +00:00
UINT32 dwUnknown2 ; ///< <20> Ƹ<EFBFBD> <C6B8> <EFBFBD> crc
2020-05-05 18:22:31 +00:00
UINT32 dwCLZ03 ; ///< "CLZ0x03" - 0x035a4c43 <20> <> <EFBFBD> <EFBFBD> ǥ<> <C7A5> <EFBFBD> ϴµ<CFB4> .
2020-05-05 18:22:29 +00:00
/*
SHORT versionMadeBy ;
SHORT versionNeededToExtract ;
_UGeneralPurposeBitFlag generalPurposeBitFlag ;
SHORT compressionMethod ;
SHORT lastModFileTime ;
SHORT lastModFileDate ;
2020-05-05 18:22:31 +00:00
UINT32 crc32 ;
UINT32 compressedSize ;
UINT32 uncompressedSize ;
2020-05-05 18:22:29 +00:00
SHORT fileNameLength ;
SHORT extraFieldLength ;
SHORT fileCommentLength ;
SHORT diskNumberStart ;
SHORT internalFileAttributes ;
2020-05-05 18:22:31 +00:00
UINT32 externalFileAttributes ;
UINT32 relativeOffsetOfLocalHeader ;
2020-05-05 18:22:29 +00:00
*/
} ;
struct SCentralDirectoryStructure
{
SCentralDirectoryStructure ( ) { memset ( this , 0 , sizeof ( * this ) ) ; }
//~SCentralDirectoryStructure() { if(fileName) free(fileName); if(extraField) free(extraField);if(fileComment)free(fileComment); }
2020-05-05 18:22:58 +00:00
_SAlzCentralDirectoryStructureHead head ;
2020-05-05 18:22:29 +00:00
/*
CHAR * fileName ;
BYTE * extraField ;
CHAR * fileComment ;
*/
} ;
/*
struct _SEndOfCentralDirectoryRecordHead
{
SHORT numberOfThisDisk ;
SHORT numberOfTheDiskWithTheStartOfTheCentralDirectory ;
SHORT centralDirectoryOnThisDisk ;
SHORT totalNumberOfEntriesInTheCentralDirectoryOnThisDisk ;
2020-05-05 18:22:31 +00:00
UINT32 sizeOfTheCentralDirectory ;
UINT32 offsetOfStartOfCentralDirectoryWithREspectoTotheStartingDiskNumber ;
2020-05-05 18:22:29 +00:00
SHORT zipFileCommentLength ;
} ;
*/
/*
struct SEndOfCentralDirectoryRecord
{
SEndOfCentralDirectoryRecord ( ) { memset ( this , 0 , sizeof ( * this ) ) ; }
~ SEndOfCentralDirectoryRecord ( ) { if ( fileComment ) free ( fileComment ) ; }
_SEndOfCentralDirectoryRecordHead head ;
CHAR * fileComment ;
} ;
*/
# ifdef _WIN32
2020-05-05 18:22:31 +00:00
# pragma pack(pop, UNALZ) ///< PACKING <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
# else
2020-05-05 18:22:58 +00:00
# pragma pack() // restore packing
2020-05-05 18:22:29 +00:00
# endif
2020-05-05 18:22:58 +00:00
2020-05-05 18:22:29 +00:00
///< PROGRESS CALLBACK FUNCTION - <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> Ȳ<EFBFBD> <C8B2> <20> ˰<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̰<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ȴ<EFBFBD> .
2020-05-05 18:22:53 +00:00
typedef void ( _UnAlzCallback ) ( const char * szFileName , INT64 nCurrent , INT64 nRange , void * param , BOOL * bHalt ) ;
2020-05-05 18:22:29 +00:00
class CUnAlz
{
public :
CUnAlz ( ) ;
~ CUnAlz ( ) ;
BOOL Open ( const char * szPathName ) ;
void Close ( ) ;
BOOL SetCurrentFile ( const char * szFileName ) ;
BOOL ExtractCurrentFile ( const char * szDestPathName , const char * szDestFileName = NULL ) ;
2020-05-05 18:22:39 +00:00
BOOL ExtractCurrentFileToBuf ( BYTE * pDestBuf , int nBufSize ) ; // pDestBuf=NULL <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <EFBFBD> Ʈ<EFBFBD> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .
2020-05-05 18:22:29 +00:00
BOOL ExtractAll ( const char * szDestPathName ) ;
void SetCallback ( _UnAlzCallback * pFunc , void * param = NULL ) ;
2020-05-05 18:22:44 +00:00
void SetPipeMode ( BOOL bPipeMode ) { m_bPipeMode = bPipeMode ; }
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:53 +00:00
void SetPassword ( char * passwd ) ; // xf86
2020-05-05 18:22:39 +00:00
BOOL chkValidPassword ( ) ; // xf86
2020-05-05 18:22:35 +00:00
BOOL IsEncrypted ( ) { return m_bIsEncrypted ; } ;
2020-05-05 18:22:31 +00:00
# ifdef _UNALZ_ICONV
2020-05-05 18:22:53 +00:00
void SetDestCodepage ( const char * szToCodepage ) ;
2020-05-05 18:22:31 +00:00
# endif
2020-05-05 18:22:29 +00:00
public : ///< WIN32 <20> <> <EFBFBD> <EFBFBD> ( UNICODE ó<> <C3B3> <EFBFBD> <EFBFBD> )
2020-05-05 18:22:31 +00:00
2020-05-05 18:22:29 +00:00
# ifdef _WIN32
2020-05-05 18:22:31 +00:00
# ifndef __GNUWIN32__
# ifndef LPCWSTR
typedef const wchar_t * LPCWSTR ;
# endif
2020-05-05 18:22:29 +00:00
BOOL Open ( LPCWSTR szPathName ) ;
BOOL SetCurrentFile ( LPCWSTR szFileName ) ;
static BOOL IsFolder ( LPCWSTR szPathName ) ;
2020-05-05 18:22:31 +00:00
# endif // __GNUWIN32__
# endif // _WIN32
2020-05-05 18:22:29 +00:00
public :
2020-05-05 18:22:58 +00:00
typedef vector < SAlzLocalFileHeader > FileList ; ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> .
2020-05-05 18:22:39 +00:00
FileList * GetFileList ( ) { return & m_fileList ; } ; ///< file <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
void SetCurrentFile ( FileList : : iterator newPos ) ; ///< low level <20> <> <EFBFBD> <EFBFBD> ..
FileList : : iterator GetCurFileHeader ( ) { return m_posCur ; } ; ///< <20> <> <EFBFBD> <EFBFBD> (SetCurrentFile() <20> <> <20> <> <EFBFBD> õ<EFBFBD> ) <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
public :
enum ERR ///< <20> <> <EFBFBD> <EFBFBD> <20> ڵ<EFBFBD> - <20> <> <EFBFBD> <EFBFBD> <20> ʿ<EFBFBD> ..
{
ERR_NOERR ,
2020-05-05 18:22:51 +00:00
ERR_GENERAL , ///< GENERAL ERROR
2020-05-05 18:22:44 +00:00
ERR_CANT_OPEN_FILE , ///< <20> ҽ <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
ERR_CANT_OPEN_DEST_FILE , ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
// ERR_CANT_CREATE_DEST_PATH, ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:38 +00:00
ERR_CORRUPTED_FILE , ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ?
2020-05-05 18:22:39 +00:00
ERR_NOT_ALZ_FILE , ///< ALZ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ƴϴ<C6B4> .
2020-05-05 18:22:38 +00:00
ERR_CANT_READ_SIG , ///< signature <20> б <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
ERR_CANT_READ_FILE ,
ERR_AT_READ_HEADER ,
ERR_INVALID_FILENAME_LENGTH ,
ERR_INVALID_EXTRAFIELD_LENGTH ,
ERR_CANT_READ_CENTRAL_DIRECTORY_STRUCTURE_HEAD ,
ERR_INVALID_FILENAME_SIZE ,
ERR_INVALID_EXTRAFIELD_SIZE ,
ERR_INVALID_FILECOMMENT_SIZE ,
ERR_CANT_READ_HEADER ,
ERR_MEM_ALLOC_FAILED ,
ERR_FILE_READ_ERROR ,
ERR_INFLATE_FAILED ,
2020-05-05 18:22:39 +00:00
ERR_BZIP2_FAILED ,
ERR_INVALID_FILE_CRC ,
ERR_UNKNOWN_COMPRESSION_METHOD ,
2020-05-05 18:22:31 +00:00
ERR_ICONV_CANT_OPEN ,
ERR_ICONV_INVALID_MULTISEQUENCE_OF_CHARACTERS ,
ERR_ICONV_INCOMPLETE_MULTIBYTE_SEQUENCE ,
ERR_ICONV_NOT_ENOUGH_SPACE_OF_BUFFER_TO_CONVERT ,
ERR_ICONV_ETC ,
2020-05-05 18:22:35 +00:00
ERR_PASSWD_NOT_SET ,
ERR_INVALID_PASSWD ,
ERR_USER_ABORTED ,
2020-05-05 18:22:29 +00:00
} ;
ERR GetLastErr ( ) { return m_nErr ; }
2020-05-05 18:22:31 +00:00
const char * GetLastErrStr ( ) { return LastErrToStr ( m_nErr ) ; }
const char * LastErrToStr ( ERR nERR ) ;
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:31 +00:00
enum SIGNATURE ///< zip file signature - little endian
2020-05-05 18:22:29 +00:00
{
2020-05-05 18:22:31 +00:00
SIG_ERROR = 0x00 ,
2020-05-05 18:22:29 +00:00
SIG_EOF = 0x01 ,
SIG_ALZ_FILE_HEADER = 0x015a4c41 , ///< ALZ 0x01
SIG_LOCAL_FILE_HEADER = 0x015a4c42 , ///< BLZ 0x01
SIG_CENTRAL_DIRECTORY_STRUCTURE = 0x015a4c43 , ///< CLZ 0x01
SIG_ENDOF_CENTRAL_DIRECTORY_RECORD = 0x025a4c43 , ///< CLZ 0x02
} ;
public :
2020-05-05 18:22:38 +00:00
static BOOL DigPath ( const CHAR * szPathName ) ;
static BOOL IsFolder ( const CHAR * szPathName ) ;
2020-05-05 18:22:29 +00:00
static const char * GetVersion ( ) { return UNALZ_VERSION ; }
static const char * GetCopyright ( ) { return UNALZ_COPYRIGHT ; }
2020-05-05 18:22:35 +00:00
BOOL IsHalted ( ) { return m_bHalt ; } // by xf86
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:56 +00:00
public :
static void safe_strcpy ( char * dst , const char * src , size_t dst_size ) ;
static void safe_strcat ( char * dst , const char * src , size_t dst_size ) ;
static unsigned int _strlcpy ( char * dest , const char * src , unsigned int size ) ;
static unsigned int _strlcat ( char * dest , const char * src , unsigned int size ) ;
2020-05-05 18:22:29 +00:00
private :
SIGNATURE ReadSignature ( ) ;
BOOL ReadAlzFileHeader ( ) ;
BOOL ReadLocalFileheader ( ) ;
BOOL ReadCentralDirectoryStructure ( ) ;
BOOL ReadEndofCentralDirectoryRecord ( ) ;
private :
enum EXTRACT_TYPE ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ÿ<> <C5B8> .
{
ET_FILE , ///< FILE*
ET_MEM , ///< memory buffer
} ;
struct SExtractDest ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> .
{
SExtractDest ( ) { memset ( this , 0 , sizeof ( SExtractDest ) ) ; }
EXTRACT_TYPE nType ; ///< <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ΰ<EFBFBD> <20> <EFBFBD> <DEB8> <EFBFBD> <20> ΰ<EFBFBD> ..
FILE * fp ; ///< ET_FILE <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> FILE*
BYTE * buf ; ///< ET_MEM <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2020-05-05 18:22:31 +00:00
UINT32 bufsize ; ///< ET_MEM <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ũ<> <C5A9>
UINT32 bufpos ; ///< ET_MEM <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ۿ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ִ<EFBFBD> <20> <> ġ
2020-05-05 18:22:29 +00:00
} ;
int WriteToDest ( SExtractDest * dest , BYTE * buf , int nSize ) ;
private :
BOOL ExtractTo ( SExtractDest * dest ) ;
2020-05-05 18:22:58 +00:00
//BOOL ExtractDeflate(FILE* fp, SAlzLocalFileHeader& file);
//BOOL ExtractBzip2_bak(FILE* fp, SAlzLocalFileHeader& file); - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (<28> ߸<EFBFBD> <DFB8> <EFBFBD> ) <20> <> <EFBFBD> <EFBFBD>
BOOL ExtractDeflate2 ( SExtractDest * dest , SAlzLocalFileHeader & file ) ;
BOOL ExtractBzip2 ( SExtractDest * dest , SAlzLocalFileHeader & file ) ;
BOOL ExtractRawfile ( SExtractDest * dest , SAlzLocalFileHeader & file ) ;
2020-05-05 18:22:29 +00:00
private : // bzip2 <20> <> <EFBFBD> <EFBFBD> ó<> <C3B3> <20> Լ<EFBFBD> ..
typedef void MYBZFILE ;
MYBZFILE * BZ2_bzReadOpen ( int * bzerror , CUnAlz * f , int verbosity , int _small , void * unused , int nUnused ) ;
int BZ2_bzread ( MYBZFILE * b , void * buf , int len ) ;
int BZ2_bzRead ( int * bzerror , MYBZFILE * b , void * buf , int len ) ;
void BZ2_bzReadClose ( int * bzerror , MYBZFILE * b ) ;
2020-05-05 18:22:42 +00:00
private : // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> (lapper^^?) Ŭ<> <C5AC> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
BOOL FOpen ( const char * szPathName ) ;
void FClose ( ) ;
INT64 FTell ( ) ;
BOOL FEof ( ) ;
BOOL FSeek ( INT64 offset ) ;
2020-05-05 18:22:31 +00:00
BOOL FRead ( void * buffer , UINT32 nBytesToRead , int * pTotRead = NULL ) ;
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:35 +00:00
BOOL IsDataDescr ( ) { return m_bIsDataDescr ; } ; // xf86
int getPasswordLen ( ) { return strlen ( m_szPasswd ) ; } ;
2020-05-05 18:22:29 +00:00
enum { MAX_FILES = 1000 } ; ///< ó<> <C3B3> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> .
enum { MULTIVOL_TAIL_SIZE = 16 , MULTIVOL_HEAD_SIZE = 8 } ; ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ö<EFBFBD> <C3B6> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> ũ<> <C5A9>
struct SFile ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
{
HANDLE fp ;
INT64 nFileSize ;
int nMultivolHeaderSize ;
int nMultivolTailSize ;
} ;
2020-05-05 18:22:31 +00:00
SFile m_files [ MAX_FILES ] ; ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> array - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѱ<EFBFBD> ?
int m_nCurFile ; ///< m_files <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ġ.
int m_nFileCount ; ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ..
INT64 m_nVirtualFilePos ; ///< <20> <> Ƽ <EFBFBD> <C6BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ġ
INT64 m_nCurFilePos ; ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ġ.
BOOL m_bIsEOF ; ///< <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ؼ<EFBFBD> ) <20> Գ<EFBFBD> ?
2020-05-05 18:22:29 +00:00
2020-05-05 18:22:35 +00:00
BOOL m_bIsEncrypted ; // xf86
BOOL m_bIsDataDescr ;
2020-05-05 18:22:53 +00:00
# define UNALZ_LEN_PASSWORD 512
char m_szPasswd [ UNALZ_LEN_PASSWORD ] ;
2020-05-05 18:22:44 +00:00
BOOL m_bPipeMode ; ///< pipemode - <20> <EFBFBD> <DEBD> <EFBFBD> <20> <> <EFBFBD> ¾<EFBFBD> <C2BE> <EFBFBD> stdout <20> <> <EFBFBD> θ<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:35 +00:00
2020-05-05 18:22:38 +00:00
private :
2020-05-05 18:22:39 +00:00
/* from CZipArchive
2020-05-05 18:22:38 +00:00
void CryptDecodeBuffer ( UINT32 uCount , CHAR * buf ) ;
void CryptInitKeys ( ) ;
void CryptUpdateKeys ( CHAR c ) ;
BOOL CryptCheck ( CHAR * buf ) ;
CHAR CryptDecryptCHAR ( ) ;
void CryptDecode ( CHAR & c ) ;
UINT32 CryptCRC32 ( UINT32 l , CHAR c ) ;
*/
private : // encryption ó<> <C3B3>
BOOL IsEncryptedFile ( BYTE fileDescriptor ) ;
BOOL IsEncryptedFile ( ) ;
void InitCryptKeys ( const CHAR * szPassword ) ;
void UpdateKeys ( BYTE c ) ;
2020-05-05 18:22:39 +00:00
BOOL CryptCheck ( const BYTE * buf ) ;
2020-05-05 18:22:38 +00:00
BYTE DecryptByte ( ) ;
void DecryptingData ( int nSize , BYTE * data ) ;
UINT32 CRC32 ( UINT32 l , BYTE c ) ;
UINT32 m_key [ 3 ] ;
2020-05-05 18:22:29 +00:00
private :
2020-05-05 18:22:31 +00:00
FileList m_fileList ; ///< <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
ERR m_nErr ;
2020-05-05 18:22:31 +00:00
FileList : : iterator m_posCur ; ///< <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
2020-05-05 18:22:29 +00:00
_UnAlzCallback * m_pFuncCallBack ;
void * m_pCallbackParam ;
BOOL m_bHalt ;
2020-05-05 18:22:31 +00:00
# ifdef _UNALZ_ICONV
2020-05-05 18:22:53 +00:00
# define UNALZ_LEN_CODEPAGE 256
char m_szToCodepage [ UNALZ_LEN_CODEPAGE ] ; ///< codepage
char m_szFromCodepage [ UNALZ_LEN_CODEPAGE ] ; ///< "CP949"
2020-05-05 18:22:31 +00:00
# endif
2020-05-05 18:22:29 +00:00
} ;
}
using namespace UNALZ ;
# endif