mirror of
https://github.com/fzxx/FileImgSwap.git
synced 2025-11-25 19:37:52 +08:00
README.md
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
# FileImgSwap
|
||||
|
||||
<p align='center'>
|
||||
<a href=README.md>中文</a> | <a href=README_EN.md>EN</a>
|
||||
</p>
|
||||
**[FileImgSwap](https://github.com/fzxx/FileImgSwap) 文图变**是一款可以把文件与 PNG 图像进行互转的工具,支持加密、图种(附加压缩包)功能,可将任意文件隐藏在 PNG 图像中,也能从生成的 PNG 图像中还原出原始文件。
|
||||
|
||||

|
||||
|
||||
89
README_EN.md
Normal file
89
README_EN.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# FileImgSwap
|
||||
|
||||
<p align='center'>
|
||||
<a href=README.md>Chinese</a> | <a href=README_EN.md>EN</a>
|
||||
</p>
|
||||
**[FileImgSwap](https://github.com/fzxx/FileImgSwap)** is a tool that enables mutual conversion between files and PNG images. It supports encryption and image-seed (appending compressed packages) functions, allowing you to hide any file in a PNG image and restore the original file from the generated PNG image.
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
- **File to PNG**: Convert any type of file (such as text, documents, compressed packages, etc.) into a PNG image, with file data encoded into the image's pixels.
|
||||
- **PNG to File**: Extract and restore the original file from a PNG image generated by this tool.
|
||||
- **Encryption Protection**: Encryption protection via a password/key file with the **same name as the main program in the same directory**.
|
||||
- **Image-seed Function**: Append a compressed package to the end of the generated PNG image to achieve the "image-seed" effect.
|
||||
- **Metadata**: The image retains the original file's name and modification time.
|
||||
|
||||
## Technical Details
|
||||
|
||||
- Encryption algorithm: AES-CTR
|
||||
- Key algorithm: Key derivation using PBKDF2-SHA256 and HKDF-SHA256
|
||||
- Image format: PNG
|
||||
|
||||
## User Guide
|
||||
|
||||
Drag and drop files/folders onto the program icon, or run via the command line.
|
||||
|
||||
#### File to PNG
|
||||
|
||||
Convert ordinary files to PNG images:
|
||||
```bash
|
||||
# Convert a single file
|
||||
FileImgSwap file.pdf
|
||||
|
||||
# Convert multiple files
|
||||
FileImgSwap image.jpg data.zip notes.txt
|
||||
```
|
||||
|
||||
A PNG file with the `.fis.png` extension will be generated after conversion. For example, `document.pdf` will generate `document.fis.png`.
|
||||
|
||||
#### Restore File
|
||||
|
||||
Restore the original file from a PNG image:
|
||||
```bash
|
||||
# Restore a single PNG
|
||||
FileImgSwap file.fis.png
|
||||
|
||||
# Restore multiple PNGs
|
||||
FileImgSwap file1.fis.png file2.tz.png
|
||||
```
|
||||
|
||||
The restored file will use the original file name. If a file with the same name exists, it will be automatically renamed (with a sequence number added).
|
||||
|
||||
#### Encryption Function
|
||||
|
||||
To enable encrypted conversion, **create one of the following files in the same directory as the program** (both can also exist):
|
||||
- Password file: `.fisp.txt` with the same name as the program (e.g., `FileImgSwap.fisp.txt`), where the first line is the password.
|
||||
- Key file: `.fisp.key` with the same name as the program (e.g., `FileImgSwap.fisp.key`), which stores the binary key.
|
||||
|
||||
The program will automatically detect and use these files for encryption/decryption. **No encryption will be applied if none are detected**.
|
||||
|
||||
#### Image-seed Function
|
||||
|
||||
Use the `-append` parameter to append a compressed package (zip/rar) to the end of the generated PNG. **Separation is not supported**; extraction requires a compression tool.
|
||||
```bash
|
||||
FileImgSwap video.mp4 -append archive.zip
|
||||
```
|
||||
|
||||
The generated file will have the `.tz.png` extension. It can be viewed as a normal image and also extracted as a compressed package (zip/rar formats are recommended; rename the extension and use WinRAR for extraction).
|
||||
|
||||
## Changelog
|
||||
|
||||
[Changelog](CHANGELOG.md)
|
||||
|
||||
## Notes
|
||||
|
||||
- Encrypted files can only be restored using the **same password/key file**.
|
||||
- File-Image Swap + image-seed compressed packages can be encrypted with different passwords to achieve "one image, two decryptions".
|
||||
- 32-bit programs support a maximum single file size of 2GB, and 64-bit programs support a maximum single file size of 5GB.
|
||||
|
||||
## Related Projects
|
||||
|
||||
[XiangYue - Text encryption for free expression](https://github.com/fzxx/XiangYue)
|
||||
|
||||
[NaughtyDamagePack - Make compressed packages look corrupted](https://github.com/fzxx/NaughtyDamagePack)
|
||||
|
||||
## Download Link
|
||||
|
||||
https://github.com/fzxx/FileImgSwap/releases
|
||||
Reference in New Issue
Block a user