
แแ แแแแปแแแแแแทแแทแแแปแแแแแทแแถแแแปแแแแแผแแแ Ekoparty 2017 แแ แแธแแแแปแ Buenos Aires แ แแแแแแขแถแ แแแแแแธแ Alfredo Ortega แแถแแแแแ แถแแแถแแขแแทแแแแแแแแฝแแฑแแแ แถแแแขแถแแแแแแแแฝแ แแแแแถแแแแแแแแแแแแแถแแแแถแแแฝแ แแแแแแแแแแทแแแแแแแแทแแแแแพแแธแแแแผแ แแแผแแ แแแกแแ !
HDD แแแแพแแแพแแแถแ
แแแแแแผแแแแกแแแแแแแถแแแแแแแแแแถแ แแแแแทแแแแกแแแแแแแ แแแ แถแ แแทแแแแแแแแแแแแแแแ แแถแแแทแแถแแแแแแแแปแแแแแทแแขแถแ
แแแแผแแแถแแแแแแฝแแแแแถแแแแ
แกแพแแแ แแแแแธแแถแขแแแแแทแแแแถแแถแแแแแแแแแแแ (แแถแโแแแฝแโแแแแถแแโแแถแโแแทแแถแโแแแโแแแแแโแแแแแแแโแแถแโแแแโแแแแผแโแแถแโแแโแแปแโแแถโแงแแถแ แแแโแแธ gyroscope แฌ HDD)แ
แแแกแแแแบแแถแแถแแแแแแแแแแแแแ แฌแงแแแแแแแแแปแแแแแแแแแแ แแแปแแแแแแแถแแแแแแแพแแแฝแแแแแถแแแแแแแแแถแแแแแ
แแ แแแแแแแแผแแแแแแแแ
แแแแ
แแแแถแแแแแปแแ แแธแแแแผแ แแแผแแแแแผแแแถแแแ
แแถแกแพแแแแแ แถแแแแแแ แแแแนแแแแแ
แแ - แแ
แแธแแแแแแแแ แแถแแแแแแแแแแผแแแถแแแแแแแแถแแแแแแแถแแแแแพแ แแแแแแแพแขแแแแแแแแขแแแแทแแแธแ แแถแแถแแแทแแแถแแ แแแแถแแแแแนแแแแแแฝแแแแแถแแแแแแแแธแแแแผแแแแแแแแแแแ แแแแแถแแแแแถแแแแแแแแแฝแแแแแแแแแแปแแแทแแ แแแแแแแผแแแถแแแแแแแถแแแแผแแแแธแแแแธแแแแแแแแ
แแ
แแแแแแแแแ HDDs แแแแแแ แแแแปแแ แแปแแแแทแแแถแแแแแแถแแแแ แถแแแธแแแแแทแแแแแแแแแแขแถแ
แขแแปแแแแถแแแถแแขแแทแแแแถ แ แพแแแถแแแนแแแแแฝแแฏแแแถแแฟแแแแแแถแแถแแแถแแแแถแแ
แแแแปแแแปแแแแแแนแแแแแแแแแแแแแพแแธแแ
แแแผ แฌแแแแแถแแแขแแธแแผแกแแแแแแแแแแแ แแธแแแแแถแแถแแแแแฝแแแแแปแแแถแแแแแแทแแแแถแแแถแแแกแแแขแถแ
แแแแผแแแถแแแแแแแแแแพ HDD แ แขแแแธแแแแแ
แแแแแบแแแแผแแแแแแแแแแแธแแแแแ
Alfredo Ortega แแถแแแแแพแแแแแแแแฝแแแแแแแแถแแแถแแแแแ แถแแแถแแแถแแแแแฝแแแบแแถแแแถแแแแแ แถแแแแแแแแถแ แแถแแแถแแแแแ แถแแแแแแบแแแขแแแแพแแถแแแแแแแแแถแแแแแทแแแแแทแแถแแแแแแแแแแถแแแแผแแแถแแขแแปแแแแแแ แแพแงแแแแแแแ แแแแแแแแแแแแถ แขแถแแแแแแแพแแทแแแแแแแแแแ แผแแแแแแถแแแแแแแฑแแแ แแแแปแแแแแธแแแ "แแทแแแแแแแแแแ แผแ" แแบแแถแแถแแแแแแแแแแแแถแแขแถแ แแทแแแแแแ HDD แแแแแถแแแแแแถแแฝแแแแแแแแแแแทแแแแถแ แแแแแบแแถแแฝแแแนแแแแกแแแ แแผแ แแแแแแแแแถแแแถแแแแแแแแแแแแแแถแแแแถ แแทแแแแแพแแถแแแทแแถแแแแแทแแทแแแแทแแแแแแ แแถแขแถแ แแถแแแแแแแแแแแแแแแแแแถแ/แ แถแ แ แพแแ แแแปแแผแ แแแแแ แพแแแถแแแแแแแแแแแงแแแแแแแแแปแแ แแถแแแแแแถแแแแแแแปแแแถแแขแถแแแทแแแแแแแแถแแแแแแผแ แแถแแแแแแ HDD แแถแแแแแแแแถแแ แ แพแแแผแ แแแแแแแกแแแแถแแแแแแแแถแแแ
แแพแแแแพแแผแ
แแแแแ
แแพแแแแธแแถแแแแแแแแแแแแแถแแแแแนแ? แแถแแแแแแถแแแ แแแแถแแแแแแแแพแแแถแแแถแแ แ
แแถแแแแแแแแแ read () - แแทแแแแแแแแถแแแแแแแถแแแแแถแแแแผแแแถแแแพแแแแธแแแแ
แแแ แแแแแแแแแแแแแทแแแแแทแแถแแแแแพแแขแแปแแแแถแแฑแแแขแแแแขแถแแแแแแแแถแแแแถแแ แ
แแแแแแแแแแถแแฝแแแนแแแถแแแแแนแแแแแผแ nanosecond แ
แแแแฟแแแแแถแแขแถแแแแแแแถแแแธแแทแแแแแฝแแขแถแแแแแแแ แแพแแธแแถแแแแแแแแแแถแ แแทแแ แถแแแถแแแแแแแ แแแแแถแแแแแแถแแฝแแแแแแแแแแแแธ HDD แ แขแแแ แพแแ
แแถแแแทแแถแแแแแทแแทแแแแผแแแถแแขแแปแแแแแแแแแแแพแงแแแแแแแแแพแแแแถแแ Kscope แแถแแแแแ แแผแ แแแแแฝแแแแแทแแถแ แขแแแธแแแแแแแแถแแแแแแแทแแแแแแแแแบแแถแแแแแ

แงแแแแแแแแแพแแแแถแแ Kscope (stat() syscall)
Kscope แแบโแแถโแงแแแแแโแแแแพแแแแถแแโแแผแ โแแฝแโแแแแแถแแโแแพแโแแพแโแแธโแแถแโแแปแโแแแแถโแแผแ โแโแแ โแแแแปแโแแแโแแแแแทแแแแแทโแแถแโแ แ โแแผแแแแแโแแแแโแแแแแแแแแ แแแแแ.
แแ
แแแแปแแแแแถแแแแถแ
แแแแแกแแ แแถแแแแแแแแงแแแแแแแแแพแแแแถแแแแแแแถแแแแแแแแ
แแถแแแแแแแแแแแแแถแแแแถแแแถแแแแแ แถแแแแแแฝแแแ
แแพ hard drive แแแแแบแแถแแแแแแแแ
แแถแแแแแแแแแแพแแแแธแแทแแถแแแถแแ แ
แแแแแแแแแ read ().
แแถแแแแแ แถแแแธแแถแแแแแแกแแแแแแแแแพ HDD แแแแแทแแแแแทแแถแแแแแแงแแแแแแแแแพแแแแถแแ Kscope

แแถแแถแแแทแแแถแแ แแถแแแทแแถแแแทแแขแถแ แแแแแถแแแถแแแทแแธแแแ แแแปแแแแ HDD แแบแแทแแแถแแแแแแแแถแงแแแแแแ แถแแแแแแแถแแแแแแ แงแแถแ แแแ แขแแแแขแถแ แ แปแแแแแแ แแแแแทแแแพแขแแแแแถแแแแแแแแแพแแแนแ แฌแแพแแแแแแ แผแแแแแแแแแถแแฝแแแปแแแแแผแแแ (แแแแ แแแแถแแแแแทแแแพแขแแแแแถแแแแแ แถแแแถแแแแแแแแแพแแแแถแแถแแแ แฌแแถแแแแแถแแแแแแแแแถแแแแ แแพแฅแแแ HDD แแนแแแทแแขแถแ แ แปแแแแแแแแแแแแแถแแแ - แแแแแถแแแแแแแแทแแทแแแ) แ แแปแแแแแผแแแแขแถแ แ แปแแแแแแแแแแ แแแแผแ แฌแงแแแแแแ แแแปแแแแแแแแแแถแแฝแแแนแแแแแแทแแแแกแแแแแแถแแแ แแแแแบแแถ แแแแถแแแแแนแแขแถแ แแแแแพแแถแแแแแแแแแแแแแแแแแแแแพแแแถแแแแแถแแแถแแแแแแแแถแแแถแแขแแปแแแแถแแ
แแถแแแ HDD
แแแแ แแแแแ แแ แแ แแแแแแแแแแแแแแแถแแแแขแถแ แแแแผแแแถแแแแแพแแพแแแแธแแทแแแแแถแแแแแนแแ แแแแแแถแแแถแแแแแ แแ แแธแแแแแพแแแทแแ แถแแแแแแแแแแแธ HDD แแ แแแปแแแแแแแแแพแแแแแแแแแแแแแผแแแถแแแแแแผแแแ HDDแ แแแแแทแแแพแขแแแแ แถแแแแแกแแแแธแงแแแแแแแแแแแแแแแแแ แแแแแแแแแแแแแแแบแกแพแแแถแแฝแแแแแแแแแแแแ HDD แแแแแแแแแแนแแแทแแงแแแแแแแแแปแแแแแแถแแแแแแแแถแแฝแแแนแแแแ แปแ I/O (แแบแแแ)แ Linux (แแถแแนแแแทแ HDD แแถแแแแแแปแแแแแแถแแแแธ 120 แแทแแถแแธแ) แแแแถแแแแแนแแแแแฝแแฏแแขแถแ แแนแแแผแ แแถแแแแแแทแแขแถแ แแแแกแแแแทแแแถแแ

แแแแผแ Linux แแถแแแนแแแถแแแทแแแแแแถแแแแธแ
แถแแแแแกแแแแแแแแ 120 แแทแแถแแธแแแแปแแแแแแแแแแแแแแแถแแแแแงแแแแแแแแแแแแแแแ USB Edifier r19uแ แงแแแแแแแแแแแแแแแแแแแผแแแถแแแพแแแ
แแแแ แแแแฝแแแถแแแฝแแแแแถแแแแแแแแแถ (แแทแ
แแถแ 100 mW) แ แพแแแแแผแแแถแแแถแแแ
แแแแถแ 20 แแแแแธแแแแแแแแธ HDD แแแแ
แแแขแปแแแ
แแปแแพแแแแธแแแแแธแแแแแแแ แแ
แแแแแแธ แแถแแฝแแแนแแแถแแแแแ แถแแขแแแธ HDD killer
แแถแแฝแแฑแแแ แแแแนแแแแแแถ "แแถแแแถแแแแแ แถแ" แแแแแแแแพ HDDs แแฝแแแถแแแพแแกแพแแแถแแแแแแปแแแแแ แแแแแแแ แแแแปแแแธแแทแแแแแ แถแแแแแแ แแถแงแแถแ แแแ แแแแปแแแแแแแแถ แแแแถแ 2016 แแแแแแแแแแแทแแแแแแแแแแแแแถแแถแ ING แแแแผแแแถแแแแแแแฑแแแแแขแถแแแแแแทแแแแแทแแถแแแแแแแ 10 แแแแแแแแแถแแแแธแแถแแ แแแนแแ แถแแแแแแพแแ แแแแแถแแแแแแกแแแแแแถแแแแแงแแแแแแขแแแแแแแแแผแแแถแแแแแ แแแ แแแแธแแแธแกแถแแแแแแแแแแแแถแแแแแแแ แแแกแแแแบแแแแถแแ (แ แแแพแแแถแ 130 dB) แแแปแแแแแขแแแแแทแแขแถแ แแผแแแแธแแแแแแแแแถแแแแถแแแนแ - แแแแแแแแพแแแถแแแแแแถแแแแแแแแปแแแถแแ แผแแแแแพ HDD แ
แแถแแแแแ แถแแแธแแถแแแแแแแแแแแแแปแแแแแ แแพ hard drive แแ แแแแปแแแแแแแแแแแแทแแแแแแแ แแถแแแถแแแแแแแถแแแบแแแแถแ

แแพแแแแธแแแแแพแแแแกแแแแแแ Alfredo Ortega แแถแแแแแแแขแแแแ Python แ แ แแถ ().
แแถแแผแ แแถแแ แแผแ แแแแแขแแแแขแถแ แแแแแปแแแแแถแแถแแแแแแปแแแ แแธแแแแ
"""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
