mirror of
https://github.com/crskycode/GARbro.git
synced 2024-11-27 15:44:00 +08:00
(Cmvs): another encryption scheme.
This commit is contained in:
parent
a648aff032
commit
010384fbfa
@ -2,7 +2,7 @@
|
|||||||
//! \date Mon Nov 30 13:29:27 2015
|
//! \date Mon Nov 30 13:29:27 2015
|
||||||
//! \brief Cmvs engine MD5 update algorithm.
|
//! \brief Cmvs engine MD5 update algorithm.
|
||||||
//
|
//
|
||||||
// Copyright (C) 2015 by morkt
|
// Copyright (C) 2015-2016 by morkt
|
||||||
//
|
//
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
// of this software and associated documentation files (the "Software"), to
|
// of this software and associated documentation files (the "Software"), to
|
||||||
@ -27,7 +27,7 @@ using GameRes.Utility;
|
|||||||
|
|
||||||
namespace GameRes.Formats.Cmvs
|
namespace GameRes.Formats.Cmvs
|
||||||
{
|
{
|
||||||
public enum Md5Variant { A, B, Chrono, Memoria }
|
public enum Md5Variant { A, B, Chrono, Memoria, Natsu }
|
||||||
|
|
||||||
public abstract class MD5 : Cryptography.MD5Base
|
public abstract class MD5 : Cryptography.MD5Base
|
||||||
{
|
{
|
||||||
@ -44,6 +44,7 @@ namespace GameRes.Formats.Cmvs
|
|||||||
case Md5Variant.B: return new Md5VariantB();
|
case Md5Variant.B: return new Md5VariantB();
|
||||||
case Md5Variant.Chrono: return new Md5Chrono();
|
case Md5Variant.Chrono: return new Md5Chrono();
|
||||||
case Md5Variant.Memoria: return new Md5Memoria();
|
case Md5Variant.Memoria: return new Md5Memoria();
|
||||||
|
case Md5Variant.Natsu: return new Md5Natsu();
|
||||||
default: throw new System.ArgumentException ("Unknown MD5 variant", "variant");
|
default: throw new System.ArgumentException ("Unknown MD5 variant", "variant");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -131,4 +132,23 @@ namespace GameRes.Formats.Cmvs
|
|||||||
data[3] = m_state[0];
|
data[3] = m_state[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Md5Natsu : MD5
|
||||||
|
{
|
||||||
|
protected override void InitState ()
|
||||||
|
{
|
||||||
|
m_state[0] = 0x63FE9A7C;
|
||||||
|
m_state[1] = 0xC2B93E98;
|
||||||
|
m_state[2] = 0xEF91BA5C;
|
||||||
|
m_state[3] = 0x72C9A82E;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void SetResult (uint[] data)
|
||||||
|
{
|
||||||
|
data[0] = m_state[1] + 0x45876329;
|
||||||
|
data[1] = m_state[2] ^ 0x54F36D6C;
|
||||||
|
data[2] = m_state[3] + 0x4387A749;
|
||||||
|
data[3] = m_state[0] ^ 0xE3F9A742;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -465,6 +465,7 @@ Oto☆Puri<br/>
|
|||||||
Prawf Clwyd<br/>
|
Prawf Clwyd<br/>
|
||||||
Rakuen no Rukia ~Blood Moon Rising~<br/>
|
Rakuen no Rukia ~Blood Moon Rising~<br/>
|
||||||
Samayou Mitama ni Yasuragi no Toki wo<br/>
|
Samayou Mitama ni Yasuragi no Toki wo<br/>
|
||||||
|
School Five ~Itsutsu no Himitsu no Monogatari~<br/>
|
||||||
Time Trouble ~Marie ni Kubikkake~<br/>
|
Time Trouble ~Marie ni Kubikkake~<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td>*.dat</td><td>-</td><td>No</td><td>Ail</td><td>
|
<tr><td>*.dat</td><td>-</td><td>No</td><td>Ail</td><td>
|
||||||
@ -881,6 +882,7 @@ Chrono Clock<br/>
|
|||||||
Hapymaher<br/>
|
Hapymaher<br/>
|
||||||
Haruiro Ouse<br/>
|
Haruiro Ouse<br/>
|
||||||
Memoria<br/>
|
Memoria<br/>
|
||||||
|
Natsu ni Kanaderu Bokura no Uta<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr class="last"><td>*.pb3</td><td><tt>PB3B</tt></td><td>No</td></tr>
|
<tr class="last"><td>*.pb3</td><td><tt>PB3B</tt></td><td>No</td></tr>
|
||||||
<tr class="odd"><td>*.g2<br/>*.stx</td><td>-</td><td>No</td><td rowspan="2">GLib2</td><td rowspan="2">
|
<tr class="odd"><td>*.g2<br/>*.stx</td><td>-</td><td>No</td><td rowspan="2">GLib2</td><td rowspan="2">
|
||||||
@ -1086,8 +1088,9 @@ Kuraibito<br/>
|
|||||||
Natsu Doki! Harem<br/>
|
Natsu Doki! Harem<br/>
|
||||||
Naze ka Kanojo ga Boku ni Ecchi o Sematte Kuru Ken<br/>
|
Naze ka Kanojo ga Boku ni Ecchi o Sematte Kuru Ken<br/>
|
||||||
Onna Kyoushi Suzune<br/>
|
Onna Kyoushi Suzune<br/>
|
||||||
Oshioki ~Gakuen Reijou Kousei Keikaku~<br/>
|
|
||||||
Ore Maou! ~Kudake Chitta Tamashii<br/>
|
Ore Maou! ~Kudake Chitta Tamashii<br/>
|
||||||
|
Oshioki ~Gakuen Reijou Kousei Keikaku~<br/>
|
||||||
|
Ouma no Shoku ~Sei ni Tsukaeshi Yami no Guuzou~<br/>
|
||||||
Volley Coaching!<br/>
|
Volley Coaching!<br/>
|
||||||
Zoku Etsuraku no Tane<br/>
|
Zoku Etsuraku no Tane<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@ -1177,6 +1180,7 @@ Lost Child<br/>
|
|||||||
<tr class="odd last"><td>*.esd</td><td><tt>ESD</tt></td><td>No</td></tr>
|
<tr class="odd last"><td>*.esd</td><td><tt>ESD</tt></td><td>No</td></tr>
|
||||||
<tr><td>*.pak</td><td><tt>NEKOPACK4A</tt></td><td>No</td><td>NekoSDK</td><td>
|
<tr><td>*.pak</td><td><tt>NEKOPACK4A</tt></td><td>No</td><td>NekoSDK</td><td>
|
||||||
In Vitro Shoujo -Aragaishi Junshin Naru Shoujo-<br/>
|
In Vitro Shoujo -Aragaishi Junshin Naru Shoujo-<br/>
|
||||||
|
Shirudaku Settai Okawari Ippaime<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr class="odd"><td>*.pcf</td><td><tt>PackCode</tt></td><td>No</td><td rowspan="2">Symphony</td><td rowspan="2">
|
<tr class="odd"><td>*.pcf</td><td><tt>PackCode</tt></td><td>No</td><td rowspan="2">Symphony</td><td rowspan="2">
|
||||||
Tiara<br/>
|
Tiara<br/>
|
||||||
|
Loading…
Reference in New Issue
Block a user