ReverseBox 0.20.2__tar.gz → 0.20.4__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.20.2 → reversebox-0.20.4}/PKG-INFO +3 -3
- {reversebox-0.20.2 → reversebox-0.20.4}/README.md +1 -1
- {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/PKG-INFO +3 -3
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/compressed_decoder.py +0 -1
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/image_encoder.py +9 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/setup.py +3 -2
- {reversebox-0.20.2 → reversebox-0.20.4}/LICENSE +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/SOURCES.txt +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/dependency_links.txt +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/requires.txt +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/top_level.txt +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_adler32.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_fletcher16.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_fletcher32.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_internet_ipv4_header.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_sum8.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_sum8_2s_complement.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_unix_sum_bsd16.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_unix_sum_sysv.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_xor8.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/common/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/common/common.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/common/logger.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_jcalg1.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_lzo.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_mio0.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_refpack.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_zlib.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_arc.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_ccitt.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_dnp.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_ea_crcf.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_kermit.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_modbus.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_sick.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc32_asobo.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc32_iso_hdlc.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc64_asobo.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc64_go_iso.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc8.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc_unix_cksum.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_rot13.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_basic.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_basic_key_guesser.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_gianas_return_zda.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_retro64_eco.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_ap.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_djb2.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_fnv.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_md2.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_md5.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_sdbm.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_sha1.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_sha2.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/common.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/compression/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/compression/compression_gst.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/bumpmap_decoder.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/n64_decoder.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/yuv_decoder.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/file_formats/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/file_formats/image_dds.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/image_decoder.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/image_formats.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/palettes/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/palettes/palette_random.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/pillow_wrapper.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_3ds.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_bc.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_cmpr.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_gamecube.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_gst.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_morton.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_morton_ps4.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_ps2.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_psp.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_switch.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_x360.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/bytes_handler.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/bytes_helper_functions.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/check_file.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/file_handler.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/mod_handler.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/translation_text_handler.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/DirectXTex.dll +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/__init__.py +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/ea_swizzle.dll +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/refpack.dll +0 -0
- {reversebox-0.20.2 → reversebox-0.20.4}/setup.cfg +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ReverseBox
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.4
|
|
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
|
|
7
7
|
Author-email: ikskoks@gmail.com
|
|
8
|
-
Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast
|
|
8
|
+
Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast,BC,BC1,BC2,BC3,BC4,BC5,BC6,BC7,DXT1,DXT2,DXT3
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.6
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.7
|
|
@@ -157,7 +157,7 @@ or software researchers).
|
|
|
157
157
|
- Decode ARGB8888 ✔️
|
|
158
158
|
- Decode ABGR8888 ✔️
|
|
159
159
|
- Decode/Encode RGBA8888 ✔️
|
|
160
|
-
- Decode BGRA8888 ✔️
|
|
160
|
+
- Decode/Encode BGRA8888 ✔️
|
|
161
161
|
- Decode RGB48 ✔️
|
|
162
162
|
- Decode BGR48 ✔️
|
|
163
163
|
- Decode PAL4_RGBX5551 ✔️
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ReverseBox
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.4
|
|
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
|
|
7
7
|
Author-email: ikskoks@gmail.com
|
|
8
|
-
Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast
|
|
8
|
+
Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast,BC,BC1,BC2,BC3,BC4,BC5,BC6,BC7,DXT1,DXT2,DXT3
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.6
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.7
|
|
@@ -157,7 +157,7 @@ or software researchers).
|
|
|
157
157
|
- Decode ARGB8888 ✔️
|
|
158
158
|
- Decode ABGR8888 ✔️
|
|
159
159
|
- Decode/Encode RGBA8888 ✔️
|
|
160
|
-
- Decode BGRA8888 ✔️
|
|
160
|
+
- Decode/Encode BGRA8888 ✔️
|
|
161
161
|
- Decode RGB48 ✔️
|
|
162
162
|
- Decode BGR48 ✔️
|
|
163
163
|
- Decode PAL4_RGBX5551 ✔️
|
|
@@ -91,7 +91,6 @@ class CompressedImageDecoder:
|
|
|
91
91
|
else:
|
|
92
92
|
raise Exception(f"Not supported image format! Image_format: {image_format}")
|
|
93
93
|
|
|
94
|
-
|
|
95
94
|
def _decode_directxtex_image(self, image_data: bytes, img_width: int, img_height: int, image_format: ImageFormats) -> bytes:
|
|
96
95
|
"""
|
|
97
96
|
Function used for decoding compressed BC formats
|
|
@@ -32,6 +32,14 @@ class ImageEncoder:
|
|
|
32
32
|
p[3] = (pixel_int >> 24) & 0xff
|
|
33
33
|
return p
|
|
34
34
|
|
|
35
|
+
def _encode_bgra8888_pixel(self, pixel_int: int) -> bytes:
|
|
36
|
+
p = bytearray(4)
|
|
37
|
+
p[0] = (pixel_int >> 16) & 0xff
|
|
38
|
+
p[1] = (pixel_int >> 8) & 0xff
|
|
39
|
+
p[2] = (pixel_int >> 0) & 0xff
|
|
40
|
+
p[3] = (pixel_int >> 24) & 0xff
|
|
41
|
+
return p
|
|
42
|
+
|
|
35
43
|
def _encode_rgb565_pixel(self, pixel_int: int) -> bytearray:
|
|
36
44
|
r = (pixel_int >> 0) & 0xFF
|
|
37
45
|
g = (pixel_int >> 8) & 0xFF
|
|
@@ -53,6 +61,7 @@ class ImageEncoder:
|
|
|
53
61
|
generic_data_formats = {
|
|
54
62
|
# image_format: (encode_function, bits_per_pixel)
|
|
55
63
|
ImageFormats.RGBA8888: (_encode_rgba8888_pixel, 32),
|
|
64
|
+
ImageFormats.BGRA8888: (_encode_bgra8888_pixel, 32),
|
|
56
65
|
ImageFormats.RGB565: (_encode_rgb565_pixel, 16),
|
|
57
66
|
}
|
|
58
67
|
|
|
@@ -8,7 +8,7 @@ from typing import Final
|
|
|
8
8
|
|
|
9
9
|
import setuptools
|
|
10
10
|
|
|
11
|
-
VERSION_NUM: Final[str] = "0.20.
|
|
11
|
+
VERSION_NUM: Final[str] = "0.20.4"
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
def get_long_description() -> str:
|
|
@@ -50,7 +50,8 @@ setuptools.setup(
|
|
|
50
50
|
test_suite="tests",
|
|
51
51
|
keywords="ReverseBox, reverse engineering, RE, CRC, Hash, Encryption, Compression, Checksum, Python, image, decode, decoding, "
|
|
52
52
|
"RGB, swizzle, swizzling, morton, twiddle, twiddling, texture, UYVY, YUY2, NV21, NV12, RGBA, RGBA8888, RGB565, RGBA8, BGR, "
|
|
53
|
-
"grayscale, graphics, color, pixel, convert, converting, YUV, RAW, PSP, PS1, PS2, PS3, PS4, XBOX, X360, gamecube, dreamcast"
|
|
53
|
+
"grayscale, graphics, color, pixel, convert, converting, YUV, RAW, PSP, PS1, PS2, PS3, PS4, XBOX, X360, gamecube, dreamcast, "
|
|
54
|
+
"BC, BC1, BC2, BC3, BC4, BC5, BC6, BC7, DXT1, DXT2, DXT3",
|
|
54
55
|
python_requires=">=3.6",
|
|
55
56
|
install_requires=["lzokay", "polib", "crc", "hashbase", "pillow", "rawutil"],
|
|
56
57
|
packages=setuptools.find_packages(exclude=["tests", "tests.*"]),
|
|
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.20.2 → reversebox-0.20.4}/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
|
{reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_basic_key_guesser.py
RENAMED
|
File without changes
|
{reversebox-0.20.2 → reversebox-0.20.4}/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
|
|
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.20.2 → reversebox-0.20.4}/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
|