چالش شماره 4 - طراحی یک ویروس Desktop Freezer + (معرفی برندگان چالش قبلی) :: Mr Python | مستر پایتون

چالش شماره 4 - طراحی یک ویروس Desktop Freezer + (معرفی برندگان چالش قبلی)

  • ۵۳۱

چالش شماره 4 - طراحی یک ویروس Desktop Freezer + (معرفی برندگان چالش قبلی)

درود به همه !

شماره چالش : 
سطح چالش : متوسط
دسته بندی : ویروس نویسی

توضیح : 

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

لینک تصویر : دانلود

هشدار : از حلقه های بینهایت برای تغییر پی در پی یک پس زمینه استفاده نکنید موجب هنگ کردن سیستم میشه .

منابع مورد نیاز برای حل این چالش : 

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

 

بعد از اینکه حل کردید به ما از طریق جیمیلمون بگید :)) 

Gmail : mrpythonblog@gmail.com

 

لیست برندگان چالش قبلی به همراه روش حل ( به ترتیب تاریخ ارسال جواب چالش ) :

اگه یادتون باشه چالش قبلی در مورد کرک کردن یک فایل بود که با الگوریتم AES رمزنگاری شده بود . وقتی فایل رو کرک میکردیم به یه فایل متنی میرسیدیم که داخلش لینک دانلود فایل PDF رمزنگاری شده به همراه پسوورد اون موجود بود . البته پسوورد فایل pdf به صورت base64 کد شده بود که باید دیکود میکردیم تا به پسوورد برسیم  .

 

dany_ odr : ایشون مرحله اول چالش یعنی کرک کردن فایل رمزنگاری شده با AES رو توسط اسکریپتی که نوشتند حل کردند و باقی  مراحل یعنی دیکود کردن پسوورد فایل پی دی اف رو به صورت دستی انجام دادن .

import pyAesCrypt
bufferSize = 64 * 1024

file = input("File Name : ")
passwords = open("languages.txt")

count = 0
for password in passwords:
    password = password.strip('\n')
    try:
        pyAesCrypt.decryptFile(file,file+"_decrypted",password,bufferSize)
        print('_'*35)
        print("File Cracked...!")
        print("Password is {}".format(password))
        break
    except:
        count += 1 
        print("[{}] Password tested: {}".format(count,password))
        continue

 

 

Rozar : ایشون نیز مراحل بعد از کرک فایل AES رو دستی انجام دادند :

import pyAesCrypt
print("<<<Decrypt>>>")
print("\n")
bufsize = 64 * 1024

passkey = ["python","java","javascript","swift","kotlin","ruby","c++","c#","c","r","lua","css","json","perl","php","asp.net"] 

file = input("File Name : ")
for i in passkey:
    password = i
    try:
        pyAesCrypt.decryptFile(file,file+"_decrypted",password,bufsize)
        print("File Decrypted !")
        exit(1)
    except Exception as error:
        print(error)
        print("\n")


#بعد از رمزگشایی و دانلود پی دی اف رمزش رو با بیس 64 دیکود میکنیم که میشه
#mrpython_loves_you
#<<Rozar>>

 

Ali Zabetpoor : ایشون از تکنیک جالبی برای کرک کردن فایل AES استفاده کردند . برای بدست آوردن لیست زبان های برنامه نویسی ، از طریق کتابخونه ی BeautifulSoup استفاده کردند . یعنی اسکریپت به طور خودکار از طریق وبسایت ویکی پدیا ، لیست زبان های برنامه نویسی رو بدست میاره !!

import pyAesCrypt
from bs4 import BeautifulSoup
import requests
import base64

def base64_decode():
    pass_pdf="bXJweXRob25fbG92ZXNfeW91"
    pass_pdf_decode=base64.b64decode(pass_pdf)
    print(f"password file pdf : {pass_pdf_decode.decode()}")
def decrypt():
    getpasswords=getprogramlang()
    passwords_first_slice=[]
    #joda kardan bakhsh aval asami zaban ha
    for password in getpasswords:
        password=password.split(" ")
        passwords_first_slice.append(password[0])
    bufferSize =64*1024
    file_name = "file.aes"

    for password in passwords_first_slice:
        try:
            pyAesCrypt.decryptFile(file_name,file_name+"_decrypted",password,bufferSize)
            print("File Decrypted !")
            print(f"password is : {password}")
            break
        except:
            pass
def getprogramlang():
    address=requests.get("https://en.wikipedia.org/wiki/List_of_programming_languages")
    soup=BeautifulSoup(address.content,"html.parser")
    all_language=[]
    languages=soup.select(".div-col ul li a")
    for language in languages:
        all_language.append(language.text.lower())
    return all_language

 

Amirreza ghamilouei : ایشون به صورت دستی پسوورد های مختلف رو برای فایل AES  تست کردند تا رسیدند به پسوورد مورد نظر . سپس با استفاده از تکه کد زیر ، رمز فایل PDF رو دیکود کردند : 

import base64
encoded =(b'bXJweXRob25fbG92ZXNfeW91')
data = base64.b64decode(encoded)
print(data)

 

Farough Oghba : ایشون پسوورد فایل AES رو جداگانه بدست آوردن و سپس اسکریپتی طراحی کردند که فایل AES رو رمزگشایی میکنه و پسوورد pdf رو دیکود میکنه .

import pyAesCrypt
import base64

# ____________Decrypting File______________
print("<Decrypt>")

bufferSize = 64 * 1024

file = 'file.aes'
password = 'swift'

try:
    pyAesCrypt.decryptFile(file,file+"_decrypted",password,bufferSize)
    print("File Decrypted !\n\n")

except Exception as error:
    print(error)
    exit(1)


# ______________Reading Decrypted File_________
with open("file.aes_decrypted") as file:
  data = file.readlines()
  
  for line in data:
    if 'Password' in line:
      password = line.split(':')[1].strip()
      print(f'PDF Encoded Password: {password}\n')


# ______________Decoding password_____________
base64_string = password
base64_bytes = base64_string.encode("ascii")
  
sample_string_bytes = base64.b64decode(base64_bytes)
sample_string = sample_string_bytes.decode("ascii")
  
print(f"PDF Decoded Password: {sample_string}")

 

یا حق !

Telegram Channel : @mrpythonblog

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