(ShiinaRio): additional encryption scheme.

This commit is contained in:
morkt 2016-08-27 21:17:30 +04:00
parent ce0284300a
commit 6bd04f5bc6
2 changed files with 58 additions and 0 deletions

View File

@ -722,4 +722,53 @@ namespace GameRes.Formats.ShiinaRio
}
}
}
[Serializable]
public class DodakureCrypt : IDecryptExtra
{
public void Decrypt (byte[] data, int index, uint length, uint flags)
{
if (length < 0x200)
return;
if ((flags & 0x204) == 0x204)
{
if (0x718E958D == LittleEndian.ToUInt32 (data, index))
{
var input = new byte[0x200];
Buffer.BlockCopy (data, index, input, 0, 0x200);
int remaining = LittleEndian.ToInt32 (input, 8);
int src = 12;
int dst = index;
bool rle = false;
while (remaining > 0)
{
int count = input[src++];
if (rle)
{
byte v = data[dst-1];
for (int i = 0; i < count; ++i)
data[dst++] = v;
}
else
{
Buffer.BlockCopy (input, src, data, dst, count);
src += count;
dst += count;
}
remaining -= count;
if (count < 0xFF)
rle = !rle;
}
}
if (length > 0x200)
data[index + 0x200] ^= (byte)length;
if (length > 0x201)
data[index + 0x201] ^= (byte)(length >> 8);
if (length > 0x202)
data[index + 0x202] ^= (byte)(length >> 16);
if (length > 0x203)
data[index + 0x203] ^= (byte)(length >> 24);
}
}
}
}

View File

@ -195,6 +195,7 @@ Crime Rhyme<br/>
</td></tr>
<tr class="odd"><td>*.rpa</td><td><tt>RPA-3.0</tt></td><td>Yes</td><td>Ren'Py</td><td>Katawa Shoujo</td></tr>
<tr><td>*.arc</td><td>-</td><td>Yes</td><td rowspan="3">Will</td><td rowspan="3">
Chaste ☆ Chase!<br/>
Cynthia ~Sincerely to You~<br/>
Folklore Jam<br/>
Hapihosu! ~Osewasaremasu Nyuuin Seikatsu~<br/>
@ -265,9 +266,12 @@ Seirei Tenshou<br/>
Se-kirara<br/>
Sharin no Kuni, Himawari no Shoujo<br/>
Shokusai no Miyako<br/>
Smile Cubic!<br/>
Suiheisen made Nan Mile?<br/>
Swan Song<br/>
Teakamamire no Tenshi<br/>
Zecchou Spiral!!<br/>
Zettai Karen! Ojou-sama<br/>
</td></tr>
<tr><td>*.tlg</td><td><tt>TLG0.0</tt><br/><tt>TLG5.0</tt><br/><tt>TLG6.0</tt></td><td>No</td></tr>
<tr class="odd"><td>*.ypf</td><td><tt>YPF</tt></td><td>Yes</td><td rowspan="2">YU-RIS</td><td rowspan="2">
@ -375,6 +379,7 @@ Chikan Circle <span class="footnote">ShiinaRio v2.46</span><br/>
Chikan Circle 2 <span class="footnote">ShiinaRio v2.47</span><br/>
Chuuchuu Nurse <span class="footnote">ShiinaRio v2.45</span><br/>
Classmate no Okaa-san <span class="footnote">ShiinaRio v2.37</span><br/>
Doushite Daite Kurenai no!?<span class="footnote">ShiinaRio v2.49</span><br/>
Draculius <span class="footnote">ShiinaRio v2.38</span><br/>
Enkaku Sousa <span class="footnote">2.36 or 2.37</span><br/>
Gohoushi Nurse ~Mayonaka no Kyousei Call~ <span class="footnote">ShiinaRio v2.50</span><br/>
@ -720,6 +725,7 @@ Wizard Links<br/>
Atori no Sora to Shinchuu no Tsuki<br/>
Favorite Sweet!<br/>
Nanapuri<br/>
Sabae no Ou Scenario II<br/>
Soushinjutsu 3<br/>
</td></tr>
<tr class="odd"><td>*.spd</td><td><tt>SPDC</tt></td><td>No</td></tr>
@ -1000,13 +1006,16 @@ Aniyome Kyouka-san to Sono Haha Chikako-san<br/>
Aru Kazoku no Kankeizu<br/>
Chou no Yume ~Futari no Chou~<br/>
Cosplay Ecchi ~Layer Kana no Yuuutsu~<br/>
Fuka no Jugoku<br/>
Gakkou Yarashii Kaidan<br/>
Hanamaru! 2<br/>
Hime Kami 1/2<br/>
In'youchuu Goku ~Ryoujoku Jigoku Taimaroku~<br/>
In'youchuu Rei ~Ryoujoku Shiro Taima Emaki~<br/>
Koitsuma Biyori ~Yukino-san wa Hitozuma Kanrinin~<br/>
Kowaku no Toki<br/>
Kuraibito<br/>
Natsu Doki! Harem<br/>
Naze ka Kanojo ga Boku ni Ecchi o Sematte Kuru Ken<br/>
Onna Kyoushi Suzune<br/>
Oshioki ~Gakuen Reijou Kousei Keikaku~<br/>