Audio Steganography

Audio steganography checklist

  1. Use exiftool
  2. Use strings
  3. Use Audacity and check spectrogram. Additional settings
  4. Change spectrogram to logarithmic scale
  5. Change sampling frequency
  6. Check for DTMF tones
  7. Try QSSTV
  8. Check for LSB encryptions
import wave
import struct
wav = wave.open("audio.wav", mode='rb')
frame_bytes = bytearray(list(wav.readframes(wav.getnframes())))
shorts = struct.unpack('H'*(len(frame_bytes)//2), frame_bytes)
# Extract left and right audio streams
extracted_left = shorts[::2] 
extracted_right = shorts[1::2]
extractedLSB = ""
for i in range(0, len(extracted_left)):
    extractedLSB += (str(extracted_left[i] & 1)) if (i%2)==1 else (str(extracted_right[i] & 1))

string_blocks = (extractedLSB[i:i+8] for i in range(0, len(extractedLSB), 8))
decoded = ''.join(chr(int(char, 2)) for char in string_blocks)
print(decoded[:500])
# Search in decoded text
if "ctf" in decoded.lower():
 print("YES")
else:
 print("NO")
wav.close()

  1. LSB
  2. wav-steg



Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Untangling Prefix Delegations by Internet Registries
  • Plotly Visualizations for Latex
  • Parameter-free version of Adaptive Gradient Methods for Strongly-Convex Functions
  • FRRouters - Configuring Intra/Inter-domain Routing
  • The spread of true and false news online