رمزنگاری و رمزگشایی فایل با پایتون :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

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

-->
آخرین نظرات
  • ۲۲ مرداد ۰۲، ۰۰:۳۴ - Sami
    مرسی
  • ۱۴ مرداد ۰۲، ۱۴:۴۶ - farhad
    salam

اسکریپت آموزشی رمزنگاری و رمزگشایی کردن فایل ها در پایتون با استفاده از کتابخونه ی PyCrypto که در مباحث رمزنگاری میتونه کمکمون کنه

با استفاده از کدهایی که تو این پست قرار میدم

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

این پست رو بعد از سه ماه کار کردن روی رمزنگاری تو پایتون بالاخره آماده کردم که فکر نکنم اصلا تو سایت های ایرانی در مورد رمزنگاری تو پایتون صحبت شده باشه ، مگر اینکه کتاب های آموزشی خارجی گذاشته باشن

قبلا هم توی این پست در مورد رمزنگاری متن تو پایتون صحبت کرده بودیم

در نتیجه از این کدها در راهی که من فکرشو میکنم استفاده کنین

چون با یه خرده تغییر و اضافه کردن تقریبا 30 خط کد دیگه

میشه یه چیز تو مایه های باج افزار درست کرد که تمامی اطلاعات رو رمزنگاری میکنه

البته من میخواستم سورس باج افزار با پایتون رو قرار بدم و برای اینکه یه خرده با مباحث شیرین رمزنگاری تو پایتون آشنا بشین ، خط به خط اونو براتون تحلیل کنم

اما نشد دیگه ... اینجا ایرانه ( اگه نبود برای پیشرفت اعضا هم که شده بود قطعا این کارو میکردم )

خب دیگه ...

بعد از کلی چرت و پرت پروندن خودمونی

میریم سراغ لپ کلوم

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

اما در کل به جای نوشتن اسم کتابخونه ، باید از اسم پایین استفاده کنیم تا کتابخونه درست و کامل نصب بشه

pip install pycryptodome

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

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


def encrypt(key, filename):
    chunksize = 64 * 1024
    outputFile = "(ENC)" + filename
    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)
#http://virus32.blog.ir
            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 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)
#http://virus32.blog.ir

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


def Main():
    choice = raw_input("Would you like to (E)ncrypt or (D)ecrypt?: ")
    if choice == 'E' or choice == 'e':
        filename = raw_input("File to encrypt: ")
        password = raw_input("Password: ")
        encrypt(getKey(password), filename)
        print("Done.")
    elif choice == 'D' or choice == 'd':
        filename = raw_input("File to decrypt: ")
        password = raw_input("Password: ")
        decrypt(getKey(password), filename)
        print("Done.")
    else:
        print("No Option selected, closing...")


if __name__ == '__main__':
    Main()

خب حالا اسکریپت رو اجرا کنین

اول از ما میپرسه که میخواین فایلی رو رمزنگاری کنین یا اینکه رمزگشایی کنید که اگه بخواین فایلی رو رمزنگاری کنین ، حرف E یا e رو از روی کیبورد بزنین و بعدش Enter کنین ، بعدا ازتون یه مسیر میخواد که شما هم باید مسیر برنامه رو بدین و بعد از اینتر کردن ، پسووردتونو بهش بدین تا براتون رمزنگاری کنه و اگه فایلتون کنار اسکریپته که دیگه نیازی نیست مسیر بدین و اگه فقط اسم فایل رو هم بدین و اینتر کنین هم کافیه

حالا فایل اصلی رو پاک کنین و برگردین به اسکریپت و مجددا اونو اجرا کنین ، حالا به جای E از حرف D استفاده کنین و بعد از اینتر کردن ، طبق روال قبلی پیش برین تا بفهمین قضیه چیه ...

ضمنا بعد از اینکه فایلتونو رمزنگاری کردین ، قبل از اینکه بخواین اونو حذفش کنین ، اول از همه بازش کنین و ببینین که به چه شکله یا اینکه چه اتفاقی میفته و ...

به امید بهتر شدن وضعیت کشورمون 👌❤️

نظر (۲۵)

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

Virus32 MR_C0D3R ‌ :
برای پایتون 2
اگه به raw_input گیر میده
بخاطر اینه که از پایتون 3 استفاده میکنی....
raw_input هارو تغییر بده به input اوکی میشه
معمولا نباید به Main گیر بده
چون ما فراخوانیش کردیم اما اگه گیر داد
یه خط مونده به آخری رو پاک کن و فقط بنویس()Main
البته بدون 4 تا کارکتر فاصله....

داداش سلام.خسته نباشی :

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

ممنون

Virus32 MR_C0D3R ‌ :
سلام
متوجه منظورت از فایل نشدم ؟
منظورت منبع آموزشیه این پسته ؟
اگه منظورت این پسته ، این پست منبع آموزشی نداره
تو گوگل سرچ کن Cryptography in python

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

 

Virus32 MR_C0D3R ‌ :
من با این روش کار نکردم
اگه خواستی مثالاش توی اینجا موجوده
پیشنهاد میکنم یه سر به ویکی پدیاش هم بزنی

درود بر استاد کدر 

عاقا از این پستا ننویس حس باج افزار نویسی ما گل میکنه :)

جسارت نباشه ولی فک کنم یکی دو جای کدت مشکل داره

ببین اونجا که میخای انکد کنی فایلو تو تابعت گفتی بیاد اوله اسم فایلی که به عنوان پارامتر میگیره یه ENC اضافه کنه و به عنوان اسم فایل خروجی بده بیرون حالا اگه فایلی که طرف میخاد انکد کنه تو پوشه لوکال نباشه و آدرس کامل بده اسمش ناجور میشه و تا جایی که من میدونم تو لیینوکس مشکلی نیس ولی تو ویندوز نمیزاره تو اسم فایل کاراکتر خاص وجود داشته باشه. البته جسارت نباشه ها شما خودت استاد مایی

موفق باشی ;)

Virus32 MR_C0D3R ‌ :
یالله ، نه عزیز مشکلی نیست و همه چیز اوکی هستش :)

سلام

بعد از نوشتن یک ویروس با پایتون با استفاده از کتابخانه cryptography و fernet رمزنگاری شد تا الان هیچ انتی ویروسی نتونسته بگیرش

ولی من میخوام با روش polymorphic اینکارو کنم یعنی اینکه ویروس بتونه مثلا هر هزار ثانیه کد خودش رو عوض کنه

انجام اینکار تا زمانی که صرفا فایل py.  رو داریم خب راحته اما...

وقتی فایل exe شد چجوری باید اینکارو کرد؟

نظری ایده ای؟

این ایمیل منه gettingbtcnow@gmail.com اگه جوابو ایمیل کنی سپاس فراوان

Virus32 Virus 32 :
سلام
یکم فکر کن ببین چی خواستی
فرض کن صرفا تو فایل py میخوایی این کار رو انجام بدی
چطور یه ویروس میتونه کدهای خودش رو خودش تغییر بده؟
این کار شدنی نیست
بهترین راه کار استفاده از یک کامپایلر کوچیک و یه فایل متنی ساده است
هر هزار ثانیه کامپایلر کوچیکمون با فایل متنی کنارش که داخلش کدهای ویروس مون هست یه ویروس جدید بسازه

باسلام خسته نباشید من باید یه پروژه تحویل بدم با موضوع برنامه ای که دریک پوشه به دنبال فایل های تصویری بگردد وآن هارا با الگوریتمAESرمزنگاری این برنامه باید داری قابلیت رمزگشایی هم باشه و این توضیحاتی که شما دادین تقریبا با موضوع پروژه من یکیه ولی از اونجایی که من زبان پایتون بلدنیستم میشه کمکم کنید که‌کجای این‌کد هارو باید درست کنم  که مشکل پروژه من رفع بشه ممنون میشم

Virus32 MR_C0D3R ‌ :
سلام
چیزی که میخواین رو قبلا آموزشش رو نوشتم => کلیک کنید
برای استفاده کردن ، فقط کافیه از سایت پایتون ، پایتون 2 رو دانلود کنید
میتونید پسوند اون فایل هایی که میخواید رمزنگاری بشه رو به لیستی که توی اون پست گفتم اضافه کنید
در نهایت میتونین با کتابخونه ی pyinstaller اونو بصورت Exe در بیارین که اونم به کمک این پست میتونید انجام بدید

راستی گفتم چه طوری عوض کنه هی خودشو

کدر هم گفته بود نمیشه

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

Virus32 Attrib32 32 32 :
ببین از ویروس نویسی با پایتون بکش بیرون ای خداااااا

سلام

من میخوام یه اسکریپت با پایتون نوشتم چطور کدارو مبهم سازی کنم تا آنتی ویروس شناسایی نکنه؟

Virus32 Attrib32 32 32 :
اسمارت اسمبلی

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

:(

Virus32 MicRoB 32 :
به ادمینای دیگه میگم
اگه حال و وقتشو داشتن پستش میکنن

اخ اینو یادم رفت بگم  تو پایتون فک نکنم به ها کد هارو 0 کرد یا بی معنی...
 من کدهارو  تا جای که تونستم هش کردم
راه دیگه داره

Virus32 ولم کنید (: :
نه

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

Virus32 ولم کنید (: :
سلام
پست های باج افزار نویسی با پایتون رو نگاه کن خوب توضیح داده شده.

با درود خدمت استاد در ترموکس دستور

Pip install pycryptodom

زدم بدون خطا نصب شد و در اجرا خطا داره

$ cd /sdcard
$ python encrypt.py
Traceback (most recent call last):
  File "/storage/emulated/0/encrypt.py", line 72, in <module>
    Main()
  File "/storage/emulated/0/encrypt.py", line 56, in Main
    choice = raw_input("Would you like to (E)ncrypt or (D)ecrypt?: ")
NameError: name 'raw_input' is not defined

Virus32 ولم کنید (: :
پایتون 3 هست داداش باید پایتون 2 نصب کنی...

سلام من میخواستم کدی بنویسم که کدها تغییر کنه مثلا

کد اصلی:

A="ali"

تبدیل به کدی که باید بشه وکسی نفهمه چی نوشتم:

Fuf ufj ufu

و هر وقت خواستم با یه فایل رمر گشایش کنم

Virus32 ولم کنید (: :
از همینا استفاده کن دیگه /:

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

اینم لینک :

https://virus32.blog.ir/post/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%D9%85%D8%AA%D9%86

راستی یادم رفت ازتون تشکر کنم 

دمتون گرم واقعا مطلب های مفیدی میزارین

ایران همیشه سرافراز (:

Virus32 ولم کنید (: :
ممنون (:

سلام خسته نباشید

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

Virus32 Ax0o 32 :
سلام ، نه ... سعی کن لایسنس گزاری کنی

سلام برای بارکردن رمز فایل باید چکارکردبا تشکر فراوان من سواد پایتون اصلا ندارم لطفاً اگه میشه با زبان ساده توضیح بدید خیلی ممنون میشم

Virus32 Virus 32 :
سلام
باید رمز فایل را بدست آورد.
مستر کدر (ع)

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

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

Virus32 Virus 32 :
سلام
یکبار تست کن برنامه رو بعد به سوالت فکر کن

سلام برای هشینگ پسورد میشه از bcrypt , scrypt یا pbkdf استفاده کرد؟

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