-
چهارشنبه, ۱۵ تیر ۱۴۰۱، ۰۳:۳۲ ب.ظ
-
۳۶۴
مخفی کردن اطلاعات پشت آهنگ با پایتون (روش LSB) (۱)
درود به همه !
اگه درست یادم باشه یه بار تو یه پستی قبلا یاد گرفتیم چطوری میشه اطلاعات رو پشت آهنگ مخفی کرد . کاری که میکردیم این بود که اطلاعات رو پشت کاور آهنگ مخفی میکردیم (مخفی کردن اطلاعات پشت عکس) و سپس اون کاور رو باز دوباره روی آهنگ ست میکردیم . امروز دیگه از اون روش استفاده نمیکنیم امروز از یه روش خیلی معروفی میخوایم بهره بگیریم به اسم LSB که اطلاعاتمون رو مستقیما با دستکاری کردن اطلاعات باینری آهنگ پشت اون مخفی میکنیم . این ویدیو رو از دست ندید ...
سورس کد نوشته شده در ویدیو :
import wave
import sys
def getBytes(char):
code = ord(char)
code = bin(code).lstrip("0b").rjust(8,"0")
return code
cover = input("Cover : ")
cover = wave.open(cover , mode = "rb")
data = input("data : ")
bits = []
print("covert data to binary ...")
for char in data:
for bit in getBytes(char):
bits.append(int(bit))
print("ok")
print()
frames = cover.readframes(cover.getnframes())
frames = bytearray(frames)
if len(frames) < len(bits):
print("error !")
sys.exit(0)
print("appending 0")
while len(frames) != len(bits):
bits.append(0)
print("ok")
print("wait ...")
for i , bit in enumerate(bits):
frames[i] = frames[i] & 254
frames[i] = frames[i] | bit
print("ok")
output_name = input("output name : ")
output = wave.open(output_name , mode="wb")
output.setparams(cover.getparams())
output.writeframes(bytes(frames))
output.close()
print("Finish !")
input()
یا حق !
Telegram Channel : @mrpythonblog
[منبع تصویر پست : https://www.globaltechoutlook.com/]