asmodean's reverse engineering page

news and updates / index of tools / message board

2007/11/01 / exkifint

These guys use some interesting compression techniques. I recognize the Elias gamma coding, but is the fancy delta filtering an existing algorithm... ?

Merging the fragments from Windmill's games is really annoying. I have a script to do it ... I may add it to this package later.

Updated: I added merge_windmill to merge the event images (use -large if you want the 1600x1200 variety). It seems to work ok, but I didn't try it on everything. If you use it, let me know how it works. 全部試してなかったから、merge_windmillを使ったら連絡してください。

Updated: I'm not sure why, but suddenly these guys felt the need for a variety of encryption. Once again we see Blowfish encryption, this time with weak pseudo-random keys being generated via the Mersenne Twister algorithm. A little home-grown obfuscation on top of that was for extra credit I guess. ;)

I think exkifint will still work for original unencrypted archives; let me know if it's broken.

Updated: Now supports a slightly different TOC variation (v2) for Campanella. In order to decrypt properly you must provide the game_id; read the usage. 復号にはgame_idが必要です。usageを読んで。

Updated: hgx2bmp now supports two different varieties of HG-3 data.
Updated: hgx2bmp now extracts multiple composite images from HG-3.
Updated: Added merge_windmill_chr to merge the character images.

Updated: hgx2bmp now extracts a few more frames from broken(?) composite HG-3 images. merge_windmill_chr now handles broken CharList.set sets gracefully.

Updated: exkifint now supports archives larger than 2GB.
Updated: exkifint can now find v_code information in executables.
Updated: Added exzt for the *.zt archives in グリザイアの果実.

Updated: merge_windmill now handles some more bugs. merge_windmill_chr_v21_kamikaze supports カミカゼ☆エクスプローラー (sortof? it's messy and I didn't try very hard...)

I wrote a thing to scan the cst scripts for chr variations, which works but I'm not sure it's actually correct...

Updated: Update merge_windmill to work around a bug(?) in シークレットゲーム CODE Revise's list_cg.dat.

Updated: Added merge_chr_from_cst2 for 真夏の夜の雪物語. I accidently deleted the source for the original script scanner I wrote, so I'm not sure if this will work for older games.

Updated: merge_windmill_chr_v12_kamigakari supports 神がかりクロスハート.

Updated: merge_windmill and merge_windmill_chr now support merging unexpanded fragments (because of the retarded canvas sizes in 神がかりクロスハート).

Note: If you don't have enough temporary disk space, set the compressed attribute on the extract folder.
Updated: Fixed a bug in merge_windmill.

Updated: merge_chr_from_cst2 now works with hgx2bmp_noexpand.

Updated: Added a workaround to merge_windmill_chr for data bugs in ウィッチズガーデン.

Updated: Added merge_chr_from_cst2_tolerant (tolerates missing parts) for グリザイアの楽園.

Updated: Fixed a bug in merge_windmill (actually, I just recompiled it ... wtf was wrong with the old one? :)

Updated: Added merge_evt_from_cst for ガールズbeアンビシャス.
Updated: merge_evt_from_cst now merges both event and character images.

Note: For いきなりあなたに恋している, use exkifint_v2 with game id MK-EC0ZZAR1.
Note: For ウィッチズガーデン, use exkifint_v2 with game id WM-QILQKHSK.
Note: For ガールズbeアンビシャス, use exkifint_v2 with game id SCR-QU4L4341.
Note: For 戦国†恋姫〜乙女絢爛☆戦国絵巻〜, use exkifint_v2 with game id NXT-PR6CRGT0.

exkifint.zip

Contents:
// exkifint.cpp, v1.2 2010/10/30
// This tool extracts data from Windmill's encrypted KIF (*.int) archives.

// hgx2bmp.cpp, v1.03 2010/05/24
// This tool decompresses Windmill's HG-3 (*.hg3) and HG-2 (*.hg2) images.

// merge_windmill.cpp, v1.05.2 2013/05/31
// This tool merges event images from some of Windmill's games.

// merge_windmill_chr.cpp, v1.05.2 2012/12/02
// This tool merges character images from some of Windmill's games.

// exzt.cpp, v1.02 2011/02/25
// This tool extract *.zt archives used by グリザイアの果実.

// merge_chr_from_cst2.cpp, v1.02 2013/05/26
// This tool merges character images from 真夏の夜の雪物語.

// merge_evt_from_cst.cpp, v1.01 2013/09/15
// This tool merges event images from ガールズbeアンビシャス.
Known to work with:

2005/08/26   ういんどみる   「ちょっと素直にどんぶり感情」
2005/10/21   ういんどみる   「はぴねす!」
2006/07/28   ういんどみるOasis   「はぴねす!りらっくす」
2007/10/26   ういんどみる   「ツナガル★バングル」
2008/07/18   うぃんどみる   「ツナバン▽らぶみくす」
2009/01/30   ういんどみるOasis   「祝福のカンパネラ」
2009/01/30   クロシェットlumie   「スズノネセブン!」
2009/11/27   クロシェットlumie   「スズノネセブン!-Sweet Lovers' Concerto-」
2010/04/23   フロントウイング   「魔界天使ジブリール4」
2010/04/29   ういんどみる   「色に出でにけり わが恋は」
2010/05/28   クロシェット   「あまつみそらに!」
2010/05/28   FLAT   「うたてめぐり」
2010/10/29   ういんどみるOasis   「祝祭のカンパネラ!」
2011/02/25   フロントウイング   「グリザイアの果実」
2011/03/31   FLAT   「シークレットゲーム CODE Revise」
2011/05/27   クロシェット   「カミカゼ☆エクスプローラー!」
2011/06/24   ういんどみる   「Hyper→Highspeed→Genius -ハイパー ハイスピード ジーニアス-」
2011/07/29   枕   「いきなりあなたに恋している」
2011/07/29   フロントウイング   「戦国天使ジブリール」
2011/09/03   NANACAN   「妹調教日記〜こんなツンデレが俺の妹なわけない!〜」
2011/12/22   EX-ONE   「真夏の夜の雪物語 -MIDSUMMER SNOW NIGHT-」
2012/02/24   フロントウイング   「グリザイアの迷宮 -LE LABYRINTHE DE GRISAIA-」
2012/05/25   ういんどみる   「神がかりクロスハート!」
2012/06/29   EX-ONE   「フツウノファンタジー」
2012/09/28   FrontWing   「ピュアガール ‐puregirl‐」
2012/11/30   ういんどみるOasis   「ウィッチズガーデン」
2013/02/22   クロシェット   「プリズム◇リコレクション!」
2013/05/24   フロントウイング   「グリザイアの楽園」
2013/05/31   EX-ONE   「月あかりランチ」
2013/08/30   SCORE   「ガールズbeアンビシャス!」
2013/09/27   FLAT   「リベリオンズ Secret Game 2nd Stage」
2013/11/29   ういんどみる   「HHG 女神の終焉」
2013/12/20   BaseSon   「戦国†恋姫 〜乙女絢爛☆戦国絵巻〜」
2014/02/28   フロントウイング   「イノセントガール」

*.int, *.zt; *.hg3 (sig=KIF, none; HG-3)
image.int; *.hg3 (sig=KIF; HG-3)


All source © 2006-2014, asmodean. Don't copy, learn.