Strict Standards: Non-static method Soojung::addReferer() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/settings.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/lifthrasiir/sites/sapzil.info/soojung/settings.php:79) in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Counter.class.php on line 63

Strict Standards: Non-static method Entry::getEntry() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/entry.php on line 51

Strict Standards: Non-static method Soojung::entryIdToFilename() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 182

Strict Standards: Non-static method Soojung::queryFilenameMatch() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Soojung.class.php on line 55
TokigunStudio3 | 블로그: 간밤에 삽질했다

내용으로 바로 넘어 가기


TokigunStudio3

1 / 3283   


더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.

간밤에 삽질했다

2004/11/17 AM 09:32 | 개발/역공학 | 0 comments | 0 trackbacks | AllBlog: vote, to pocket

오랜만에 reverse engineering 했다. 물론 팬티펜타비전과는 절대 관계 없음.

azurespace 군(근데 아이렌 서버 랜이 갑자기 끊겨서 지금 접속 안 되네 orz)이 모모 게임의 이미지 압축 형식을 분석해 달라고 했다. 그러면서 bmp 파일과 ex3 파일(네. Melty Blood입니다-_- 제길)을 주는데 이것만 가지고 분석할 수 없다고 하니까 디코더는 있다면서 Susie plugin(ifex3.spi)을 주는 게 아닌가. -_-;;;;;

일단 그 놈한테 언제 될 진 모른다고 발뺌하면서 밤 중에(..) 화장실에서(....) Susie plugin api 문서도 좀 들춰 보고 해서 4시간 정도 작업해서 분석이 끝났다. 그런데.... 도대체 이 구조는... 어디서 많이 본 것 같은데....

혹시 아실 분은 아시리라 믿는데, LZW 압축을 아는가? ....그 놈이 그 놈이다. OTL 다행히 원래 LZW 압축에서는 디코딩할 때도 String Table을 동적으로 생성하는데-_-; 이 변형된 알고리즘에서는 그냥 String Table을 각각의 데이터 조각 앞에 집어 넣었다. (물론 인코딩 과정은 디코딩 과정에 전혀 드러나 있지 않다.) 그리고 특성상 LZW 압축은 코드가 256개 이상이 되어야 하지만 이 알고리즘은 아예 안 쓰는 문자들에 String Table의 키를 배당해 놓았기 때문에 한 글자가 하나의 코드를 나타내게 되어 있다. 거 참...;;

오늘 아침 졸면서 인코딩 알고리즘 생각해 봤는데 한 번 구현해 봐야 할 것 같다.

TrackBack URL: http://sapzil.info/soojung/trackback.php?blogid=197

Copyright (c) 1995-2005, Kang Seonghoon (Tokigun).