📌 عنوان برنامه: برنامهای بنویسید که Webcam متصل به دستگاه را روشن کرده و هر ثانیه یکبار، یک عکس از تصویر موجود در Webcam گرفته و با تصویر قبل آنرا مقایسه کند و اگر تغییری در تصویر جدید بوجود آمده بود (Motion Detection)، تصویر مربوطه را با توجه به تاریخ و زمان سیستم، و با فرمت png ذخیره نماید؟
✅ نکته: برای درک فلسفه این کد، به مطلب قبلی مراجعه نمایید!
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
✅ نکته: برای درک فلسفه این کد، به مطلب قبلی مراجعه نمایید!
# **************************************************#SourceCode #SourceCode10030 #Practical
# pip install opencv-python
# https://github.com/opencv/opencv-python
# **************************************************
import time
import cv2 as cv
import numpy as np
from datetime import datetime
capture = cv.VideoCapture(index=0)
# Check if the webcam is opened correctly
if not capture.isOpened():
print("[#] Can not open webcam!")
quit()
last_mean = None
while True:
time.sleep(1)
# Frame means Webcam Image Capture!
result, frame = capture.read()
if result:
# Converting color image to gray_scale image
gray = cv.cvtColor(src=frame, code=cv.COLOR_BGR2GRAY)
# In first iteration we assign the
# value of 'old_gray' to our first frame
if last_mean is None:
last_mean = np.mean(gray)
continue
difference = np.abs(np.mean(gray) - last_mean)
# print(difference)
last_mean = np.mean(gray)
if difference > 0.3:
print("Motion Detected!")
now = datetime.now()
formated_now = now.strftime("%Y_%m_%d_%H_%M_%S")
filename = f"Capture_{formated_now}.png"
cv.imwrite(filename=filename, img=frame)
# Wait 1ms for ESC to be pressed
key = cv.waitKey(delay=1)
if key == 27:
break
capture.release()
cv.destroyAllWindows()
# **************************************************
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
❤8👍4
📌 عنوان برنامه: تابعی به نام is_national_code_valid بنویسید که یک ورودی به نام value از جنس رشته (String)، دریافت نموده و در صورتی که مقدار value، یک کد ملی معتبر بود، مقدار True و در غیر این صورت، مقدار False را برگرداند؟
✅ تذکر: با توجه به الگوریتم ذیل، سعی کنید که تابع مذکور را پیادهسازی و تست نمایید. انشاءالله تا ۲۴ ساعت آینده، به دو روش ساده و حرفهای، سورسکد مربوطه، منتشر خواهد شد، و شما میتوانید، کد خود را با این دو کد منتشر شده، مقایسه نمایید.
✅ تذکر: در صورتی که شخصی از کد ملی جعلی یا Fake استفاده نماید، مجازات آن، بر طبق قانون، از ۶ ماه تا ۳ سال زندان بوده و یا به صورت جریمه نقدی، محکوم به پرداخت از ۳ الی ۱۸ میلیون ریال برای فرد خاطی در نظر گرفته میشود!
✅ نکتهای، صرفا در جهت اطلاعات عمومی: سه رقم اول، مربوط به کد شهر میباشد!
- در صورتی که value، هیچ مقداری نداشته باشه (None)، کد ملی معتبر نمیباشد.
- تمام Space های مقدار value را از بین میبریم.
- در صورتی که طول رشته value، بزرگتر از ۱۰ کاراکتر و یا کمتر از ۸ کاراکتر باشد، کد ملی معتبر نمیباشد.
- در صورتی که طول رشته value، برابر ۸ کاراکتر باشد، از سمت چپ، دو صفر به آن اضافه میکنیم، تا طول رشته ۱۰ کاراکتر شود.
- در صورتی که طول رشته value، برابر ۹ کاراکتر باشد، از سمت چپ، یک صفر به آن اضافه میکنیم، تا طول رشته ۱۰ کاراکتر شود.
- در صورتی که تمام کاراکترهای مقدار value، عددی نباشند، کد ملی معتبر نمیباشد.
- در صورتی که همه ارقام کد ملی، کاملا یکسان باشند، کد ملی معتبر نمیباشد. یعنی، مثلا اگر همه ارقام یک باشند، کد ملی معتبر نمیباشد!
- نکته: اولین رقم در کد ملی، اولین رقم در سمت چپ آن میباشد و طبعا آخرین (دهمین) رقم در کد ملی، اولین رقم در سمت راست آن میباشد.
- حال متغیری به نام sum، تعریف کرده و اولین رقم کد ملی را در عدد ۱۰ ضرب کرده و با متغیر sum، جمع میکنیم و مجددا دومین رقم کد ملی را در عدد ۹ ضرب کرده و با متغیر sum، جمع میکنیم و این عمل را تا نهمین! رقم کد ملی تکرار میکنیم.
- دهمین رقم کد ملی را در متغیری به نام control_digit ذخیره میکنیم.
- باقیمانده حاصل این جمع را بر عدد ۱۱ بدست آورده و آنرا در متغیری به نام remainder ذخیره میکنیم.
تست نهایی:
- در صورتی که مقدار remainder، کمتر از عدد ۲ باشد (یعنی یا صفر یا یک باشد)، اگر مقدار remainder، برابر مقدار control_digit باشد، کد ملی معتبر بوده و در غیر این صورت معتبر نمیباشد!
- در صورتی که مقدار remainder، بزرگتر یا مساوی عدد ۲ باشد، اگر تفاضل remainder از عدد ۱۱، مساوی مقدار control_digit باشد، کد ملی معتبر بوده و در غیر این صورت معتبر نمیباشد!
#ALGORITHM #SourceCode10031 #Practical
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
✅ تذکر: با توجه به الگوریتم ذیل، سعی کنید که تابع مذکور را پیادهسازی و تست نمایید. انشاءالله تا ۲۴ ساعت آینده، به دو روش ساده و حرفهای، سورسکد مربوطه، منتشر خواهد شد، و شما میتوانید، کد خود را با این دو کد منتشر شده، مقایسه نمایید.
✅ تذکر: در صورتی که شخصی از کد ملی جعلی یا Fake استفاده نماید، مجازات آن، بر طبق قانون، از ۶ ماه تا ۳ سال زندان بوده و یا به صورت جریمه نقدی، محکوم به پرداخت از ۳ الی ۱۸ میلیون ریال برای فرد خاطی در نظر گرفته میشود!
✅ نکتهای، صرفا در جهت اطلاعات عمومی: سه رقم اول، مربوط به کد شهر میباشد!
- در صورتی که value، هیچ مقداری نداشته باشه (None)، کد ملی معتبر نمیباشد.
- تمام Space های مقدار value را از بین میبریم.
- در صورتی که طول رشته value، بزرگتر از ۱۰ کاراکتر و یا کمتر از ۸ کاراکتر باشد، کد ملی معتبر نمیباشد.
- در صورتی که طول رشته value، برابر ۸ کاراکتر باشد، از سمت چپ، دو صفر به آن اضافه میکنیم، تا طول رشته ۱۰ کاراکتر شود.
- در صورتی که طول رشته value، برابر ۹ کاراکتر باشد، از سمت چپ، یک صفر به آن اضافه میکنیم، تا طول رشته ۱۰ کاراکتر شود.
- در صورتی که تمام کاراکترهای مقدار value، عددی نباشند، کد ملی معتبر نمیباشد.
- در صورتی که همه ارقام کد ملی، کاملا یکسان باشند، کد ملی معتبر نمیباشد. یعنی، مثلا اگر همه ارقام یک باشند، کد ملی معتبر نمیباشد!
- نکته: اولین رقم در کد ملی، اولین رقم در سمت چپ آن میباشد و طبعا آخرین (دهمین) رقم در کد ملی، اولین رقم در سمت راست آن میباشد.
- حال متغیری به نام sum، تعریف کرده و اولین رقم کد ملی را در عدد ۱۰ ضرب کرده و با متغیر sum، جمع میکنیم و مجددا دومین رقم کد ملی را در عدد ۹ ضرب کرده و با متغیر sum، جمع میکنیم و این عمل را تا نهمین! رقم کد ملی تکرار میکنیم.
- دهمین رقم کد ملی را در متغیری به نام control_digit ذخیره میکنیم.
- باقیمانده حاصل این جمع را بر عدد ۱۱ بدست آورده و آنرا در متغیری به نام remainder ذخیره میکنیم.
تست نهایی:
- در صورتی که مقدار remainder، کمتر از عدد ۲ باشد (یعنی یا صفر یا یک باشد)، اگر مقدار remainder، برابر مقدار control_digit باشد، کد ملی معتبر بوده و در غیر این صورت معتبر نمیباشد!
- در صورتی که مقدار remainder، بزرگتر یا مساوی عدد ۲ باشد، اگر تفاضل remainder از عدد ۱۱، مساوی مقدار control_digit باشد، کد ملی معتبر بوده و در غیر این صورت معتبر نمیباشد!
#ALGORITHM #SourceCode10031 #Practical
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
❤4👍2
Forwarded from 🛑 Iranian Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
🎁 به بهانه روز جهانی برنامهنویسان...
💚 سلام دوستان عزیزم 💚
✅ من داریوش تصدیقی هستم، مدیر کانال تلگرامی متخصصین ایرانی، من به وجود یکایک شما برنامهنویسان این مرز و بوم افتخار میکنم و این روز را به همه شما عزیزان تبریک عرض میکنم، انشاءالله همیشه و همه جا، سلامت و شاد و موفق باشید...
✅ به بهانه این روز عزیز، میخواهم یک روش شیک، باکلاس و جذاب را برای انتشار سورسکدهای ارزشمند شما آموزش دهم. با استفاده از هر یک از سه روش ذیل، شما میتوانید (بخشی/همه) سورسکدهای خود را، با توجه به زبان برنامهنویسی که آنرا نوشتهاید، مانند تصویر فوق، به یک فایل تصویر زیبا تبدیل نموده و آنرا در شبکههای اجتماعی و غیره منتشر نمایید:
📌 روش اول: نصب یک Extension، بر روی Visual Studio Code
- Code Snapshot
📌 روش دوم: استفاده از دو سایت آنلاین ذیل:
- https://carbon.now.sh
- https://ray.so
ادمین کانال:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
💚 سلام دوستان عزیزم 💚
✅ من داریوش تصدیقی هستم، مدیر کانال تلگرامی متخصصین ایرانی، من به وجود یکایک شما برنامهنویسان این مرز و بوم افتخار میکنم و این روز را به همه شما عزیزان تبریک عرض میکنم، انشاءالله همیشه و همه جا، سلامت و شاد و موفق باشید...
✅ به بهانه این روز عزیز، میخواهم یک روش شیک، باکلاس و جذاب را برای انتشار سورسکدهای ارزشمند شما آموزش دهم. با استفاده از هر یک از سه روش ذیل، شما میتوانید (بخشی/همه) سورسکدهای خود را، با توجه به زبان برنامهنویسی که آنرا نوشتهاید، مانند تصویر فوق، به یک فایل تصویر زیبا تبدیل نموده و آنرا در شبکههای اجتماعی و غیره منتشر نمایید:
📌 روش اول: نصب یک Extension، بر روی Visual Studio Code
- Code Snapshot
📌 روش دوم: استفاده از دو سایت آنلاین ذیل:
- https://carbon.now.sh
- https://ray.so
ادمین کانال:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤14👍9
📌 عنوان برنامه: تابعی به نام is_national_code_valid بنویسید که یک ورودی به نام value از جنس رشته (String)، دریافت نموده و در صورتی که مقدار value، یک کد ملی معتبر بود، مقدار True و در غیر این صورت، مقدار False را برگرداند؟
✅ تذکر: الگوریتم مربوط به این برنامه، در دو مطلب قبل به طور کامل منتشر شده است!
✅ تذکر: در این سورسکد، سعی بر این شده است که از دستورات ساده و پایهای پایتون استفاده شود، این مدل کدنویسی، معمولا مربوط به برنامهنویسان Junior میباشد! در برنامه بعدی، سعی میکنیم که سورسکد را کمی حرفهایتر بنویسیم!
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
✅ تذکر: الگوریتم مربوط به این برنامه، در دو مطلب قبل به طور کامل منتشر شده است!
✅ تذکر: در این سورسکد، سعی بر این شده است که از دستورات ساده و پایهای پایتون استفاده شود، این مدل کدنویسی، معمولا مربوط به برنامهنویسان Junior میباشد! در برنامه بعدی، سعی میکنیم که سورسکد را کمی حرفهایتر بنویسیم!
# ********************#SourceCode #SourceCode10031 #Practical
def is_national_code_valid(value: str):
if value == None:
return False
value = value.replace(" ", "")
if len(value) < 8 or len(value) > 10:
return False
if len(value) == 9:
value = f"0{value}"
if len(value) == 8:
value = f"00{value}"
if value.isnumeric() == False:
return False
if (
value == "0000000000"
or value == "1111111111"
or value == "2222222222"
or value == "3333333333"
or value == "4444444444"
or value == "5555555555"
or value == "6666666666"
or value == "7777777777"
or value == "8888888888"
or value == "9999999999"
):
return False
sum = 0
sum += int(value[0]) * 10
sum += int(value[1]) * 9
sum += int(value[2]) * 8
sum += int(value[3]) * 7
sum += int(value[4]) * 6
sum += int(value[5]) * 5
sum += int(value[6]) * 4
sum += int(value[7]) * 3
sum += int(value[8]) * 2
control_digit = int(value[9])
remainder = sum % 11
if remainder < 2:
if remainder == control_digit:
return True
else:
if 11 - remainder == control_digit:
return True
return False
# ********************
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
❤4👍2
📌 عنوان برنامه: تابعی به نام is_national_code_valid بنویسید که یک ورودی به نام value از جنس رشته (String)، دریافت نموده و در صورتی که مقدار value، یک کد ملی معتبر بود، مقدار True و در غیر این صورت، مقدار False را برگرداند؟
✅ تذکر: الگوریتم مربوط به این برنامه، در دو مطلب قبل به طور کامل منتشر شده است!
✅ تذکر: در این سورسکد، سعی بر این شده است که از دستورات حرفهایتر پایتون استفاده شود، این مدل کدنویسی، معمولا مربوط به برنامهنویسان Senior میباشد!
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
✅ تذکر: الگوریتم مربوط به این برنامه، در دو مطلب قبل به طور کامل منتشر شده است!
✅ تذکر: در این سورسکد، سعی بر این شده است که از دستورات حرفهایتر پایتون استفاده شود، این مدل کدنویسی، معمولا مربوط به برنامهنویسان Senior میباشد!
# ********************#SourceCode #SourceCode10031 #Practical
def is_national_code_valid(value: str):
if value == None:
return False
value = value.replace(" ", "")
if len(value) < 8 or len(value) > 10:
return False
if len(value) == 9:
value = f"0{value}"
if len(value) == 8:
value = f"00{value}"
if value.isnumeric() == False:
return False
for index in range(10):
if value == str(index) * 10:
return False
sum = 0
for index in range(9):
sum += int(value[index]) * (10 - index)
control_digit = int(value[9])
remainder = sum % 11
if remainder < 2:
if remainder == control_digit:
return True
elif 11 - remainder == control_digit:
return True
return False
# ********************
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
❤3👍2
Forwarded from 🛑 Iranian Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
💚 معرفی سایتهای فتح پرچم!
💚 Capture the Flag (CTF) Sites!
✅ این سایتها، سایتهایی هستند که چالشهای زیادی برای شما فراهم میکنند، و شما میتوانید با استفاده از دانش Hack (هک)، نسبت به حل آنها اقدام کرده و در نهایت به یک کد خاص دسترسی پیدا کنید! به این کد، اصطلاحا پرچم گفته میشود و اصطلاحا شما پرچم را فتح میکنید!
✅ سایتهای زیادی در این خصوص وجود دارند، که به مرور زمان، در این کانال میگردند:
- https://overthewire.org/wargames/natas
- https://www.root-me.org
- https://www.hackthebox.com
✅ نکته: این لیست به مرور زمان تکمیل میگردد!
✅ نکته: هر ساله، مسابقات زیادی در این خصوص، در سراسر دنیا، و با این عنوان برگزار میگردد و افراد میتوانند به صورت فردی و یا گروهی در این مسابقات شرکت نمایند!
ادمین کانال:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
💚 Capture the Flag (CTF) Sites!
✅ این سایتها، سایتهایی هستند که چالشهای زیادی برای شما فراهم میکنند، و شما میتوانید با استفاده از دانش Hack (هک)، نسبت به حل آنها اقدام کرده و در نهایت به یک کد خاص دسترسی پیدا کنید! به این کد، اصطلاحا پرچم گفته میشود و اصطلاحا شما پرچم را فتح میکنید!
✅ سایتهای زیادی در این خصوص وجود دارند، که به مرور زمان، در این کانال میگردند:
- https://overthewire.org/wargames/natas
- https://www.root-me.org
- https://www.hackthebox.com
✅ نکته: این لیست به مرور زمان تکمیل میگردد!
✅ نکته: هر ساله، مسابقات زیادی در این خصوص، در سراسر دنیا، و با این عنوان برگزار میگردد و افراد میتوانند به صورت فردی و یا گروهی در این مسابقات شرکت نمایند!
ادمین کانال:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤3👍3
📌 عنوان برنامه: برنامهای بنویسید که یک Domain Name را از ورودی (کاربر) گرفته و اطلاعات Whois آنرا نمایش دهد:
✅ نکته: برای نمایش کاملی از اطلاعات، میتوانید ابتدا از دامنه google.com استفاده نمایید!
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
✅ نکته: برای نمایش کاملی از اطلاعات، میتوانید ابتدا از دامنه google.com استفاده نمایید!
# **********#SourceCode #SourceCode10032 #Practical #EthicalHacking
# pip install python-whois
# https://github.com/richardpenman/whois
# **********
import whois
domain_name = input("What is your domain name: ")
domain_name = domain_name.replace("www.", "")
domain_name = domain_name.replace("https://", "")
domain_name = domain_name.replace("https://", "")
domain_name = domain_name.lower()
try:
whois_information = whois.whois(domain_name)
if not whois_information.domain_name:
print(f"Domain '{domain_name}' is not registered!")
else:
print(f"Domain '{domain_name}' is registered.")
print(f"Email(s): {whois_information.emails}")
print(f"Registrar: {whois_information.registrar}")
print(f"WHOIS Server: {whois_information.whois_server}")
print(f"Domain Name(s): {whois_information.domain_name}")
print(f"Name Server(s): {whois_information.name_servers}")
print()
print(f"Updated Date: {whois_information.updated_date}")
print(f"Creation Date: {whois_information.creation_date}")
print(f"Expiration Date: {whois_information.expiration_date}")
print()
print(whois_information)
except:
print(f"Domain '{domain_name}' is not registered!")
# **********
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤2👍2
[No_Starch_Press]_Gray_Hat_Python.pdf
3 MB
☘️ معرفی کتابهای الکترونیکی ☘️
Title: Gray Hat Python
Author: Justin Seitz
Published Date: 2009
Publisher: No Starch Press
Pages: 220
Edition: First
Language: English
Description: Python Programming for Hacker and Reverse Engineers
#Book #EthicalHacking
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Title: Gray Hat Python
Author: Justin Seitz
Published Date: 2009
Publisher: No Starch Press
Pages: 220
Edition: First
Language: English
Description: Python Programming for Hacker and Reverse Engineers
#Book #EthicalHacking
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
❤3👍3
💚 سلام دوستان عزیزم 💚
🛑 برای یک برنامه بسیار ارزشمند و هیجانانگیز به زبان پایتون آماده شوید!
✅ فلسفه برنامه شماره سی و سه (۳۳):
زمانی که ما از طریق Wireless LAN Adapter دستگاهمان (لپتابمان)، یک دستگاه WIFI Router، در اطرافمان را پیدا (شناسایی) کرده و با یک گذرواژه به آن متصل میشویم، اطلاعات مربوط به آن WIFI Router، در قالب یک فایل Profile، بر روی دستگاه ما ذخیره میگردد، و گذرواژهای که در زمان اتصال، ثبت کردهایم، (متاسفانه) به صورت Plain Text، در همان فایل ذخیره میگردد!
حال میخواهیم برنامهای بنویسیم، که فهرست تمام اسامی WIFI Profile های ثبت شده بر روی دستگاه ما را چاپ نموده و در مقابل هر یک از آنها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد!
✅ نکته: همانند پروژههای قبل نیز، میخواهیم این کار را به صورت مرحله به مرحله (در چهار مرحله) انجام داده و در نهایت، به یک کد کامل، با رعایت تمام اصول Clean Code و Best Practice دست پیدا کنیم.
#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
🛑 برای یک برنامه بسیار ارزشمند و هیجانانگیز به زبان پایتون آماده شوید!
✅ فلسفه برنامه شماره سی و سه (۳۳):
زمانی که ما از طریق Wireless LAN Adapter دستگاهمان (لپتابمان)، یک دستگاه WIFI Router، در اطرافمان را پیدا (شناسایی) کرده و با یک گذرواژه به آن متصل میشویم، اطلاعات مربوط به آن WIFI Router، در قالب یک فایل Profile، بر روی دستگاه ما ذخیره میگردد، و گذرواژهای که در زمان اتصال، ثبت کردهایم، (متاسفانه) به صورت Plain Text، در همان فایل ذخیره میگردد!
حال میخواهیم برنامهای بنویسیم، که فهرست تمام اسامی WIFI Profile های ثبت شده بر روی دستگاه ما را چاپ نموده و در مقابل هر یک از آنها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد!
✅ نکته: همانند پروژههای قبل نیز، میخواهیم این کار را به صورت مرحله به مرحله (در چهار مرحله) انجام داده و در نهایت، به یک کد کامل، با رعایت تمام اصول Clean Code و Best Practice دست پیدا کنیم.
#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
👍4❤3
📌 عنوان برنامه: برنامهای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاهتان را چاپ نموده و در مقابل هر یک از آنها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟
✅ مرحله اول
- قدم اول: در محیط Windows PowerShell دستور ذیل را اجرا کرده و نتیجه آنرا مشاهده میکنیم:
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
✅ مرحله اول
- قدم اول: در محیط Windows PowerShell دستور ذیل را اجرا کرده و نتیجه آنرا مشاهده میکنیم:
# ********************- قدم دوم: حال این دستور را توسط زبان برنامهنویسی پایتون اجرا میکنیم و نتیجه اجرای این دستور را در متغیری به نام profiles_string ذخیره میکنیم:
netsh wlan show profiles
# ********************
# ********************- قدم سوم: با استفاده از دستورات و توابع مربوط به string، سعی میکنیم که از این متن، یک لیست ایجاد کنیم که آیتمهای آن، اسامی WIFI Network ها باشد:
import subprocess
command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)
print(profiles_string)
# ********************
# ********************#SourceCode #SourceCode10033 #Practical #EthicalHacking
import subprocess
command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)
index = profiles_string.find("User profiles")
profiles_string = profiles_string[index:]
profiles_string = profiles_string.replace("User profiles", "")
profiles_string = profiles_string.replace("-------------", "")
profiles_string = profiles_string.replace("\r", "")
profiles_lines = profiles_string.split(sep="\n")
wifi_names = []
for line in profiles_lines:
if line != "":
parts = line.split(sep=":")
wifi_name = parts[1].strip()
wifi_names.append(wifi_name)
wifi_names.sort()
for wifi_name in wifi_names:
print(f"[{wifi_name}]")
# ********************
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤3👍2
📌 عنوان برنامه: برنامهای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاهتان را چاپ نموده و در مقابل هر یک از آنها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟
✅ مرحله دوم
- فرض کنید که نام یکی از WIFI های شما، MobinNet110 باشد.
- قدم اول: در محیط Windows PowerShell دستور ذیل را اجرا کرده و نتیجه آنرا مشاهده میکنیم:
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
✅ مرحله دوم
- فرض کنید که نام یکی از WIFI های شما، MobinNet110 باشد.
- قدم اول: در محیط Windows PowerShell دستور ذیل را اجرا کرده و نتیجه آنرا مشاهده میکنیم:
# ********************- قدم دوم: حال این دستور را توسط زبان برنامهنویسی پایتون اجرا میکنیم و نتیجه اجرای این دستور را در متغیری به نام profile_string ذخیره میکنیم:
netsh wlan show profile name="MobinNet110" key=clear
# ********************
# ********************- قدم سوم: با استفاده از دستورات و توابع مربوط به string، سعی میکنیم که از این متن، گذرواژه (password) موجود در متن را استخراج کرده و آنرا نمایش میدهیم:
import subprocess
wifi_name = "MobinNet110"
command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)
print(profile_string)
# ********************
# ********************#SourceCode #SourceCode10033 #Practical #EthicalHacking
import subprocess
wifi_name = "MobinNet110"
command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)
index_1 = profile_string.find("Key Content")
index_2 = profile_string.find("Cost settings")
profile_string = profile_string[index_1:index_2]
profile_string = profile_string.replace(":", "")
profile_string = profile_string.replace("Key Content", "")
password = profile_string.strip()
print(f"[{password}]")
# ********************
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤2👍2
📌 عنوان برنامه: برنامهای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاهتان را چاپ نموده و در مقابل هر یک از آنها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟
✅ مرحله سوم
- حال کافی است که کدهای مرحله یک و مرحله دو را در هم ادغام نماییم!
#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
✅ مرحله سوم
- حال کافی است که کدهای مرحله یک و مرحله دو را در هم ادغام نماییم!
# ********************✅ نکته: همانطور که ملاحظه میکنید، برنامه به زیبایی کار میکند، ولی خروجی نتایج، از نظر ظاهری و قیافه چندان جذابیت ندارد، لذا در مرحله چهارم (مرحله آخر) یک سری تکنیکهای حرفهای به این کد اضافه میکنیم تا نتایج مورد قبول و پسند ما قرار گیرد!
import subprocess
command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)
index = profiles_string.find("User profiles")
profiles_string = profiles_string[index:]
profiles_string = profiles_string.replace("User profiles", "")
profiles_string = profiles_string.replace("-------------", "")
profiles_string = profiles_string.replace("\r", "")
profiles_lines = profiles_string.split(sep="\n")
wifi_names = []
for line in profiles_lines:
if line != "":
parts = line.split(sep=":")
wifi_name = parts[1].strip()
wifi_names.append(wifi_name)
wifi_names.sort()
for wifi_name in wifi_names:
command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)
index_1 = profile_string.find("Key Content")
index_2 = profile_string.find("Cost settings")
profile_string = profile_string[index_1:index_2]
profile_string = profile_string.replace(":", "")
profile_string = profile_string.replace("Key Content", "")
password = profile_string.strip()
print(f"[{wifi_name}]: [{password}]")
# ********************
#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤3👍1
📌 عنوان برنامه: برنامهای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاهتان را چاپ نموده و در مقابل هر یک از آنها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟
✅ مرحله چهارم (پایانی)
🛑 یک برنامه کاربردی و هیجانانگیز با کلی تکنیکهای حرفهای برنامهنویسی!
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
✅ مرحله چهارم (پایانی)
🛑 یک برنامه کاربردی و هیجانانگیز با کلی تکنیکهای حرفهای برنامهنویسی!
# ********************#SourceCode #SourceCode10033 #Practical #EthicalHacking
import os, subprocess
os.system(command="cls")
command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)
index = profiles_string.find("User profiles")
profiles_string = profiles_string[index:]
profiles_string = profiles_string.replace("User profiles", "")
profiles_string = profiles_string.replace("-------------", "")
profiles_string = profiles_string.replace("\r", "")
profiles_lines = profiles_string.split(sep="\n")
wifi_names = []
for line in profiles_lines:
if line != "":
parts = line.split(sep=":")
wifi_name = parts[1].strip()
wifi_names.append(wifi_name)
wifi_names.sort()
for index, wifi_name in enumerate(wifi_names):
command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)
index_1 = profile_string.find("Key Content")
index_2 = profile_string.find("Cost settings")
profile_string = profile_string[index_1:index_2]
profile_string = profile_string.replace(":", "")
profile_string = profile_string.replace("Key Content", "")
password = profile_string.strip()
print(f"[{(index + 1):>2}] - [{wifi_name:<32}]: [{password}]")
print()
# ********************
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤3👍2
✅ معروفترین سایتها/اپلیکیشنهایی که با Python نوشته شدهاند:
1. Instagram
2. Pinterest
3. Disqus
4. Spotify
5. Dropbox
6. Uber
7. Reddit
📌 منبع:
https://DjangoStars.com
#Site #Statistics
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
1. Instagram
2. Pinterest
3. Disqus
4. Spotify
5. Dropbox
6. Uber
7. Reddit
📌 منبع:
https://DjangoStars.com
#Site #Statistics
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤4👍2
[No_Starch_Press]_Black_Hat_Python.pdf
4.6 MB
☘️ معرفی کتابهای الکترونیکی ☘️
Title: Black Hat Python
Author: Justin Seitz / Tim Arnold
Published Date: 2021
Publisher: No Starch Press
Pages: 188
Edition: Second
Language: English
Description: Python Programming for Hacker and Pentesters
#Book #EthicalHacking
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Title: Black Hat Python
Author: Justin Seitz / Tim Arnold
Published Date: 2021
Publisher: No Starch Press
Pages: 188
Edition: Second
Language: English
Description: Python Programming for Hacker and Pentesters
#Book #EthicalHacking
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
❤4👍3
Forwarded from 🛑 Iranian Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
✅ معرفی یک سایت فوقالعاده!
https://www.VirusTotal.com
گاهی اوقات پیش میآید که یک فایلی بدست ما رسیده است، که نسبت به ویروسی بودن آن مشکوک هستیم. هر چند که آنرا توسط Antivirus خودمان، اسکن (Scan) کردهایم و آنتیویروس، هیچ مورد مشکوکی را شناسایی نکرده است! برای این منظور میتوانیم وارد این سایت شده و فایل خودمان را در این سایت آپلود نموده، تا توسط حداقل ۵۰ موتور/بانکاطلاعاتی آنتیویروس دیگر بررسی گردد!
📌 برای دوستانی که در زمینه Ethical Hacking فعالیت میکنند، نیز این سایت بسیار مفید میباشد! بدین صورت که بعد از نوشتن یک بدافزار بومی، میتوانند از طریق این سایت، بررسی نمایند که بدافزار نوشته شده، توسط چه آنتیویروسهایی ممکن است شناسایی شود! در ضمن، این عزیزان میتوانند در این سایت ثبتنام کرده و بعد از دریافت API Key، از طریق سامانههای خود، اقدام به ارسال فایلهای مشکوک نموده و آنها را بررسی نمایند. البته نسخه رایگان این سایت، محدودیتهایی دارد که قابل چشمپوشی و اغماض میباشد.
#Site #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
https://www.VirusTotal.com
گاهی اوقات پیش میآید که یک فایلی بدست ما رسیده است، که نسبت به ویروسی بودن آن مشکوک هستیم. هر چند که آنرا توسط Antivirus خودمان، اسکن (Scan) کردهایم و آنتیویروس، هیچ مورد مشکوکی را شناسایی نکرده است! برای این منظور میتوانیم وارد این سایت شده و فایل خودمان را در این سایت آپلود نموده، تا توسط حداقل ۵۰ موتور/بانکاطلاعاتی آنتیویروس دیگر بررسی گردد!
📌 برای دوستانی که در زمینه Ethical Hacking فعالیت میکنند، نیز این سایت بسیار مفید میباشد! بدین صورت که بعد از نوشتن یک بدافزار بومی، میتوانند از طریق این سایت، بررسی نمایند که بدافزار نوشته شده، توسط چه آنتیویروسهایی ممکن است شناسایی شود! در ضمن، این عزیزان میتوانند در این سایت ثبتنام کرده و بعد از دریافت API Key، از طریق سامانههای خود، اقدام به ارسال فایلهای مشکوک نموده و آنها را بررسی نمایند. البته نسخه رایگان این سایت، محدودیتهایی دارد که قابل چشمپوشی و اغماض میباشد.
#Site #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
👍4❤3
📌 عنوان برنامه: برنامهای بنویسید که به سایت IMDB متصل شده و از اطلاعات درج شده در متن صفحات HTML آن:
۱. فهرست ۲۵۰ فیلم برتر جهان
۲. فهرست تمام فیلمهایی که در نام آنها کلمات Star Wars وجود دارد
۳. فهرست ۵۰ سریال برتر که در ژانر علمی / تخیلی میباشند
۴. فهرست ۵۰ فیلم برتر که در ژانر علمی / تخیلی میباشند
را بدست آورده و به ما نمایش دهد؟
✅ نکته: این برنامه، برای عزیزانی نوشته شده است که هنوز در حوزه زبان برنامهنویسی پایتون Junior میباشند! در برنامه بعدی از امکانات هیجانانگیز زیادی استفاده میگردد و برنامه بعدی برای عزیزان Senior مناسب میباشد.
✅ نکته: تقریبا تا پایان سال ۲۰۲۲، برای حل این تمرین، کتابخانهای به نام IMDBPY وجود داشت که از ابتدای سال ۲۰۲۳، توسعهدهنده این کتابخانه، کتابخانه دیگری به نام Cinemagoer، با امکانات جذابتری توسعه داده است که ما آخرین نسخه آن استفاده میکنیم!
✅ نکته: متاسفانه پاسخ شما یک، در بعضی از مواقع کار نمیکند! ولی بقیه پاسخها به درستی کار میکنند.
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
۱. فهرست ۲۵۰ فیلم برتر جهان
۲. فهرست تمام فیلمهایی که در نام آنها کلمات Star Wars وجود دارد
۳. فهرست ۵۰ سریال برتر که در ژانر علمی / تخیلی میباشند
۴. فهرست ۵۰ فیلم برتر که در ژانر علمی / تخیلی میباشند
را بدست آورده و به ما نمایش دهد؟
✅ نکته: این برنامه، برای عزیزانی نوشته شده است که هنوز در حوزه زبان برنامهنویسی پایتون Junior میباشند! در برنامه بعدی از امکانات هیجانانگیز زیادی استفاده میگردد و برنامه بعدی برای عزیزان Senior مناسب میباشد.
✅ نکته: تقریبا تا پایان سال ۲۰۲۲، برای حل این تمرین، کتابخانهای به نام IMDBPY وجود داشت که از ابتدای سال ۲۰۲۳، توسعهدهنده این کتابخانه، کتابخانه دیگری به نام Cinemagoer، با امکانات جذابتری توسعه داده است که ما آخرین نسخه آن استفاده میکنیم!
✅ نکته: متاسفانه پاسخ شما یک، در بعضی از مواقع کار نمیکند! ولی بقیه پاسخها به درستی کار میکنند.
# ********************#SourceCode #SourceCode10034 #Practical #General
# pip install cinemagoer
# https://cinemagoer.github.io/
# https://github.com/cinemagoer/cinemagoer
# ********************
from imdb import Cinemagoer
instance = Cinemagoer()
# 1
movies = instance.get_top250_movies()
# 2
# movies = instance.search_movie(title="Star Wars")
# 3
# movies = instance.get_top50_tv_by_genres(genres="Sci-Fi")
# 4
# movies = instance.get_top50_movies_by_genres(genres="Sci-Fi")
for movie in movies:
print(movie)
# ********************
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
❤5👍2
📌 عنوان برنامه: برنامهای بنویسید که به سایت IMDB متصل شده و از اطلاعات درج شده در متن صفحات HTML آن:
۱. فهرست ۲۵۰ فیلم برتر جهان
۲. فهرست تمام فیلمهایی که در نام آنها کلمات Star Wars وجود دارد
۳. فهرست ۵۰ سریال برتر که در ژانر علمی / تخیلی میباشند
۴. فهرست ۵۰ فیلم برتر که در ژانر علمی / تخیلی میباشند
را بدست آورده و به ما نمایش دهد؟
✅ نکته: در این برنامه، میخواهیم اطلاعات برحسب سال تولید مرتب شده و در ابتدای هر سطر اطلاعاتی، شماره ردیف نمایش داده شده و در همان سطر، سال تولید، Rating، و مناسب سن بودن نیز نمایش داده شود.
✅ نکته: این برنامه، برای عزیزان Senior نوشته شده است!
✅ نکته: تقریبا تا پایان سال ۲۰۲۲، برای حل این تمرین، کتابخانهای به نام IMDBPY وجود داشت که از سال ۲۰۲۳، توسعهدهنده این کتابخانه، کتابخانه دیگری به نام Cinemagoer، با امکانات جذابتری توسعه میدهد!
✅ نکته: متاسفانه پاسخ شما یک، بعضی وقتها کار نمیکند! ولی بقیه پاسخها به درستی کار میکنند.
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
۱. فهرست ۲۵۰ فیلم برتر جهان
۲. فهرست تمام فیلمهایی که در نام آنها کلمات Star Wars وجود دارد
۳. فهرست ۵۰ سریال برتر که در ژانر علمی / تخیلی میباشند
۴. فهرست ۵۰ فیلم برتر که در ژانر علمی / تخیلی میباشند
را بدست آورده و به ما نمایش دهد؟
✅ نکته: در این برنامه، میخواهیم اطلاعات برحسب سال تولید مرتب شده و در ابتدای هر سطر اطلاعاتی، شماره ردیف نمایش داده شده و در همان سطر، سال تولید، Rating، و مناسب سن بودن نیز نمایش داده شود.
✅ نکته: این برنامه، برای عزیزان Senior نوشته شده است!
✅ نکته: تقریبا تا پایان سال ۲۰۲۲، برای حل این تمرین، کتابخانهای به نام IMDBPY وجود داشت که از سال ۲۰۲۳، توسعهدهنده این کتابخانه، کتابخانه دیگری به نام Cinemagoer، با امکانات جذابتری توسعه میدهد!
✅ نکته: متاسفانه پاسخ شما یک، بعضی وقتها کار نمیکند! ولی بقیه پاسخها به درستی کار میکنند.
# ********************#SourceCode #SourceCode10034 #Practical #General
# pip install cinemagoer
# https://cinemagoer.github.io/
# https://github.com/cinemagoer/cinemagoer
# ********************
from imdb import Cinemagoer
instance = Cinemagoer()
# 1
# movies = instance.get_top250_movies()
# 2
movies = instance.search_movie(title="Star Wars")
# 3
# movies = instance.get_top50_tv_by_genres(genres="Sci-Fi")
# 4
# movies = instance.get_top50_movies_by_genres(genres="Sci-Fi")
movies.sort(key=lambda item: item["year"], reverse=True)
for index, movie in enumerate(movies):
id = movie.movieID
title = movie["title"]
year = movie["year"]
rating = "-"
if "rating" in movie:
rating = movie["rating"]
certificate = "-"
if "certificates" in movie:
certificate = movie["certificates"][0]
message = f"[{index + 1:>2}] {title:<55} Year: {year:<4} Rating: {rating:<3} Certificate: {certificate:<8}"
# message += f" [{id:>8}]"
print(message)
# ********************
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
👍5❤3
ضمن عرض سلام و خیر مقدم به یکایک شما عزیزان و بزرگواران، لازم دیدم که به یک نکته در خصوص این کانال اشاره نموده و از شما تقاضایی نمایم:
با تشکر و احترام
داریوش تصدیقی
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍6
# ********************باید (بهتر است) از دستورات (روش) ذیل استفاده نمایید:
print("Hello, World!")
# ********************
# ********************📌 تذکر: در تمام سورسکدهایی که تاکنون در این کانال نوشته شده و یا نوشته خواهند شد، به دلیل آنکه حجم سورسکدها زیاد نشود، از این الگوی برنامهنویسی استفاده نخواهیم کرد، ولی شما باید در پروژههای خود حتما از این الگو استفاده نمایید!
def main():
print("Hello, World!")
if __name__ == "main":
main()
# ********************
#BestPractice
🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3