(なぜ PC を追加する必要があるのかというと、モバイル版のウェブページは暗号化されていないようです)
まず、漫画のディレクトリページを開き、F12 キーを押します。ディレクトリの API リクエストが 16 進数の塊を返すのが見えます。
ネットワークリクエストを発行する JavaScript ファイルに入ると、eval が表示されます。
eval 内の関数は文字列を返し、それを JavaScript ファイルに保存します。リクエストファイルを whistle で置き換え、Firefox で HTTP リクエストのコールバック関数を見つけてブレークポイントを設定します(主に'url': _0x1edb91 + _0x2f1f('0x19') + _0x124534 + '/chapters','success': function(){...}
の部分を見つけました)。
155 行まで実行すると、復号化された JSON が_0x336148
に存在することがわかります。147 行と 148 行は 2 つの関数呼び出しで、a.b.c.d
はa[b][c][d]
の形式で書かれています。括弧内の式を一つずつ評価すると、この関数はxxx.enc.hex.parse
であることがわかります。関数名を検索し、CryptoJS
に関連する内容を見つけ、ここでは AES 復号化が使用されていることがわかります。パスワードは 144 行のdio
で、IV オフセット値は 146 行の_0x513f33
です。この時点で、result
を直接復号化することはできません。_0x2bee4f
がresult
よりも 16 ビット少ないことがわかりますが、これはオフセット値です。それを取り除いて復号化すると、ディレクトリが得られます。
次は漫画の閲覧ページです。
F12 で API の呼び出しは見つかりませんでしたが、画像は遅延読み込みされています。ソースコードを確認すると...
ここでも同じ復号化方法が使用されています。