더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.
간밤에 삽질했다
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의 키를 배당해 놓았기 때문에 한 글자가 하나의 코드를 나타내게 되어 있다. 거 참...;;
오늘 아침 졸면서 인코딩 알고리즘 생각해 봤는데 한 번 구현해 봐야 할 것 같다.
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