ZAK decryptor のビルド(WSL1)
ビルド方法
Windowsでは正常解凍できないようなので、WSL1上のUbuntuでビルドしました
sudo apt-get -y install liblz4-dev開発環境(GCC等)とは別にliblz4-devのinstallが必要ですので行っておきましょう。
g++ --std=gnu++20 zak.cpp -O3 -llz4 -o zakこのままコピペで正常にビルドができました
Windows版のビルドでは某タイトルで数バイト増えてしまい
正常なROMが取得できなかったのが解決しました。
WSL上のUbuntu24LTSでビルドした
ZAKを置いておきます(動作未保証)
ダウンロード
何をするもの?
最近みかけるROM.ZAKを解凍できるツールです、後は察してください
このツールに関しては、具体的な質問されても詳細な回答ができない
またはコメントを承認しない可能性があります。
windowsでは正常解凍できない疑惑が発生したので配布を停止します
Ubuntuなら通るとdoritosさんから情報を得たので確認済です。
./ZAK rom.zak (解凍先フォルダー)うまくいくと全自動に吐き出してくれます
事前に出力先フォルダーを用意しておきましょう。
しめ
MerryChristmas!こないだセールやってたOSMANとか(げふんげふん
なんか変な難読化か暗号化されてるっぽいですね
色々採用されてますが、表では書けないので各自頑張ってくださいませ。
んーなかなかHRVが回復してくれませんねえ;
これが年齢って奴ですかね(疲弊
























ディスカッション
コメント一覧
アレでしたら非公開にしてください。
オスマントルコさんは全然ダメでしたねぇ。将来的には分かんないですけども。
現状おいしいところまで持っていけるのは不思議男コレクションくらいじゃないでしょうか。
doritosさんへ
オスマントルコさんはダメっすねえ;
他のもなんかダメな感じで突破される前提みたいになってますね
こればかりはその先が分からないと何ともなんで、ハカーさんを待つしかなさそうです。
(非公開へのレスです)
マジですか、そんなことがあるんです?!
と言うかどうしてそうなったのか;;
ttps://x.com/takataka23/status/2001133616655687855
いつのまにか公式で単品で後出しするっていう情報も上がってるみたいです。
中身の仕様が他のと違うってことは、期間開いたから開発が変わったのかもですね。
ていうかredにもいらしたんですね(
アレコレクションの事を忘れていました。
アレは当時zakのやり方を知らなくてメモリダンプでやったというだけで、zakを開けると生で出てきます。確か。
単品販売するけど構造が変って言うのは
おっしゃるように、やっぱ開発変わったのかもですね~
REDはR君がSVCCHAOSでサイフォンさんのS編集ネタで
不義理やらかした時に凸りましたからねえw
その後も解析せずにぶん投げるのやめろ
わからないなら相談しろといった手前
(今は殆ど有能な人が消えてしまいましたが)
彼なりに解析頑張ってるようなので
多少なりともフォローに出たりしてます。
コレクションは開発が契約切れたっぽいので次があるならマシかなぁ?
ZAkからだと変な出力になるんですよね。
アレってもう契約終わってるんですか?
予定されてたのだけでも放出はしてほしいものです。
確かに↑のあんこさん製?のx64用だと変な出力されますわ・・・
元のzak.cppからビルドしたヤツだと成功してますが
自分は全くその辺理解せずにやってるので、なんともかんとも何が悪いのかわかりません・・
TOZAIがアイレム系から手を引いてるのかなあとか。わからんですけどもね。
VOL5までは出るって話もあるようなので、場合によってはベンダー変わるかも?
あれま!
どんな環境でビルドされてます?linuxかな?
もしかするとWindowsbuildだとダメなのかも;
少なくともlinux(ubuntu)でやってるのは間違いないです。
「変な出力」ってアレですよね、全ファイル1-2KB程度だけ大きい感じの。
それにしてもredは
「これはどうやるの?教えろ」「これまだ抽出成功してないの?教えろ」
みたいな無駄なスレ立てするやばい人増えてますな…
ですです。
どうもWindows版だめっぴみたいなんで差し止めますわ;
WSL1とVMのUbuntuでビルドして動作OKでした。
REDはそんなのが増えすぎたんで有能なお方が大半逃げ出しましたよね…
R君はツッコんだら、改心しただけマシですけども。
ちょっと暇つぶしネタです
メディカイト製Win「SPLATTER HOUSE」は音声データがwav化されているので完全に抽出できないと知りつつ、どこまで出来るか試してみました
name=”sh1_prg0.bin” size=”65536″ crc=”4e07e6d9″ →PRG0 (64KB)と一致
name=”sh1_prg1.bin” size=”65536″ crc=”7a3efe09″ →PRG1 (64KB)と一致
name=”sh1_prg2.bin” size=”65536″ crc=”434dbe7d” →PRG2 (64KB)と一致
name=”sh1_prg3.bin” size=”65536″ crc=”955ce93f” →PRG3 (64KB)と一致
name=”sh1_prg4.bin” size=”65536″ crc=”350dee5b” →PRG4 (64KB)と一致
name=”sh1_prg5.bin” size=”65536″ crc=”0187de9a” →PRG5 (64KB)と一致
name=”sh1_prg6.bin” size=”65536″ crc=”97a3e664″ →PRG6 (64KB)と一致
name=”sh1_prg7.bin” size=”65536″ crc=”24c8cbd7″ →PRG7 (64KB)と一致
name=”cus64-64a1.mcu” merge=”cus64-64a1.mcu” size=”4096″ は、他のゲーム(パックマニア、ドラゴンスピリット、ギャラガ88より流用可能)
name=”sh_obj-0.bin” size=”131072″ crc=”1cedbbae”
name=”sh_obj-1.bin” size=”131072″ crc=”e56e91ee”
name=”sh_obj-2.bin” size=”131072″ crc=”3dfb0230″
name=”sh_obj-3.bin” size=”131072″ crc=”e4e5a581″
name=”sh_obj-4.bin” size=”131072″ crc=”b2422182″
name=”sh_obj-5.bin” size=”131072″ crc=”24d0266f”
name=”sh_obj-6.bin” size=”131072″ crc=”80830b0e”
name=”sh_obj-7.bin” size=”131072″ crc=”08b1953a”
上記gtxはobj.dat (2048KB)から抽出可能
bswap.exe d b obj.dat BitSwap.txt odd.temp even.temp
bcut.exe even.temp sh_obj-0.bin 0 0x20000
bcut.exe even.temp sh_obj-1.bin 0x20000 0x20000
bcut.exe even.temp sh_obj-2.bin 0x40000 0x20000
bcut.exe even.temp sh_obj-3.bin 0x60000 0x20000
bcut.exe even.temp sh_obj-4.bin 0x80000 0x20000
bcut.exe even.temp sh_obj-5.bin 0xa0000 0x20000
bcut.exe even.temp sh_obj-6.bin 0xc0000 0x20000
bcut.exe even.temp sh_obj-7.bin 0xe0000 0x20000
chrはchr.dat (768KB)とchr_mas.bin (128KB)から抽出できるかと思いましたが、簡単にはいかない?
bxor.exe chr.dat chr_mask.bin chr.temp
海外Xbox360「SPLATTER HOUSE」に収録のアーケード版が抽出できそうなんですけど、謎の圧縮?がされていて出来ないのが悔しいです
海外版との差異は sh2_prg6.bin と sh2_prg7.bin のみのようなので、それはメディアカイト版で問題なさそうなのに
正規のファイルと謎の圧縮?がされたファイルの両方があるので、AIに展開するプログラムを作らせたりできれば。。。
12/31に不完全ネタを投稿しましたが、スパム扱いになってる?
スパム解除しました;ごめんなさい
年末年始に100以上ほうりこまれたんでどうにもこうにも;
ア〇ア〇でも日米キメラでしたしスプラッターハウスはちょっと変則的ですねえ
圧縮や暗号化はアルゴリズムが分からないとプログラムの書きようもないので;
両方比較してどういう形式なのか調べてもらうといいかもですね(ただし有料プランになる懸念)
360版をエミュレーター動作させてメモリダンプってのもありかもですが。
解除しました;
年末年始ちょっとすごいすぱむすぱむすぱーむで;
ご迷惑をおかけしますた;
XBOX360「SPLATTERHOUSE」の \data\levels\emulations\sh1 に格納されているファイル
ns1_mcu.bin 3106 Byte ←他のゲーム(パックマニア、ドラゴンスピリット、ギャラガ88)より流用可能
sh1_prg0.bin 14576 Byte ←メディアカイト版で代用可能
sh1_prg1.bin 45134 Byte ←メディアカイト版で代用可能
sh1_prg2.bin 19452 Byte ←メディアカイト版で代用可能
sh1_prg3.bin 30322 Byte ←メディアカイト版で代用可能
sh1_prg4.bin 8046 Byte ←メディアカイト版で代用可能
sh1_prg5.bin 40438 Byte ←メディアカイト版で代用可能
sh2_prg6.bin 21020 Byte ←メディアカイト版で代用すると日本語版になる
sh2_prg7.bin 52462 Byte ←メディアカイト版で代用すると日本語版になる
sh1_snd0.bin 11858 Byte
sh1_snd1.bin 50684 Byte
sh_chr_0.bin 75628 Byte
sh_chr_1.bin 75308 Byte
sh_chr_2.bin 76966 Byte
sh_chr_3.bin 79792 Byte
sh_chr_4.bin 90824 Byte
sh_chr_5.bin 83657 Byte
sh_chr_8.bin 11726 Byte
sh_obj_0.bin 52384 Byte ←メディアカイト版で代用可能
sh_obj_1.bin 30906 Byte ←メディアカイト版で代用可能
sh_obj_2.bin 61206 Byte ←メディアカイト版で代用可能
sh_obj_3.bin 52708 Byte ←メディアカイト版で代用可能
sh_obj_4.bin 53180 Byte ←メディアカイト版で代用可能
sh_obj_5.bin 49308 Byte ←メディアカイト版で代用可能
sh_obj_6.bin 55768 Byte ←メディアカイト版で代用可能
sh_obj_7.bin 58594 Byte ←メディアカイト版で代用可能
sh_voi_0.bin 127672 Byte
sh_voi_1.bin 127614 Byte
sh_voi_2.bin 126352 Byte
sh_voi_3.bin 109616 Byte
メモリダンプで吸い出すには数が多いし、ファイルサイズとCRCで抽出するにはPCのマシンパワーが足らない。。。
その前にゲーム内でアーケード版を遊べるようにするのが大変そう
チート使うとか?(よくわからないけども)
いっきにやるとやべーのでスキマで分割してスキャンするといいっすよ
あとマスカレードよりもTanamuさんのコマンドラインで動く
CRC.Cビルドすると割と大容量も耐えてくれます
あとは他のファイルからアタリを付けて検索して近隣をサーチとかですかね。
試してみましたがダメでした。。。
ChatGPTへ「バイナリファイルを比較して、未知の圧縮変換でも解析するプログラムを作って欲しい」
↓
c:\>py analyze_unknown_compression_advanced.py cus64-64a1.mcu ns1_mcu.bin
元データ: 4096 bytes
変換データ: 3106 bytes
圧縮率: 75.83%
情報エントロピー: 元 5.385 → 圧縮後 7.933
繰り返し構造比率: 元 3.053 → 圧縮後 0.000
ビット偏り: 元 0.636 → 圧縮後 0.499
推定フォーマット: unknown
ファイルヘッダ(32バイト): b’0ff512ed0100000005d81f6c00000042010000000c0c01100000000002000013′
ファイルフッタ(32バイト): b’4f6fde22f03fe9177efaac9ff5e76c75234986094014b894768020023fb05c45′
推定結果: ➡ 可逆圧縮(LZ + Huffman)の可能性が高いです。
c:\>
ChatGPTへ「可逆圧縮(LZ + Huffman)されたファイルを解凍するプログラムを作って欲しい」
↓
c:\>py lz_huffman_decompressor.py ns1_mcu.bin
推定圧縮形式: unknown
❌ 既知のLZ+Huffman圧縮形式では展開できません。
(独自辞書圧縮、カスタムハフマン符号、または暗号化の可能性があります)
— ファイルヘッダ (32 bytes) —
b’0ff512ed0100000005d81f6c00000042010000000c0c01100000000002000013′
c:\>
メモリダンプしたものから、CRC値とファイルサイズからツールで検索する Imaha486さん作成の ROM Masquerade を使っていましたが非力なPCでは時間がかかってしまうのが難点
tanamさん作成の crc.c を自コンパイルした crc.exe の方が速いかも?
https://tms9918.hatenablog.com/entry/2015/03/29/100742
スプラッターハウスが出てくるのって開閉器以外だとコレだけだと思います。
謎改変ありますが動作には問題無いですたぶん。
50xx.bin系も入ってますし。(お値段はオワってます)
https://amzn.to/4hm0wUc
僕も360版はメモリダンプするまでがめんどくさすぎてやってませんけども・・・
暗号や圧縮解読は使う人の前提知識が必要かもですね
それぞれの差異がどの暗号化や圧縮になるのか、少なくとヘッダ情報をみてあたりを付けるとか
ちなみに無料の範囲だとclaude.aiが一番マシなコード吐いてくれましたが
暗号化はためしたことないです;
ニャームコのアレですか
デコ版がBIOS天国でしたねww
開閉器は日英合体版でよくわからんでしたなあ
何か一部タイトルは表現規制なのか何なのかやたら面倒なのがありますね
ワンダーボーイとかスプラッターハウスとか。
>僕も360版はメモリダンプするまでがめんどくさすぎてやってませんけども・・・
最初のゲームはレベル3をクリアするとアンロックされるらしいです