ReverseBox 0.26.2__tar.gz → 0.26.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {reversebox-0.26.2 → reversebox-0.26.5}/PKG-INFO +2 -1
- {reversebox-0.26.2 → reversebox-0.26.5}/README.md +1 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/ReverseBox.egg-info/PKG-INFO +2 -1
- {reversebox-0.26.2 → reversebox-0.26.5}/ReverseBox.egg-info/SOURCES.txt +1 -0
- reversebox-0.26.5/reversebox/hash/hash_pivotal_games_dat.py +48 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/image_decoder.py +24 -8
- {reversebox-0.26.2 → reversebox-0.26.5}/setup.py +1 -1
- {reversebox-0.26.2 → reversebox-0.26.5}/LICENSE +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/ReverseBox.egg-info/dependency_links.txt +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/ReverseBox.egg-info/requires.txt +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/ReverseBox.egg-info/top_level.txt +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_adler32.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_cocos2d_pvr.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_fletcher16.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_fletcher32.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_internet_ipv4_header.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_sum8.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_sum8_2s_complement.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_unix_sum_bsd16.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_unix_sum_sysv.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_xor8.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/common/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/common/common.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/common/logger.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/common/numpy_helper_functions.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/compression/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/compression/compression_jcalg1.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/compression/compression_lzo.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/compression/compression_mio0.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/compression/compression_refpack.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/compression/compression_zlib.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc16_arc.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc16_ccitt.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc16_dnp.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc16_ea_crcf.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc16_kermit.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc16_modbus.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc16_sick.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc32_asobo.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc32_iso_hdlc.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc64_asobo.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc64_go_iso.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc8.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/crc/crc_unix_cksum.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_hatch_engine.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_rot13.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_xor_basic.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_xor_basic_key_guesser.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_xor_gianas_return_zda.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_xor_retro64_eco.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_additive.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_ap.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_djb2.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_fnv.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_jenkins_one_at_a_time.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_md2.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_md5.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_murmur3.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_sdbm.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_sha1.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/hash/hash_sha2.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/common.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_gst.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_lzw.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_packbits.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_rle_executioners.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_rle_tga.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_zlib.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/decoders/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/decoders/bumpmap_decoder.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/decoders/compressed_decoder.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/decoders/gst_decoder.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/decoders/n64_decoder.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/decoders/yuv_decoder.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/encoders/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/encoders/gst_encoder.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/file_formats/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/file_formats/image_dds.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/image_encoder.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/image_formats.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/palettes/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/palettes/palette_random.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/palettes/palette_vga.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/pillow_wrapper.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_3ds.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_bc.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_cmpr.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_gamecube.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_gst.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_morton.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_morton_ps4.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_ps2.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_psp.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_switch.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_x360.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/io_files/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/io_files/bytes_handler.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/io_files/bytes_helper_functions.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/io_files/check_file.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/io_files/file_handler.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/io_files/mod_handler.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/io_files/translation_text_handler.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/libs/DirectXTex.dll +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/libs/__init__.py +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/libs/ea_swizzle.dll +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/reversebox/libs/refpack.dll +0 -0
- {reversebox-0.26.2 → reversebox-0.26.5}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ReverseBox
|
|
3
|
-
Version: 0.26.
|
|
3
|
+
Version: 0.26.5
|
|
4
4
|
Summary: A set of functions useful in reverse engineering.
|
|
5
5
|
Home-page: https://github.com/bartlomiejduda/ReverseBox
|
|
6
6
|
Author: Bartlomiej Duda
|
|
@@ -135,6 +135,7 @@ or software researchers).
|
|
|
135
135
|
- Murmur3 ✔️ <span style="color:yellow">(wrapper only)</span>
|
|
136
136
|
- (game-specific) Hercules (TODO) ❌
|
|
137
137
|
- (game-specific) E-racer (TODO) ❌
|
|
138
|
+
- (game-specific) Pivotal Games DAT Hash ✔️
|
|
138
139
|
|
|
139
140
|
* Image
|
|
140
141
|
- Decode RGB121 ✔️
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ReverseBox
|
|
3
|
-
Version: 0.26.
|
|
3
|
+
Version: 0.26.5
|
|
4
4
|
Summary: A set of functions useful in reverse engineering.
|
|
5
5
|
Home-page: https://github.com/bartlomiejduda/ReverseBox
|
|
6
6
|
Author: Bartlomiej Duda
|
|
@@ -135,6 +135,7 @@ or software researchers).
|
|
|
135
135
|
- Murmur3 ✔️ <span style="color:yellow">(wrapper only)</span>
|
|
136
136
|
- (game-specific) Hercules (TODO) ❌
|
|
137
137
|
- (game-specific) E-racer (TODO) ❌
|
|
138
|
+
- (game-specific) Pivotal Games DAT Hash ✔️
|
|
138
139
|
|
|
139
140
|
* Image
|
|
140
141
|
- Decode RGB121 ✔️
|
|
@@ -58,6 +58,7 @@ reversebox/hash/hash_jenkins_one_at_a_time.py
|
|
|
58
58
|
reversebox/hash/hash_md2.py
|
|
59
59
|
reversebox/hash/hash_md5.py
|
|
60
60
|
reversebox/hash/hash_murmur3.py
|
|
61
|
+
reversebox/hash/hash_pivotal_games_dat.py
|
|
61
62
|
reversebox/hash/hash_sdbm.py
|
|
62
63
|
reversebox/hash/hash_sha1.py
|
|
63
64
|
reversebox/hash/hash_sha2.py
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright © 2025 Bartłomiej Duda
|
|
3
|
+
License: GPL-3.0 License
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import numpy as np
|
|
7
|
+
|
|
8
|
+
# Pivotal Games DAT hash
|
|
9
|
+
# Used for hashing filenames in DAT archives in games like:
|
|
10
|
+
# - Conflict: Desert Storm
|
|
11
|
+
# - Conflict: Desert Storm II
|
|
12
|
+
# - Conflict: Vietnam
|
|
13
|
+
# - Conflict: Global Terror
|
|
14
|
+
# - Conflict: Denied Ops
|
|
15
|
+
# - The Great Escape
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class PivotalGamesDATHashHandler:
|
|
19
|
+
def __init__(self):
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
@staticmethod
|
|
23
|
+
def calculate_pivotal_games_dat_hash_from_string(input_string: str) -> int:
|
|
24
|
+
j = 0
|
|
25
|
+
dw_hash = np.int32(1)
|
|
26
|
+
b_counter = np.uint8(1)
|
|
27
|
+
dw_blocks = 8 * len(input_string)
|
|
28
|
+
|
|
29
|
+
if dw_blocks > 0:
|
|
30
|
+
for i in range(dw_blocks):
|
|
31
|
+
A = (dw_hash & 0x200000) != 0
|
|
32
|
+
B = (dw_hash & 2) != 0
|
|
33
|
+
C = (dw_hash & 1) != 0
|
|
34
|
+
D = dw_hash < 0
|
|
35
|
+
|
|
36
|
+
dw_hash *= 2
|
|
37
|
+
|
|
38
|
+
X = (ord(input_string[j]) & b_counter) != 0
|
|
39
|
+
|
|
40
|
+
if D ^ (A ^ B ^ C ^ X):
|
|
41
|
+
dw_hash |= 1
|
|
42
|
+
|
|
43
|
+
b_counter *= 2
|
|
44
|
+
if b_counter == 0:
|
|
45
|
+
j += 1
|
|
46
|
+
b_counter = np.uint8(1)
|
|
47
|
+
|
|
48
|
+
return int(np.uint32(dw_hash))
|
|
@@ -656,7 +656,7 @@ class ImageDecoder:
|
|
|
656
656
|
palette_offset += palette_entry_size
|
|
657
657
|
palette_data_ints.append(palette_entry_int)
|
|
658
658
|
|
|
659
|
-
if img_bits_per_pixel == 4:
|
|
659
|
+
if img_bits_per_pixel == 4: # e.g. PAL4
|
|
660
660
|
for i in range(0, img_width * img_height, 2):
|
|
661
661
|
palette_index: bytes = image_handler.get_bytes(image_offset, 1)
|
|
662
662
|
palette_index_int: int = struct.unpack(image_endianess_format + "B", palette_index or b'\x00')[0]
|
|
@@ -669,17 +669,23 @@ class ImageDecoder:
|
|
|
669
669
|
else:
|
|
670
670
|
raise Exception(f"Endianess not supported! Endianess: {image_endianess}")
|
|
671
671
|
image_offset += 1
|
|
672
|
-
elif img_bits_per_pixel == 8:
|
|
672
|
+
elif img_bits_per_pixel == 8: # e.g. PAL8
|
|
673
673
|
for i in range(img_width * img_height):
|
|
674
674
|
palette_index: bytes = image_handler.get_bytes(image_offset, 1)
|
|
675
675
|
palette_index_int: int = struct.unpack(image_endianess_format + "B", palette_index or b'\x00')[0]
|
|
676
676
|
texture_data[i * 4:(i + 1) * 4] = decode_function(self, palette_data_ints[palette_index_int]) # noqa
|
|
677
677
|
image_offset += 1
|
|
678
|
-
elif img_bits_per_pixel == 16:
|
|
678
|
+
elif img_bits_per_pixel == 16: # e.g. PAL16
|
|
679
679
|
for i in range(img_width * img_height):
|
|
680
680
|
if image_format is ImageFormats.PAL_I8A8:
|
|
681
|
-
|
|
682
|
-
|
|
681
|
+
if image_endianess == "little":
|
|
682
|
+
palette_index: bytes = image_handler.get_bytes(image_offset, 1)
|
|
683
|
+
alpha_value: bytes = image_handler.get_bytes(image_offset+1, 1)
|
|
684
|
+
elif image_endianess == "big":
|
|
685
|
+
palette_index: bytes = image_handler.get_bytes(image_offset+1, 1)
|
|
686
|
+
alpha_value: bytes = image_handler.get_bytes(image_offset, 1)
|
|
687
|
+
else:
|
|
688
|
+
raise Exception(f"Endianess not supported! Endianess: {image_endianess}")
|
|
683
689
|
palette_index_int: int = struct.unpack(image_endianess_format + "B", palette_index or b'\x00')[0]
|
|
684
690
|
alpha_value_int: int = struct.unpack(image_endianess_format + "B", alpha_value or b'\x00')[0]
|
|
685
691
|
output_bytes: bytes = decode_function(self, palette_data_ints[palette_index_int]) # noqa
|
|
@@ -698,13 +704,23 @@ class ImageDecoder:
|
|
|
698
704
|
|
|
699
705
|
texture_data[i * 4:(i + 1) * 4] = decoded_bytes
|
|
700
706
|
else:
|
|
701
|
-
|
|
707
|
+
if image_endianess == "little":
|
|
708
|
+
palette_index: bytes = image_handler.get_bytes(image_offset, 1)
|
|
709
|
+
elif image_endianess == "big":
|
|
710
|
+
palette_index: bytes = image_handler.get_bytes(image_offset+1, 1)
|
|
711
|
+
else:
|
|
712
|
+
raise Exception(f"Endianess not supported! Endianess: {image_endianess}")
|
|
702
713
|
palette_index_int: int = struct.unpack(image_endianess_format + "B", palette_index or b'\x00')[0]
|
|
703
714
|
texture_data[i * 4:(i + 1) * 4] = decode_function(self, palette_data_ints[palette_index_int]) # noqa
|
|
704
715
|
image_offset += 2
|
|
705
|
-
elif img_bits_per_pixel == 32:
|
|
716
|
+
elif img_bits_per_pixel == 32: # e.g. PAL32
|
|
706
717
|
for i in range(img_width * img_height):
|
|
707
|
-
|
|
718
|
+
if image_endianess == "little":
|
|
719
|
+
palette_index: bytes = image_handler.get_bytes(image_offset, 1)
|
|
720
|
+
elif image_endianess == "big":
|
|
721
|
+
palette_index: bytes = image_handler.get_bytes(image_offset+3, 1)
|
|
722
|
+
else:
|
|
723
|
+
raise Exception(f"Endianess not supported! Endianess: {image_endianess}")
|
|
708
724
|
palette_index_int: int = struct.unpack(image_endianess_format + "B", palette_index or b'\x00')[0]
|
|
709
725
|
texture_data[i * 4:(i + 1) * 4] = decode_function(self, palette_data_ints[palette_index_int]) # noqa
|
|
710
726
|
image_offset += 4
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.26.2 → reversebox-0.26.5}/reversebox/checksum/checksum_internet_ipv4_header.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_xor_basic_key_guesser.py
RENAMED
|
File without changes
|
{reversebox-0.26.2 → reversebox-0.26.5}/reversebox/encryption/encryption_xor_gianas_return_zda.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_packbits.py
RENAMED
|
File without changes
|
{reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/compression/compression_rle_executioners.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.26.2 → reversebox-0.26.5}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|