將二進位檔案轉換為 PNG 映像,然後將其解密回二進位。
二進位檔案的每個位元組都會轉換為數字 (0-255),然後定義像素顏色。每個位元組都將是最終 PNG 影像中的一個灰階像素。 PNG 影像的像素可以多於二進位檔案的位元組數。多餘的像素將具有 RGB(255, 0, 0) 顏色(紅色),並且在解密檔案時將被忽略。
當解密 PNG 檔案以建立相應的二進位檔案時,我們會取得影像的每個像素並取得它們的顏色。如果 R 和 G 顏色不同,我們會跳過該像素。它不是灰度的,多餘的像素也是。如果是灰度,我們取 R 的顏色數,然後將其轉換為其二進位表示形式。我們用所有解密的像素二進位資料建構一個 unsigned char 數組,然後將其儲存回二進位檔案。
您可以直接從這裡下載exe檔:https://github.com/leeroybrun/Bin2PNG/releases/download/v1.1/Bin2PNG.exe
或者您可以使用 Visual Studio 或任何其他 C 編譯器來建置它。
然後將要轉換的二進位檔案放置在與Bin2PNG.exe
檔案相同的資料夾中,並將其重命名為in.exe
。
然後您可以將其加密為 PNG 映像:
Bin2PNG.exe 加密
如果成功,它將產生一個image.png
檔案。
然後您可以將此文件解密回二進位文件,如下所示:
Bin2PNG.exe解密
它將解密image.png
檔案並建立一個新的二進位檔案out.exe
。
新增參數來定義二進位檔案和映像檔的名稱
也許找到更好的方法將位元組轉換為數字
尋找為什麼解密後的exe比原始檔案大一點
(麻省理工學院許可證)
版權所有 (C) 2013 Leeroy Brun,www.leeroy.me
特此免費授予任何獲得本軟體和相關文件文件(「軟體」)副本的人不受限制地使用本軟體,包括但不限於使用、複製、修改、合併的權利、發布、分發、再授權和/或銷售軟體的副本,並允許向其提供軟體的人員這樣做,但須滿足以下條件:
上述版權聲明和本授權聲明應包含在本軟體的所有副本或主要部分中。
本軟體以「現況」提供,不提供任何明示或暗示的保證,包括但不限於適銷性、特定用途的適用性和不侵權的保證。 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE軟體.