This repository has been archived by the owner on Sep 21, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 107
/
index.html
455 lines (441 loc) · 19.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Important Head content -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="canonical" href="./index.html">
<title>RPG-Maker-MV & MZ Decrypter by Petschko</title>
<!-- Head-Meta stuff -->
<meta name="author" content="Petschko" />
<meta name="description" content="Decrypt, Restore or encrypt RPG-Maker-MV & MZ Files (.rpgmvp, .rpgmvm or .rpgmvo, .png_, .ogg_, .m4a_) here" />
<meta name="keywords" content="RPG-Maker-MV, RPG-Maker-Decrypter, rpg-maker, decrypt, decrypter, encrypt, encrypter, RPG-Maker-Encrypter, rpgmvp, rpgmvm, rpgmvo, RPG-Maker-MZ" />
<!-- Fav Icons -->
<link rel="shortcut icon" href="favicon.ico">
<link rel="icon" type="image/png" href="favicon.png" sizes="32x32">
<!-- MISC -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Styles Scripts etc -->
<!-- https://getbootstrap.com/docs/3.4/getting-started/ -->
<link rel="stylesheet" href="styles/bootstrap.min.css">
<link rel="stylesheet" href="styles/bootstrap-theme.min.css">
<link rel="stylesheet" href="styles/style.css?ver=2.0.2">
</head>
<body>
<noscript>
<div>
<p>
<strong>Warning</strong>: This Script requires JavaScript. Please enable JavaScript or switch to a newer Browser.
</p>
<hr>
<p>
This Script En/Decrypt Files for you but the Decryption is not done by a Server, it's done by your Browser.<br>
If you don't trust this Script <a href="https://gitlab.com/Petschko/RPG-Maker-MV-Decrypter" title="Check out the Source-Code" target="_blank">check out the Code on GitLab</a> <i>(or view it in your Browser)</i>. =)
</p>
</div>
</noscript>
<div>
<div class="info">
<strong>Information:</strong>
<p>
I've <a href="https://gitlab.com/Petschko/Java-RPG-Maker-MV-Decrypter/-/releases" title="See the Alpha on GitLab" target="_blank">released an Alpha-Version</a> of my Project "<a href="https://gitlab.com/Petschko/Java-RPG-Maker-MV-Decrypter" title="Visit the Project on GitLab" target="_blank">Java-RPG-Maker-MV-Decrypter</a>", which works with whole Directories and save/renames Files by itself...<br>
May you try it out, it also have a GUI. If you just want to decrypt single-Files, I recommend this Version here <i>(Bec you don't need to download it)</i>. But for whole Directories you should try the Java-Version of the Decrypter! =)
</p>
</div>
<div class="center title">
<img class="logo" src="img/projectIcon.png" alt="Project Icon (Chest with a key)" title="Un or Re-Lock RPG-Maker MV-Files">
<h1>Petschkos RPG-Maker MV & MZ-File Decrypter</h1>
</div>
<!-- Nav bar -->
<ul class="nav nav-tabs">
<li class="nav-link active">
<a href="#home"><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> Home</a>
</li>
<li class="nav-link">
<a href="#en-decrypt"><span class="glyphicon glyphicon-flash" aria-hidden="true"></span> En- & Decrypt</a>
</li>
<li class="nav-link">
<a href="#restore-images"><span class="glyphicon glyphicon-picture" aria-hidden="true"></span> Restore-Images (No-Key)</a>
</li>
<li class="nav-link">
<a href="#browser-support"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Browser Support</a>
</li>
<li class="nav-link">
<a href="#howTo"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> How to use</a>
</li>
<!--<li class="nav-link">
<a href="#about"><span class="glyphicon glyphicon-list" aria-hidden="true"></span> About</a>
</li>-->
</ul>
<!-- Nav bar end -->
<div id="home" class="content-container">
<p>Welcome to the RPG-Maker MV & MZ-File Decrypter you can easily decrypt Files from any RPG-MV/RPG-MZ Project that are encrypted with the Build-In encryption. You can also encrypt them back (Mainly used for translation purposes).</p>
<p>Make sure that you don't use this tool to steal assets, if you want to take a look on images (which is okay for private use by most laws), feel free to do, but don't steal them please.</p>
<div class="center">
<p>Please select what you want to do:</p>
<a href="#restore-images" class="menu-link btn btn-primary">
(No-Key) Restore images from a Game
</a>
<a href="#en-decrypt" class="menu-link btn btn-primary">
En/Decrypt Files to/from a Game
</a>
</div>
</div>
<div id="en-decrypt" class="content-container">
<p>PNG-Files (Images - "<b>.rpgmvp</b> & <b>.png_</b>-Files") don't need the Decryption-Code, <b>except</b> you want to re-encrypt them. <a href="#restore-images" class="menu-link">Please go here for restoring images without Key</a>.</p>
<hr />
<p>In this area you can De- and (Re-)Encrypt Files from RPG-Maker MV & MZ Games.</p>
<p>You can get the Decrypt-Code from the File:</p>
<ul>
<li><b>RPG-Maker MV</b>: "Game-Directory"/www/data/System(.json) or any Encrypted Image ("<b>.rpgmvp</b>"-File)</li>
<li><b>RPG-Maker MZ</b>: "Game-Directory"/data/System(.json) or any Encrypted Image ("<b>.png_</b>"-File)</li>
</ul>
<p>Click "Detect" after you selected the System(.json) File. If you know the Key you can also just enter it in the text-box.</p>
<hr />
<div class="wrapper center">
<div class="left">
<h2>Select Files & Infos</h2>
<div class="fileInfoArea">
<fieldset class="decryptCodeArea">
<legend>1. Decrypt-Code</legend>
<div>
<label for="systemFile">
Select a <b>System(.json)</b> or "<b>.rpgmvp</b>"/"<b>.png_</b>" and click Detect!<br>
</label>
<div class="button-grid-wrapper">
<div class="box1">
<input type="file" accept=".json,.txt,.js,.rpgmvp,.png_" name="system.json" id="systemFile">
</div>
<div class="box2">
<button class="btn btn-default" type="button" id="detectButton">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
<span>Detect</span>
</button>
</div>
</div>
</div>
<div>
<label>
En/Decrypt-Code: <input type="text" name="decryptCode" id="decryptCode" required>
</label>
</div>
</fieldset>
<fieldset>
<legend>2. Select File(s)</legend>
<div>
<label for="encryptedFiles">
En/Decrypt-File(s):
</label>
<div class="bottom-space drag-drop-file">
<input type="file" accept=".png,.ogg,.m4a,.rpgmvp,.rpgmvm,.rpgmvo,.png_,.ogg_,.m4a_" name="encryptedFiles" id="encryptedFiles" title="Drag and drop files here or select them" multiple required>
</div>
</div>
</fieldset>
<fieldset class="advancedArea">
<legend>Advanced</legend>
<div class="bottom-space">
Verify Fake-Header?
<div class="tooltip help">
(?)
<div class="tooltipText longText">
<p>This checks if the File-Header is correct (Start of the File).</p>
<p>The Header is just important for Encryption. (Decryption can ignore it)</p>
<hr>
<p class="text-left">In <strong>very rare</strong> cases some Games use different Header-Settings. You can find the correct-Header-Settings in:<br>
<span class="red">"Game-Directory"/www/js/rpg_core.js</span><br>
Search for "<strong>function Decrypter()</strong>", there you can find all values.</p>
</div>
</div>
</div>
<div>
<label style="margin-right: 5px;">
<input type="radio" name="checkFakeHeader" value="1">Yes
</label>
<label>
<input type="radio" name="checkFakeHeader" value="0" checked="checked">No (Ignore it)
<span class="tooltip help">
(?)
<span class="tooltipText longText">
Ignores the File-Header<br>
<strong>Warning</strong>: Can cause invalid decrypted Files! (Its decrypts even if the File was not encrypted. After that, the new File is useless)<br>
<br>
Just use "No" if you are sure, that your File is Encrypted by the RPG-Maker!
</span>
</span>
</label>
</div>
<div id="headerValuesEditArea">
<div>
<div id="spoilerHeaderInfoText" class="link">Header-Values (Show)</div>
</div>
<div id="headerInfo" class="hidden">
<h3>Header-Info</h3>
<div class="tooltip help">
(?)
<div class="tooltipText">
Expert Settings! Usually you don't need to change anything here! (Just in VERY RARE cases)
</div>
</div>
<div>
When do I need to change these settings?<br>
<div class="tooltip help">
Decryption
<div class="tooltipText longText">
<p>
Usually you don't need the Header for decryption.<br>
<i>(It is just thrown away)</i>
</p>
<p>
It's just used to ensure, that your File is a RPG-Maker encrypted File^^
</p>
<hr>
<p class="text-left">
<span class="green">Summary</span>: You <b>CAN</b> decrypt any RPG-File without knowing the correct settings.<br>
Just turn it to "Don't verify" if it can't verify the Header for you =)<br>
Usually it works with the default settings.
</p>
</div>
</div>
|
<div class="tooltip help">
Encryption
<div class="tooltipText longText">
<p class="text-left">
If you want to turn a File back to the Game, you NEED the Header. The Game checks if the Header is correct.
</p>
<p class="text-left">
If the Header is not correct the Game can't display it...
</p>
<hr>
<p class="text-left">
<span class="green">Summary</span>: You <b>NEED</b> the correct Header. If the Header is wrong, the Game can't display it.<br>
Usually the default settings are working fine for 99 of 100 games.<br>
So please try first the default setting and if it doesn't work, then you can search for the correct Header-Settings.
</p>
<hr>
<p class="text-left">
You find them as described in 'Verify Fake-Header-Help':<br>
<span class="red">"Game-Directory"/www/js/rpg_core.js</span><br>
Search for "<strong><u>function Decrypter()</u></strong>", there you can find all values.
</p>
</div>
</div>
</div>
<div>
<label>
Header-Length <i>(In Bytes)</i>: <input type="text" name="headerLen" id="headerLen">
</label>
</div>
<div>
<label>
Header-Signature: <input type="text" name="signature" id="signature">
</label>
</div>
<div>
<label>
Header-Version: <input type="text" name="version" id="version">
</label>
</div>
<div>
<label>
Header-Remain: <input type="text" name="remain" id="remain">
</label>
</div>
<button class="btn btn-danger" type="button" id="resetHeader">
<span class="glyphicon glyphicon-refresh" aria-hidden="true"></span>
<span>Reset Header-Values to default</span>
</button>
</div>
</div>
</fieldset>
<button class="btn btn-success" type="button" id="decrypt">
<img src="img/lock_broken.png" alt="(Broken Lock)">
<span>Decrypt</span>
</button>
<button class="btn btn-default" type="button" id="encrypt-mv">
<img src="img/lock.png" alt="(Lock)">
<span>(Re)-Encrypt MV</span>
</button>
<button class="btn btn-default" type="button" id="encrypt-mz">
<img src="img/lock.png" alt="(Lock)">
<span>(Re)-Encrypt MZ</span>
</button>
</div>
</div>
<div class="fileList right">
<h2>File-List</h2>
<fieldset>
<legend>3. Download File(s)</legend>
<div class="bottom-space">
<button class="btn btn-primary zipSave" type="button" disabled>
<span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
<span>Save all as ZIP-File</span>
</button>
<div class="tooltip help">
(i)
<div class="tooltipText">
There is a Size-Limitation depends on your Memory and your Browser... To handle MANY Files (500+mb) better use the Java-Decrypter!
</div>
</div>
<button class="btn btn-default clearFileList" type="button" disabled>
<span class="glyphicon glyphicon-erase" aria-hidden="true"></span>
<span>Clear File-List</span>
</button>
<div class="tooltip help">
(?)
<div class="tooltipText">
Remove all Files from the List below
</div>
</div>
</div>
<div class="blob-list bottom-space"></div>
</fieldset>
</div>
</div>
</div>
<div id="restore-images" class="content-container">
<p>In this area you can Restore PNG-Files (Images - "<b>.rpgmvp</b> & <b>.png_</b>-Files") from RPG-Maker Games without the Decryption-Key.</p>
<hr>
<div class="wrapper center">
<div class="left">
<div class="fileInfoArea">
<h2>Select RPGMVP / PNG_ Files</h2>
<fieldset>
<legend>1. Select File(s)</legend>
<label for="encryptedImg">
Select File/s to restore:
</label>
<div class="bottom-space drag-drop-file">
<input id="encryptedImg" type="file" accept=".rpgmvp,.png_" name="encryptedImg" title="Drag and drop files here or select them" multiple required>
</div>
</fieldset>
<div>
<button type="button" class="btn btn-success" id="restoreEncryptedImages">
<span class="glyphicon glyphicon-wrench" aria-hidden="true"></span>
<span>Restore Original Images</span>
</button>
</div>
</div>
</div>
<div class="fileList right">
<h2>File-List</h2>
<fieldset>
<legend>2. Download File(s)</legend>
<button class="btn btn-primary zipSave" type="button" disabled>
<span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
<span>Save all as ZIP-File</span>
</button>
<div class="tooltip help">
(i)
<div class="tooltipText">
There is a Size-Limitation depends on your Memory and your Browser... To handle MANY Files (500+mb) better use the Java-Decrypter!
</div>
</div>
<button class="btn btn-default clearFileList" type="button" disabled>
<span class="glyphicon glyphicon-erase" aria-hidden="true"></span>
<span>Clear File-List</span>
</button>
<div class="tooltip help">
(?)
<div class="tooltipText">
Remove all Files from the List below
</div>
</div>
<div class="blob-list bottom-space"></div>
</fieldset>
</div>
</div>
</div>
<div id="browser-support" class="content-container">
<h2 id="browserSupport">Browser-Support</h2>
<p><strong>First</strong>: Please note, that this Script is just tested and developed on Firefox. You can help me to make it run on all Browsers, by <a href="https://gitlab.com/Petschko/RPG-Maker-MV-Decrypter/-/issues" title="Help me by reporting Bugs" target="_blank">reporting bugs</a>!</p>
<ul>
<li>
<s>Internet-Explorer <span class="red">(Unusable - Out of support)</span></s>
<span class="tooltip help">
(Details)
<span class="tooltipText">
<span class="red">Download Files</span><br>
<span class="red">View Files</span><br>
<span class="yellow">En/Decrypt</span><br>
<span class="grey">ZIP-Download</span> - <i>Unknown</i>
</span>
</span>
</li>
<li>
Edge <span class="green">(Usable)</span>
</li>
<li>
Google-Chrome <span class="green">(Usable)</span>
</li>
<li>
Firefox <span class="green">(Usable)</span>
</li>
<li>
Safari <span class="green">(Usable)</span>
</li>
<li>
Opera <span class="green">(Usable)</span>
</li>
</ul>
</div>
<div id="howTo" class="content-container">
<h2>How to use?</h2>
<ol>
<li>
Check if the encrypted Files have the File-Extension "<strong>.rpgmvp</strong>", "<strong>.rpgmvm</strong>", "<strong>.rpgmvo</strong>", "<strong>.png_</strong>", "<strong>.ogg_</strong>" or "<strong>.m4a_</strong>" - If they have this extension(s) you can use this script<br>
<i>If you want to ENCRYPT Files, they usually have a File-Extension like "png" or something else =)</i>
</li>
<li>
Get the En/Decrypt-Code.<br>
<span class="red">New:</span> PNG-Files (Images - "<b>.rpgmvp</b> & <b>.png_</b>-Files") don't need the Decryption-Code, <b>except</b> you want to re-encrypt them. <a href="#restore-images" class="menu-link">Please go here for restoring images without Key</a>.
<ul>
<li>Upload the System.json File from the Game and let detect the Code automatic. (Click on "Detect", after selecting the System.json)</li>
<li>If the Detection don't work further instructions pop up.</li>
</ul>
</li>
<li>Select the File(s) to de/encrypt - <i>Multi-Select-Files are possible!</i></li>
<li>Hit the Decrypt or Encrypt-Button</li>
<li>
You can preview your decrypted Files, if you click on "View", next to the Filename. <i>(Of course you can't preview encrypted Files)</i>
</li>
<li>
You can save them now, by clicking on "Save". (The Script will keep the File-Name and change the Extension for you!) =)
<ul>
<li>
You can also save all of the Files in the File-List as ZIP by clicking "Save all as ZIP-File"!
</li>
</ul>
</li>
</ol>
</div>
</div>
<footer>
<div class="css_valid center">
<a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank">
<img class="valid_css" src="https://jigsaw.w3.org/css-validator/images/vcss" alt="CSS ist valide!" />
</a>
</div>
<div class="center creator">
Script created by <a href="mailto:peter@petschko.org" title="Send me a Mail if you have questions/problems">Petschko</a>
|
<a href="https://gitlab.com/Petschko/RPG-Maker-MV-Decrypter" target="_blank" title="Visit this Project on GitLab">
Visit the Repository on GitLab
</a>
|
<a href="https://gitlab.com/Petschko/RPG-Maker-MV-Decrypter/-/issues" target="_blank" title="Please report Bugs if you find some =) (Can also send me a Mail)">
Please report Bugs here
</a>
</div>
</footer>
<!-- Add Scripts -->
<script src="libs/FileSaver.min.js"></script>
<script src="libs/jszip.min.js?ver=3.1.3"></script>
<script src="libs/lz-string.min.js"></script>
<script src="scripts/RPGFile.js?ver=1.2.1"></script>
<script src="scripts/ErrorException.js?ver=1.0"></script>
<script src="scripts/Decrypter.js?ver=2.0.0"></script>
<script src="scripts/ZIP.js?ver=0.3"></script>
<script src="scripts/functions.js?ver=2.0.1"></script>
<script src="scripts/menu.js?ver=1.1.0"></script>
</body>
</html>