1. 程式人生 > >利用StegSolve、Python對.jpg檔案進行分析

利用StegSolve、Python對.jpg檔案進行分析

當兩張jpg圖片外觀、大小、畫素都基本相同時,可以考慮進行結合分析,即將兩個檔案的畫素RGB值進行XOR、ADD、SUB等操作,看能否得到有用的資訊。StegSolve可以方便的進行這些操作。

開啟StegSolve,選擇“file”->”open”開啟一張圖片檔案,然後選擇“analyse”->”image combine”選擇另一張圖片,預設的XOR操作就可以看到隱藏的資訊。點選視窗下方的箭頭,可以看到不同combine方式下的結果。

使用工具的優點是簡單方便,但是缺乏擴充套件性,不能進行批量自動化處理。而對於自己編寫的指令碼,就可以方便的進行擴充套件。

使用Python的PIL庫,可以方便地進行影象處理。
以下是兩張jpg圖片進行異或處理的程式碼xorImg.py:

#!/usr/bin/env python

      # -*- coding:utf-8 -*-

      from PIL import Image

      def loadImage(filename):

          img = Image.open(filename)

          width, height = img.size

          img = img.convert("RGB")

          pixel = img.load()

          return width, height, pixel  

      def
combineImage(file1, file2, file3):
w1, h1, p1 = loadImage(file1) w2, h2, p2 = loadImage(file2) width = min(w1, w2) height = min(h1, h2) img = Image.new("RGB", (width, height)) pix = img.load() for y in xrange(0, height): for
x in xrange(0, width): r1, g1, b1 = p1[x, y] r2, g2, b2 = p2[x, y] pix[x, y] = r1^r2, g1^g2, b1^b2 img.save(file3) if __name__ == "__main__": combineImage("pic1.jpg", "pic2.jpg", "pic3.jpg")

以下是將兩張jpg圖片進行xor、or、and處理的程式碼:

#!/usr/bin/env python



      # -*- coding:utf-8 -*-

      from PIL import Image

      def xorFun(x, y):

          return x^y   

      def orFun(x, y):

          return x|y   

      def andFun(x, y):

          return x&y

      def loadImage(filename):

          img = Image.open(filename)

          width, height = img.size

          img = img.convert("RGB")

          pixel = img.load()

          return width, height, pixel   

      def combineImage(file1, file2, file3, func):

          w1, h1, p1 = loadImage(file1)

          w2, h2, p2 = loadImage(file2)   

          width = min(w1, w2)

          height = min(h1, h2)

          img = Image.new("RGB", (width, height))

          pix = img.load()

          for y in xrange(0, height):

              for x in xrange(0, width):

                  r1, g1, b1 = p1[x, y]

                  r2, g2, b2 = p2[x, y]

            pix[x, y] = func(r1,r2), func(g1,g2), func(b1,b2)

          img.save(file3)

      if __name__ == "__main__":

          combineImage("pic1.jpg", "pic2.jpg", "xor.jpg", xorFun)

          combineImage("pic1.jpg", "pic2.jpg", "or.jpg", orFun)

          combineImage("pic1.jpg", "pic2.jpg", "and.jpg", andFun)   

當要進行乘法運算的combine時,程式碼的處理應該是(x*y)%256。

將txt檔案加到jpg檔案中,


copy a.jpg /b + b.txt /a c.jpg

不過這樣子貌似解不開了。。。

相關推薦

利用StegSolvePython.jpg檔案進行分析

當兩張jpg圖片外觀、大小、畫素都基本相同時,可以考慮進行結合分析,即將兩個檔案的畫素RGB值進行XOR、ADD、SUB等操作,看能否得到有用的資訊。StegSolve可以方便的進行這些操作。 開啟StegSolve,選擇“file”->”open”開啟

[轉載]Python-Pcap檔案進行處理,獲取指定TCP流 https://www.cnblogs.com/sunpudding/p/9538889.html

https://www.cnblogs.com/sunpudding/p/9538889.html   Python-對Pcap檔案進行處理,獲取指定TCP流         通過對TCP/IP協議的學習,本人寫了一個可以實現對PCAP檔

Python批量檔案進行VAD檢測和分段

準備: python2.7/3.+   webrtcvad import collections import contextlib import sys import wave import os import webrtcvad def read_wave(p

24python資料框進行分組統計簡單操作

分組分析:是指根據分組欄位,將分析物件劃分成不同的部分,已進行對比分析各組之間的差異性的一種分析方法 常見的統計指標: 計數 求和 平均值 1 函式 01 分組統計函式: groupby(by=[分組列1,分組列2,...])[統計列1,統計列2,。。。] .agg({統計列名1:統計函

讀寫文件文件方法python2的亂碼問題pythonpasswd文件進行排序

__main__ .com 哈哈 == nco star 9.png mar ges 讀寫文件 if __name__==‘__main__‘: filename=input(‘請輸入保存的文件:‘) fdfile=open(filename,‘w+‘)

[Python]_[初級]_[使用struct庫二進位制檔案進行讀寫]

場景 1.要分析或生成一個二進位制檔案時, Python使用 struct庫來轉換或分析二進位制資料. 當然使用C++或者Java來分析也可以, 但對於指令碼語言Python來說, 編寫資料和除錯時間都沒Python快. 所以Python其實是比較正確的選擇. 2.如果需要傳輸s

23python資料進行求和方差平均值等基本統計指標計算

 基本統計分析:描述性統計分析,用來概括失誤整體狀況以及事物間聯絡,以便發現其內在的規律的統計分析方法 常用的統計指標: 計數 求和 平均值 方差 標準差 1  函式 描述性統計函式: describe() 常用的統計函式: 統計函式  註釋 s

利用opencv呼叫tensorflow的pb模型jpg圖片進行分類

利用的是opencv中的dnn模組進行呼叫的,之所以標題是對jpg的圖片進行分類,主要的原因是我對bmp格式的圖片分類還沒有成功,成功之後再更新, 使用比較常用的花卉分類圖片進行分類,因為只是為了實驗,並沒有對圖片分類精度進行追求,程式碼中有許多問題,比如有很多沒用的,也沒有刪掉,也只是對花進行

C#呼叫命令列執行python指令碼,這個辦法可以呼叫python第三方模組和本地檔案進行操作

string pythonScriptPath = Server.MapPath(@"~\pythonScript");//python指令碼所在的目錄 ProcessStartInfo start = new Pro

利用python為excel檔案進行讀寫

1.先從讀取excel表開始吧。    讀取excel表用xlrd庫,這個pip install xlrd就可以啦    安裝好xlrd庫之後呢,我們就可以開始進行讀取了。看下面這句程式碼:data = xlrd.open_workbook('brief1.xls')xlrd

python執行程式進行日誌檔案記錄

import logging import psutil import os #設定一個日誌輸出檔案 log_filename="logging.txt" #設定日誌輸出格式 log_format=' [%(asctime)s] %(message)s' i=

利用python大量圖片進行重新命名

說明 在進行深度學習的過程中,需要對圖片進行批量的命名處理,因此利用簡單的python程式碼實現圖片的命名格式處理 # -*- coding:utf8 -*- import os class B

Linux中利用logrotate來log檔案進行轉儲

使用logrotate對日誌檔案轉儲,按時或者按大小。 logrotate簡介 NAME logrotate - rotates, compresses, and mails system logs SYNOPSIS

呼叫JAVA APIHDFS檔案進行檔案的讀寫上傳下載刪除等操作程式碼詳解

Hadoop檔案系統  基本的檔案系統命令操作, 通過hadoop fs -help可以獲取所有的命令的詳細幫助檔案。 Java抽象類org.apache.hadoop.fs.FileSystem定義了hadoop的一個檔案系統介面。該類是一個抽象類,通過以下兩種靜態工廠方

python用fsolveleastsq非線性方程組進行求解

背景: 實現用python的optimize庫的fsolve對非線性方程組進行求解。可以看到這一個問題實際上還是一個優化問題,也可以用之前擬合函式的leastsq求解。下面用這兩個方法進行對比: 程

如何利用GitSourceTreeCoding.net上的專案進行管理 之《二使用篇》

作者:叄念 1.首先註冊你的codingNet的賬號密碼:如:賬戶xxxxx:@xx.com 密碼:mmmmm 2登入後.進入如下頁面,點選建立專案 3. 設定專案屬性如下(也

XML檔案進行的新增刪除修改查詢操作。

整個類 和 xml 以及其他檔案中在包中的位置如下圖:本程式碼需要匯入包jaxen-1.1-beta-6.jar  dom4j-1.6.1.jar ui 表現層:StudentUI2 程式碼如下: package test2.ui; import java.io.Bu

Python---html檔案內容進行搜尋取出特定URL地址字串,儲存成列表,並使用每個url下載圖片,並儲存到硬碟上,使用正則re

Python—對html檔案內容進行搜尋取出特定URL地址字串,儲存成列表,並使用每個url下載圖片,並儲存到硬碟上,正則re 對目標回包內容取出這樣類似的內容: https://xian

UNIX下利用OpenSSL檔案進行AES加解密

      由於專案需要檔案傳輸過程中對其進行加解密,所以就在網上查詢下加解密的相關介紹,最開始採用RSA加解密演算法,先是利用RSAEuro折騰了半天編譯的環節卡住了(編譯報錯查不出原因),後面網上發現利用OpenSSL的實現方法比較簡單。       OpenSSL

JSPython字符串的編碼函數

ima 分享 js壓縮 了解 uac type div 字符串 script 1.本周下載過一個筆畫網站http://bihua.51240.com/e998bf__bihuachaxun/ 如上圖所示,輸入阿對應的是http://bihua.51240.com/e998