بایگانی ارديبهشت ۱۴۰۰ :: Mr Python | مستر پایتون

چالش شماره 5 - پسوورد مخفی رو بدست بیاورید ! + (راه حل چالش قبل)

  • ۵۲۴

چالش شماره 5 - پسوورد مخفی رو بدست بیاورید ! + (راه حل چالش قبل)

 

درود به همه !

 

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

رمزنگاری های کلاسیک در پایتون قسمت 1 - الگوریتم سزار (Caesar)

  • ۲۳۰۴

رمزنگاری های کلاسیک در پایتون قسمت 1 - الگوریتم سزار (Caesar)

 

درود به همه !

با یک سری پست دنباله دار دیگه در خدمت شما هستیم و این بار با مبحث بسیار پرکاربرد و جالب رمزنگاری . در این سری پست های دنباله دار قرار هستش که انواع روش های رمزنگاری کلاسیک رو  به همراه روش های شکوندنشون در پایتون بررسی کنیم . در قسمت اول این سری ، به الگوریتم سزار (Caesar) میپردازیم و روش های شکوندن اون رو هم بررسی میکنیم . با ما همراه باشید .

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

  • ۵۳۱

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

درود به همه !

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

پروژه ارسالی -  پروژه پایل

  • ۲۹۳
فرستنده : AnonC0DER
نام پروژه  پروژه پایل
دسته بندی : python
توضیحات : یادگیری و معرفی کتابخانه های پایتون توسط اسکریپت پایتونی
آدرس گیت هاب پروژه : https://github.com/AnonC0DER/PyLe

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

توضیحات MrPython در مورد پروژه : این پروژه یک اسکریپت متفاوت هستش که بسیار میتونه کاربردی باشه . هدف از طراحی این اسکریپت آموزش دادن پایتون توسط خود پایتون بوده . این اسکریپت منابع آموزشی بسیار ارزشمندی از یادگیری پایتون در زمینه های مختلف (بازیسازی ، ربات تلگرام و ... ) در اختیار شما میزاره . 

برای اجرای این اسکریپت نیاز به نصب کتابخونه ی colorama هستش .

pip install colorama

 

سورس کد : https://github.com/AnonC0DER/PyLe/blob/main/PyLe.py

به دلیل طولانی بودن سورس کد لینک آن قرار داده شد :)

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

پروژه ارسالی - اسکریپت ارسال و دریافت فایل در شبکه به صورت گرافیکی

  • ۳۸۶
فرستنده Ali Zabetpoor
نام پروژه  اسکریپت ارسال و دریافت فایل در شبکه به صورت گرافیکی
دسته بندی : python
توضیحات : پروژه شامل دو اسکریپت است . 1 - اسکریپت فرستنده 2 - اسکریپت گیرنده . اسکریپت فرستنده فایل مورد نظر رو در شبکه ارسال میکنه و اسکریپت گیرنده اونو دریافت میکنه و ذخیره میکنه . از این اسکریپت ها میتوان برای انتقال فایل در شبکه بر روی کامپیوتر های مختلف استفاده کرد . هر دو اسکریپت دارای رابط گرافیکی هستند .

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

 

توضیحات MrPython در مورد پروژه :در این پروژه برای طراحی رابط کاربری گرافیکی از کتابخونه ی pySimpleGUI و برای ارتباط شبکه و ارسال و دریافت اطلاعات از کتابخونه ی socket استفاده شده . 

 

برای اجرای صحیح اسکریپت باید کتابخونه ی pySimpleGUI رو نصب کنید . 

pip install pySimpleGUI

 

سورس فرستنده : 

from threading import Thread
import PySimpleGUI as sg
from PySimpleGUI.PySimpleGUI import WINDOW_CLOSED

from socket import AF_INET, SOCK_STREAM, socket

layout=[
        [sg.Text("file location: "),sg.Input(key="-FILE-",size=(30,2)),sg.FileBrowse(size=(20,1))],
        [sg.Text("ip reciever:"),sg.InputText(key="-IP-")],
        [sg.Text("port reciever:"),sg.InputText(key="-PORT-")],
        [sg.Button("send",key="send-btn",size=(8,2))],
        [sg.ProgressBar(2,orientation="h",size=(20,15),key="-progress-bar-",bar_color=("green","white"))],
]

window=sg.Window("sender app",layout=layout,size=(500,200),font="Arial 12",element_justification="c")

def send_file(file,ip,port):
    with open(file=file,mode="rb") as file:
        data=file.read()
    try:
        sock=socket(AF_INET,SOCK_STREAM)
        sock.connect((ip,port))

        bar=int(len(data)/1024)
        i=0
        window["-progress-bar-"].UpdateBar(0,bar)
        while True:
            if len(data)>0:
                tmp_data=data[0:1024]
                if len(tmp_data)<1024:
                    tmp_data+=chr(0).encode()*(1024-len(tmp_data))
                data=data[1024:]
                sock.send(tmp_data)
                i+=1
                window["-progress-bar-"].UpdateBar(i)  
            else:
                # sock.send(file.encode())
                sock.close()
                break
        window.write_event_value("-end-task-","file sended")
    except:
        window.write_event_value("-error-","error happened")

thread=None

while True:
    event,inputstr=window.read()
    if event==sg.WINDOW_CLOSED:
        break
    elif event=="send-btn" and not thread and inputstr["-PORT-"].isdigit() and \
        not inputstr["-IP-"].isalnum():
        window["-progress-bar-"].UpdateBar(0)
        file=inputstr["-FILE-"]
        ip=inputstr["-IP-"]
        port=int(inputstr["-PORT-"])
        thread=Thread(target=send_file,args=(file,ip,port))
        thread.start()
    elif event=="-error-":
        thread=None
        sg.PopupAutoClose("check you ip or port",title="error")
    elif event=='-end-task-':
        thread=None
        sg.popup("the file has been sent")
window.close()

 

سورس گیرنده : 

from threading import Thread
import PySimpleGUI as sg
from PySimpleGUI.PySimpleGUI import No, WIN_CLOSED
from socket import AF_INET, SOCK_STREAM, socket


def recieve_data(ip,port):
    global thread
    filedata=b""
    try:
        sock=socket(AF_INET,SOCK_STREAM)
        sock.bind((ip,port))
        sock.listen()
        sender,addr=sock.accept()
        while True:
            data=sender.recv(1024)
            if len(data)==0:
                sock.close()
                
                break
                        
                
                
                
            filedata+=data
        window.write_event_value("-end-task-",filedata)
    except:
        window.write_event_value("-problem-","problem happened")
        

layout=[
        [sg.Text("your ip:"),sg.InputText(key="-IP-")],
        [sg.Text("your port:"),sg.InputText(key="-PORT-")],
        [sg.Button("start recieving",key="-btn-recieve-",border_width=2,s=(11,2),pad=(0,15))],
        
]

window=sg.Window("recieve app",layout=layout,font="Arial 12",element_justification="c",size=(400,150))

thread=None
while True:
    event,inputstr=window.read()
    
    if event==sg.WIN_CLOSED:
        break
    elif event=="-btn-recieve-" and not thread and inputstr["-PORT-"].isdigit() and \
        not inputstr["-IP-"].isalnum():
        ip=inputstr["-IP-"]
        port=int(inputstr["-PORT-"])
        
        thread=Thread(target=recieve_data,args=(ip,port),daemon=True)
        thread.start()
        sg.popup_auto_close("waiting for sender...",auto_close_duration=2)
    elif event=="-problem-":
        thread=None
        sg.popup_no_titlebar("correct your ip or port")
    elif event=="-end-task-":
        data_file=inputstr[event]
        thread=None
        text=sg.popup_get_text("name of the file:","save file")
        with open(text,"wb") as file:
            file.write(data_file)
            sg.popup("file has been saved")
       

window.close()

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

پروژه ی ارسالی - اسکریپت Ping Sweep به صورت گرافیکی !

  • ۳۳۸
فرستنده : Ali Zabetpoor
نام پروژه  اسکریپت Ping Sweep به صورت گرافیکی
دسته بندی : python
توضیحات : Ping Sweep یکی از روش های اسکن آیپی های فعال (Live) در یک شبکه هستش . این اسکریپت عمل Ping Sweep رو با رابط کاربری گرافیکی انجام میده .

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

 

توضیحات MrPython در مورد پروژه :در این پروژه برای طراحی رابط کاربری گرافیکی از کتابخونه ی pySimpleGUI و برای اسکن شبکه با روش Ping Sweep از کتابخونه ی Scapy استفاده شده . پروژه ، رابط گرافیکی ساده و کاربردی داره . 

 

برای اجرای صحیح اسکریپت باید کتابخونه ی Scapy و pySimpleGUI رو نصب کنید . 

pip install pySimpleGUI
pip install scapy

 

سورس : 

from scapy.all import sr1,ICMP,IP
import PySimpleGUI as sg
import threading


sg.theme("DarkBlue3")

def check_ip(start,end,networkrange,stop):
    
    window.refresh()
    window["progress"].UpdateBar(0,max=end-start)
    timeout=1
    window["-output-"].update("")
    i=0
    for host in range(start,end):
        if stop():
            break
        ip=networkrange+str(host)
        try:
            packet=IP(dst=ip) / ICMP()
            response=sr1(packet,timeout=timeout,verbose=0)
        except:
            break
        window["progress"].UpdateBar(i+1)
        i+=1
        if response:
            if response[ICMP].type==0:
                
                window["-output-"].print(f"{ip} is live")
                window.refresh()
    window.write_event_value("-end-task-","the thread has been end")

layout=[
        [sg.Text("give me network range:",font="Arial",border_width=2),sg.InputText("192.168.1.",font="Arial 12",key="-networkrange-")],
        [sg.Text("give me start number:",font="Arial",border_width=2),sg.InputText("1",font="Arial 12",key="-start-")],
        [sg.Text("give me end number:",font="Arial",border_width=2),sg.InputText("255",font="Arial 12",key="-end-")],
        [sg.Button("check ip",key="-check-ip-",font="Arial",size=(10,1)),sg.Button("stop",font="Arial",size=(10,1),key="-stop-")],
        [sg.Text("",visible=False,key="txt1",font='Arial',size=(20,20))],
        [sg.ProgressBar(2,orientation="h",size=(20,20),key="progress")],
        [sg.Multiline("",size=(30,10),font="Arial",auto_size_text=True,key="-output-",justification="left")],
]


stop_thread=False
window=sg.Window("PingSweep",layout,size=(500,300),element_justification="c")
thread=None
while True:
    event,inputstr=window.read()
    if event==sg.WIN_CLOSED:
        break
    elif event=="-stop-" and thread:
        stop_thread=True
    elif event=="-check-ip-" and not thread and \
        inputstr["-start-"].isdigit() and \
        inputstr["-end-"].isdigit() and \
        not inputstr["-networkrange-"].isalnum()    :

        start_range,end_range,networkrange=int(inputstr["-start-"])\
            ,int(inputstr["-end-"]),inputstr["-networkrange-"]
        thread=threading.Thread(target=check_ip,args=(start_range,end_range,networkrange,lambda : stop_thread),daemon=True)
        thread.start()
    elif event=="-end-task-":
        thread=None
        stop_thread=False
        
    
window.close()

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

پروژه ی ارسالی - برنامه پسوورد ساز با multiprocessing

  • ۲۳۷
فرستنده Amin Pesa
نام پروژه برنامه پسوورد ساز با multiprocessing
دسته بندی : python
توضیحات : سورس تولید پسووردلیست برای اهداف مختلف با استفاده از پردازش های موازی

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

 

توضیحات MrPython در مورد پروژه : این پروژه UI یا رابط کاربری ساده و کاربردی داره که به راحتی میتونید ازش استفاده کنید . از توانایی خوب اسکریپت این هستش که میتونه برای اهداف مختلف ( کرکینگ های VPS ، کرکینگ های Wireless ، و .... ) پسووردلیست تولید کنه .

 

اسکریپت میتونه روی هر سیستم عاملی دارای پایتون ورژن 3 اجرا بشه و تمام کتابخونه های استفاده شده در سورس به طور پیشفرض روی پایتون نصب هستش .

 

توضیحات فرستنده : 

این کد پسوورد رو تو حالات مختلف مثل برای سرور مجازی، برای وای فای و چیزای دیگه میسازه که 6 حالت ساخت داره و همچنین  multiprocessing داره که از خود وبلاگ یاد گرفتم😊 قدر ادمین رو بدونید من خودم خیلی از سایتش استفاده کردم ( ادمین : ایشون لطف دارن :) )

 

سورس : 

# orphius
# password generator
# by aminXD
# use for make password list
# run any os (but needed python)
from random import choice, randint 
from string import printable, digits
from multiprocessing import Process
from time import time
print("""
                    __    _
  ____  _________  / /_  (_)_  _______
 / __ \/ ___/ __ \/ __ \/ / / / / ___/
/ /_/ / /  / /_/ / / / / / /_/ (__  )
\____/_/  / .___/_/ /_/_/\__,_/____/
         /_/
  
made by aminXD...
  idea by crunch(kali linux app)...\n""")
answer = input("""Choose Orphius Work:
1. Normal Mode
2. Choose Mode
3. VPS Password Maker
4. WIFI Password Maker
5. String With Integer
6. String And Integer
Enter: """).upper() #get operator
def normal(): #normal mode
    try: #try to run code
        chars = printable[0:94] #get all keyboard data
        length = int(input("Enter Password Lenght (If Want To Random Length, Enter 0): ")) #get length
        if length == 0: #if want to random length
            answer = input("Do You Want Choose Random Range(Y/N): ").upper() #get want choose random range
            if answer  == "Y": #if want to random length
                a = int(input("Enter Start Number: ")) #get start number
                b = int(input("Enter Stop Number: ")) #get stop number
                rand = randint(a,b) #get random number in range a to b
            elif answer == "N": #if not want choose random length
                rand = randint(8,20) #set to default random length
            else: #if entered unknown answer
                rand = randint(8,20) #again set to default random length
        count = int(input("Enter Password Count: ")) #get count of password
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ") #get want save to file
        if file.upper() == "NOT": #if not want save to file
            pass #dont execute ant code
        else: #if want save to file
            f = open(file,"a") # make or open file
            f.truncate(0) # clear file data
        start = time()
        for _ in range(count): # loop for all password count
            if length == 0:
                if answer == "Y":
                    password = "".join(choice(chars) for _ in range(rand)) # make password with custom range
                    rand = randint(a,b) # again set random range a to b
                else:
                    password = "".join(choice(chars) for _ in range(rand)) # make password with default range
                    rand = randint(8,20) # again set random range to default(8 to 20)
            else: # if not want random length
                password = "".join(choice(chars) for _ in range(length)) # make password with entered length
            print(password)
            if file.upper() != "NOT":   # if want save to file
                f.write(f"{password}\n") # print password to file
        end = time() - start
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt: #if entered CTRL + C (send exit request)
        print("Bye. :(")
    except ValueError: #if entered unknown answer
        print("Please Enter Integer Number")
    finally: # final block
        if file.upper() != "NOT": #if want save to file
            f.close() # close file
def choose(): # choose mode
    try: #try execute code
        chars = input("Enter The Useable Character(a to z,0 to 9,A to Z, special character): ") #get useable character
        chars = list(chars) #set entered character as list data type
        count = int(input("Enter Password Count: ")) # get count if password
        length = int(input("Enter Password Lenght (If Want To Random Length, Enter 0): ")) #get length of password
        if length == 0: #if want random length
            answer = input("Do You Want Choose Random Range(Y/N): ").upper()
            if answer  == "Y":
                a = int(input ("Enter Start Number: "))
                b = int(input("Enter Stop Number: "))
                rand = randint(a,b)
            elif answer == "N":
                rand = randint(8,20)
            else:
                rand = randint(8,20)
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT":
            pass #dont execute any code
        else:
            f = open(file,"a") #open or make file
            f.truncate(0) #clear file data
        for i in range(0,len(chars) - 1):
            if " " == chars[i]: del chars[i] #remove space
        start = time()
        for _ in range(count):
            if length == 0:
                if answer == "Y":
                    password = "".join(choice(chars) for _ in range(rand))
                    rand = randint(a,b)
                else:
                    password = "".join(choice(chars) for _ in range(rand))
                    rand = randint(8,20)
            else:
                password = "".join(choice(chars) for _ in range(length))
            print(password)
            if file.upper() != "NOT":
                f.write(f"{password}\n")
        end = time() - start
        print("".join("-" for _ in range(30)))
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT":
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt:
        print("Bye. :(")
    except ValueError:
        print("Please Enter Good Answer")
    finally:
        if file.upper() != "NOT":
            f.close()
def vps():
    try:
        raw = [ #add more word into this list
            "admin",
            "network",
            "server",
            "administrator",
            "administrator".upper(),
            "@dmin",
            "@admin",
            "MyP@ssw0rd",
            "P@$$word",
            "P@$$worD",
            "P@$VVORD",
            "P@$$w0rd",
            "P@$VVORD",
            "pass",
            "P@ssw0rD",
            "POWER",
            "PC",
            "abc",
            "ABC",
            "vps",
            "Vps",
            "VPS",
            "$Y$TEM",
            "123",
            "2020",
            "Garena",
            "com",
            "Mirana",
            "google",
            "GOOGLE",
            "Google",
            "Shadow",
            "secret",
            "Secret",
            "SECRET"
            "temp",
            "TEMP",
            "Temp",
            "user",
            "User",
            "USER",
            "test",
            "Test",
            "TEST",
            "welcome",
            "Welcome",
            "WELCOME",
            "desktop",
            "Desktop",
            "DESKTOP",
            "remote",
            "Remote",
            "REMOTE",
            "password",
            "Password",
            "PASSWORD",
            "pc",
            "Pc",
            "manager",
            "Manager",
            "MANAGER",
            "support",
            "Support",
            "SUPPORT",
            "homegroup",
            "Homegroup",
            "homeGroup",
            "HomeGroup",
            "adm!in",
            "Adm!n",
            "ADM!N",
            "client",
            "Client",
            "CLIENT",
            "m@n@ger",
            "exit",
            "EXIT",
            "Exit",
            "webadmin",
            "Webadmin",
            "webAdmin",
            "WebAdmin",
            "WEBADMIN",
            "root",
            "Root",
            "ROOT",
            "info",
            "Info",
            "INFO",
            "@dm!n",
            "operator",
            "Operator",
            "OPERATOR",
            "panel",
            "Panel",
            "PANEL",
            "Administrador",
            "Administrator",
            "config",
            "Config",
            "CONFIG",
            "member",
            "Member",
            "MEMBER",
            "online",
            "Online",
            "ONLINE",
            "ghost",
            "Ghost",
            "GHOST",
            "asus",
            "Asus",
            "ASUS",
            "4dmin",
            "@dm!n",
            "Storage",
            "storage",
            "STORAGE",
            "personal",
            "Personal",
            "PERSONAL",
            "cube",
            "Cube",
            "CUBE",
            "setpassword",
            "setpassword".title(),
            "setpassword".upper(),
            "portable",
            "portable".title(),
            "portable".upper()
        ]
        count = int(input("Enter Count: "))
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT":
            pass
        else:
            f = open(file,"a")
            f.truncate(0)
        i = 0
        ii = 0
        def wrt(fle, msg):
            if fle.upper() != "NOT":
                f.write(msg + "\n")
        start = time()
        while True:
            i += 1
            if i > count: break
            for x in raw:
                ii += 1
                for _ in range(100):
                    num = f"{randint(1,9999)}{x}"
                    print(num)
                    wrt(file, num)
                for _ in range(5):
                    num = f"{x}@{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                for _ in range(5):
                    num = f"{x}@{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}{i}")
                wrt(file, f"{x}{i}")
                print(f"{x}@{i}")
                wrt(file, f"{x}@{i}")
                print(f"{x}{i}{i}{i}")
                wrt(file , f"{x}{i}{i}{i}")
                print(f"{x}{i}{i}{i}{i}")
                wrt(file , f"{x}{i}{i}{i}{i}")
                print(f"{x}{i}{i}")
                wrt(file , f"{x}{i}{i}")
                print(f"{x}@{i}{i}{i}")
                wrt(file , f"{x}@{i}{i}{i}")
                print(f"{x}@{i}{i}")
                wrt(file , f"{x}@{i}{i}")
                print(f"{x}@{i}{i}{i}{i}")
                wrt(file,f"{x}@{i}{i}{i}{i}")
                print(f"{ii}{ii}{ii}")
                wrt(file, f"{ii}{ii}{ii}")
                print(f"{ii}{ii}{ii}{ii}")
                wrt(file , f"{ii}{ii}{ii}{ii}")
                print(f"{x}{ii}")
                wrt(file, f"{x}{ii}")
                print(f"{x}@{ii}")
                wrt(file, f"{x}@{ii}")
                print(f"{x}{ii}{ii}{ii}")
                wrt(file, f"{x}{ii}{ii}{ii}")
                print(f"{x}{ii}{ii}{ii}{ii}")
                wrt(file , f"{x}{ii}{ii}{ii}{ii}")
                print(f"{x}{ii}{ii}")
                wrt(file,f"{x}{ii}{ii}")
                print(f"{x}@{ii}{ii}{ii}")
                wrt(file, f"{x}@{ii}{ii}{ii}")
                print(f"{x}@{ii}{ii}")
                wrt(file, f"{x}@{ii}{ii}")
                print(f"{x}@{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}@{ii}{ii}{ii}{ii}")
                print(f"{x}@{ii}")
                wrt(file, f"{x}@{ii}")
                print(f"{x}#{ii}")
                wrt(file, f"{x}#{ii}")
                print(f"{x}#{ii}{ii}{ii}")
                wrt(file, f"{x}#{ii}{ii}{ii}")
                print(f"{x}#{ii}{ii}")
                wrt(file, f"{x}#{ii}{ii}")
                print(f"{x}#{ii}{ii}{ii}{ii}")
                wrt(file,f"{x}#{ii}{ii}{ii}{ii}")
                print(f"{x}#{ii}")
                wrt(file, f"{x}#{ii}")
                print(f"{x}#{i}")
                wrt(file, f"{x}#{i}")
                print(f"{x}#{i}{i}{i}")
                wrt(file, f"{x}#{i}{i}{i}")
                print(f"{x}#{i}{i}")
                wrt(file, f"{x}#{i}{i}")
                print(f"{x}#{i}{i}{i}{i}")
                wrt(file, f"{x}#{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}#{randint(1,9999)}"
                    print(num)
                    wrt(file,num)
                print(f"{x}+{ii}")
                wrt(file , f"{x}+{ii}")
                print(f"{x}+{ii}{ii}{ii}")
                wrt(file, f"{x}+{ii}{ii}{ii}")
                print(f"{x}+{ii}{ii}")
                wrt(file, f"{x}+{ii}{ii}")
                print(f"{x}+{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}+{ii}{ii}{ii}{ii}")
                print(f"{x}+{ii}")
                wrt(file, f"{x}+{ii}")
                print(f"{x}+{i}")
                wrt(file, f"{x}+{i}")
                print(f"{x}+{i}{i}{i}")
                wrt(file, f"{x}+{i}{i}{i}")
                print(f"{x}+{i}{i}")
                wrt(file, f"{x}+{i}{i}")
                print(f"{x}+{i}{i}{i}{i}")
                wrt(file, f"{x}+{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}+{randint(1,9999)}"
                    print(num)
                    wrt(file,num)
                print(f"{x}!{ii}")
                wrt(file, f"{x}!{ii}")
                print(f"{x}!{ii}{ii}{ii}")
                wrt(file, f"{x}!{ii}{ii}{ii}")
                print(f"{x}!{ii}{ii}")
                wrt(file, f"{x}!{ii}{ii}")
                print(f"{x}!{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}!{ii}{ii}{ii}{ii}")
                print(f"{x}!{ii}")
                wrt(file, f"{x}!{ii}")
                print(f"{x}!{i}")
                wrt(file, f"{x}!{i}")
                print(f"{x}!{i}{i}{i}")
                wrt(file, f"{x}!{i}")
                print(f"{x}!{i}{i}")
                wrt(file,f"{x}!{i}{i}")
                print(f"{x}!{i}{i}{i}{i}")
                wrt(file, f"{x}!{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}!{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}.{ii}")
                wrt(file, f"{x}.{ii}")
                print(f"{x}.{ii}{ii}{ii}")
                wrt(file, f"{x}.{ii}{ii}{ii}")
                print(f"{x}.{ii}{ii}")
                wrt(file, f"{x}.{ii}{ii}")
                print(f"{x}.{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}.{ii}{ii}{ii}{ii}")
                print(f"{x}.{ii}")
                wrt(file, f"{x}.{ii}")
                print(f"{x}.{i}")
                wrt(file, f"{x}.{i}")
                print(f"{x}.{i}{i}{i}")
                wrt(file, f"{x}.{i}{i}{i}")
                print(f"{x}.{i}{i}")
                wrt(file, f"{x}.{i}{i}")
                print(f"{x}.{i}{i}{i}{i}")
                wrt(file, f"{x}.{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}.{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}*{ii}")
                wrt(file, f"{x}*{ii}")
                print(f"{x}*{ii}{ii}{ii}")
                wrt(file, f"{x}*{ii}{ii}{ii}")
                print(f"{x}*{ii}{ii}")
                wrt(file, f"{x}*{ii}{ii}")
                print(f"{x}*{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}*{ii}{ii}{ii}{ii}")
                print(f"{x}*{ii}")
                wrt(file, f"{x}*{ii}")
                print(f"{x}*{i}")
                wrt(file, f"{x}*{i}")
                print(f"{x}*{i}{i}{i}")
                wrt(file, f"{x}*{i}{i}{i}")
                print(f"{x}*{i}{i}")
                wrt(file, f"{x}*{i}{i}")
                print(f"{x}*{i}{i}{i}{i}")
                wrt(file, f"{x}*{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}*{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}_{ii}")
                wrt(file, f"{x}_{ii}")
                print(f"{x}_{ii}{ii}{ii}")
                wrt(file, f"{x}_{ii}{ii}{ii}")
                print(f"{x}_{ii}{ii}")
                wrt(file, f"{x}_{ii}{ii}")
                print(f"{x}_{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}_{ii}{ii}{ii}{ii}")
                print(f"{x}_{ii}")
                wrt(file, f"{x}_{ii}")
                print(f"{x}_{i}")
                wrt(file, f"{x}_{i}")
                print(f"{x}_{i}{i}{i}")
                wrt(file, f"{x}_{i}{i}{i}")
                print(f"{x}_{i}{i}")
                wrt(file, f"{x}_{i}{i}")
                print(f"{x}_{i}{i}{i}{i}")
                wrt(file, f"{x}_{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}_{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}-{ii}")
                wrt(file, f"{x}-{ii}")
                print(f"{x}-{ii}{ii}{ii}")
                wrt(file, f"{x}-{ii}{ii}{ii}")
                print(f"{x}-{ii}{ii}")
                wrt(file, f"{x}-{ii}{ii}")
                print(f"{x}-{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}-{ii}{ii}{ii}{ii}")
                print(f"{x}-{ii}")
                wrt(file, f"{x}-{ii}")
                print(f"{x}-{i}")
                wrt(file, f"{x}-{i}")
                print(f"{x}-{i}{i}{i}")
                wrt(file, f"{x}-{i}{i}{i}")
                print(f"{x}-{i}{i}")
                wrt(file, f"{x}-{i}{i}")
                print(f"{x}-{i}{i}{i}{i}")
                wrt(file,f"{x}-{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}-{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
        end = time() - start
        print("".join("-" for _ in range(30)))
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT":
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt:
        print("Bye. :(")
    except ValueError:
        print("Please Enter Good Answer")
        exit()
    finally:
        if file.upper() != "NOT":
            f.close()
def wifi():
    try:
        length = int(input("Enter Password Lenght (If Want To Random Length, Enter 0): ")) #get length
        if length == 0: #if want to random length
            answer = input("Do You Want Choose Random Range(Y/N): ").upper() #get want choose random range
            if answer  == "Y": #if want to random length
                a = int(input("Enter Start Number: ")) #get start number
                b = int(input("Enter Stop Number: ")) #get stop number
                rand = randint(a,b) #get random number in range a to b
            elif answer == "N": #if not want choose random length
                rand = randint(8,20) #set to default random length
            else: #if entered unknown answer
                rand = randint(8,20) #again set to default random length
        count = int(input("Enter Password Count: ")) #get count of password
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ") #get want save to file
        if file.upper() == "NOT": #if not want save to file
            pass #dont execute ant code
        else: #if want save to file
            f = open(file,"a") # make or open file
            f.truncate(0) # clear file data
        start = time()
        for _ in range(count): # loop for all password count
            if length == 0:
                if answer == "Y":
                    password = "".join(choice(digits) for _ in range(rand)) # make password with custom range
                    rand = randint(a,b) # again set random range a to b
                else:
                    password = "".join(choice(digits) for _ in range(rand)) # make password with default range
                    rand = randint(8,20) # again set random range to default(8 to 20)
            else: # if not want random length
                password = "".join(choice(digits) for _ in range(length)) # make password with entered length
            print(password)
            if file.upper() != "NOT":   # if want save to file
                f.write(f"{password}\n") # print password to file
        end = start - time()
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt:
        print("Bye. :(")
    except ValueError:
        print("Please Enter Good Answer")
        exit()
    finally:
        if file.upper() != "NOT":
            f.close()
def string():
    try:
        start = input("Enter Start Word: ")
        end = input("Enter End Word: ")
        count = int(input("Enter Password Count(If Want Choose Range, Enter 0): "))
        if count == 0:
            a = int(input("Enter Start Number: "))
            b = int(input("Enter End Number: "))
        else:
            a = 1
            b = count
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT": #if not want save to file
            pass #dont execute ant code
        else: #if want save to file
            f = open(file,"a") # make or open file
            f.truncate(0) # clear file data
        start = time()
        for i in range(a,b + 1):
            print(f"{start}{i}{end}")
            if file.upper() != "NOT":
                f.write(f"{start}{i}{end}\n")
        end = time() - start
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except ValueError:
        print("Please Enter Good Answer")
    except KeyboardInterrupt:
        print("Bye. :(")
    finally:
        if file.upper() != "NOT":
            f.close()
def str_int():
    try:
        word = input("Enter Word: ")
        count = int(input("Enter Password Count(If Want Choose Range, Enter 0): "))
        if count == 0:
            a = int(input("Enter Start Number: "))
            b = int(input("Enter End Number: "))
        else:
            a = 1
            b = count
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT":
            pass
        else:
            f = open(file,"a")
            f.truncate(0)
        start = time()
        for i in range(a,b + 1):
            print(f"{word}{i}")
            if file.upper() != "NOT":
                f.write(f"{word}{i}\n")
        end = time() - start
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except ValueError:
        print("Please Enter Good Answer")
    except KeyboardInterrupt:
        print("Bye. :(")
    finally:
        if file.upper() != "NOT":
            f.close()
def merge():
    a = randint(1,6)
    if a == "1":
        task = Process(target=normal())
    elif a == "2":
        task = Process(target=choose())
    elif a == "3":
        task = Process(target=vps())
    elif a == "4":
        task = Process(target=wifi())
    elif a == "5":
        task = Process(target=string())
    elif a == "6":
        task = Process(target=str_int())

if answer == "1":
    task = Process(target=normal())
elif answer == "2":
    task = Process(target=choose())
elif answer == "3":
    task = Process(target=vps())
elif answer == "4":
    task = Process(target=wifi())
elif answer == "5":
    task = Process(target=string())
elif answer == "6":
    task = Process(target=str_int())
else:
    merge()

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

چالش شماره 3 - رمز فایلی که با AES رمزنگاری شده رو بدست بیارید :) + (معرفی برندگان چالش قبلی)

  • ۳۷۶

چالش شماره 3 - رمز فایلی که با AES رمزنگاری شده رو بدست بیارید :) + (معرفی برندگان چالش قبلی)

 

درود به همه !

 

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

چالش شماره 2 - به دنبال یک اسم و فامیل :) + (معرفی برندگان چالش قبلی)

  • ۶۶۹

چالش شماره 2 - به دنبال یک اسم و فامیل :) + (معرفی برندگان چالش قبلی)

 

درود به همه !

طبق درخواست شما دوستان عزیز ، تصمیم گرفتیم به طور هفتگی چالش هایی برای شما عزیزان آماده کنیم که میتوانند به یادگیری و تثبیت مطالب در ذهن شما بسیار کمک کنند . چالش امروز رو از دست ندید .

شماره چالش : 
سطح چالش : متوسط
دسته بندی : جمع آوری اطلاعات / Information Gathering

نوشتن اسکریپت مخفی کردن اطلاعات پشت آهنگ در پایتون

  • ۱۵۲۰

نوشتن اسکریپت مخفی کردن اطلاعات پشت آهنگ در پایتون

 

درود به همه !

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