mirror of
https://github.com/rapid7/metasploitable3.git
synced 2024-09-19 00:00:54 +02:00
38 lines
694 B
Ruby
38 lines
694 B
Ruby
# -*- coding: binary -*-
|
|
#!/usr/bin/env ruby
|
|
|
|
require 'zlib'
|
|
|
|
def load_wav(fname)
|
|
File.read(fname)
|
|
end
|
|
|
|
def find_data_chunk_offset(wav)
|
|
wav.index('data') + 1
|
|
end
|
|
|
|
def get_data_chunk_size(wav)
|
|
data_chunk_offset = find_data_chunk_offset(wav)
|
|
wav[data_chunk_offset, 4].unpack('N').first
|
|
end
|
|
|
|
def extract_data_chunk(wav)
|
|
chunk_offset = find_data_chunk_offset(wav)
|
|
chunk_size = get_data_chunk_size(wav)
|
|
|
|
wav[chunk_offset + 4 + 3, chunk_size]
|
|
end
|
|
|
|
wav_fname = ARGV.shift
|
|
output = ARGV.shift
|
|
|
|
wav = load_wav(wav_fname)
|
|
data_chunk = extract_data_chunk(wav)
|
|
data_chunk = Zlib::Inflate.inflate(data_chunk)
|
|
|
|
File.open(output, 'wb') do |f|
|
|
f.write(data_chunk)
|
|
end
|
|
|
|
puts "#{output} written"
|