کرم های کامپیوتر





کرم های کامپیوتر

من و دوستم دو تا کرمیم که داریم تو سیستم ها وُل می خوریم و بعضی وقت ها براتون چیزایی که تو این وُل خوردن ها یاد گرفتیم رو می نویسیم!!!!!

ربات تلگرامی ما
آخرین نظرات

۶ مطلب با کلمه‌ی کلیدی «اسکریپت» ثبت شده است

عملگر x در زبان پرل برای تکرار یک رشته به کار میرود،مثال:

$s = "M";
$s = $s . ("o" x 3);
print $s;

خروجی:

Mooo
  • فاروق کریمی زاده

فکر کنم اندی پیش بود که یکی از خوانندگان وبلاگ(از خوانندگان پروپا قرص بودن!) گفتند برای چاپ هر تگ اچ تی ام ال داخل پرل باید یک خط بنویسی. الآن که خودم رفتم سراع نوشتن یک اسکریپت cgi با پرل فهمیدم که اینطور میتونید یک رشته‌ی چند خطی رو چاپ بکنید:

print <<'END';
<!doctype html>
<html><body>
This is just a test
</body></html>
END

البته محدودیت هایی هم داره از جمله اینکه نمیتونید از متغیر ها، استفاده بکنید همونطور که استفاده میکردید:

$val = 111;
print "Value is $val\n";
  • فاروق کریمی زاده

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

#!/usr/bin/python3
'''
HexView.Py - A simple File Viewer in Hexadecimal format.
Author: FarooghKZ
Under GPL3+. THIS SOFTWARE COMES WITH NO WARRENTY FROM MAIN AUTHOR.
'''

import sys # I inlcude this to use sys.exit() and sys.argv

def showhelp(): # this function shows usage of program
    print("Usage: hexview.py file_path\n\tfile_path: Path of file to view.");
    sys.exit()

if '-h' in sys.argv: #shows help if something like this passed to program: 'hexview.py -h'
    showhelp()

path = sys.argv[1]
filestream = None
fbytes = None

try:
    filestream = open(path,'br') # Open the file in Binary mode for Reading(br)
    fbytes = filestream.read() # Read all bytes from the file 
finally:
    if filestream:
        filestream.close()

rown = 0 
print('')
for b in fbytes:
    s = hex(b).upper()
    s = s.replace('0X','')# "0XBA" => "BA"

    if len(s) == 1: 
        print('0', end='')
    print(s, end=' ')

    rown += 1
    if (rown % 27) == 0:
        print('')

print("\n") # prints 2 newline

پیوند تکه کد در گیت هاب گیست ( برای دریافت به اینجا بروید)

  • فاروق کریمی زاده

همین الآن اینو داخل خط فرمان بزنید:

cat /dev/urandom | tr -cd 'A-Za-z0-9!-+' | fold -w 10 | head -n 4

چهار تا پسورد به طول 10 کاراکتر براتون ساخته شد :)

چطور کار میکنه؟

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

دستور tr باعث میشه فقط کاراکتر هایی که ما میخوایم بمونن و بقیه حذف بشن.

دستور fold متن رو به خط هایی به طول 10 کاراکتر میشکنه و دستور head هم 4 خط اول رو نشون میده.

اون علامت لوله(|) بین دستورات هم خروجی دستور اول رو به ورودی دستور دوم منتقل میکنه.

  • فاروق کریمی زاده

مفسر پایتون

مفسر پایتون یک برنامه کوچک(برای ویندوز 19 مگابایت و برای لینوکس کمتر)است که میتوانید با آن اسکریپت نویسی پایتون را انجام دهید. میتوانید یک پایتون اسکریپت(با پسوند py) را اجرا کرده یا مستقیما کد هارا آزمایش کنید یا از این مفسر توضیحاتی در مورد یک دستور بخواهید و ...

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

برنامه Hello World

اسم این عبارت معروف را شنیده اید؟!وقتی صحبت از این برنامه در دنیای برنامه نویسی میشود(Hello World Program)، منظور برنامه ای است که در آن زبان(مثلا سی پلاس پلاس) عبارت Hello World را در خروجی بچاپد (:

شاید معنی این عبارت "سلامی از طرف برنامه نویس به دنیای آن زبان" باشد.

اما بعد برگردیم سر اصل مطلب.برنامه Hello world در پایتون این است:

print('Hello World!')
بله به همین سادگی! print یکی از توابع توکار(builtin) پایتون است.در پرانتز و بین دو ' یا دو " یا دو """  ، متنی که باید در خروجی نمایش داده میشود قرار میگیرد.اما فرق آن سه چیست؟ ' و " زمانی استفاده میشوند که بخواهیم یک رشته(متن) معمولی و تک خطی را نمایش دهیم یعنی رشته(متن) ما نهایتا یک خط دارد هر چند که ممکن است در خط فرمان یا ویرایشگر ها آن را در چند خط نمایش دهد اما رشته ما در هر صورت یک خط دارد.اما مورد سوم یعنی """ زمانی استفاده میشود که بخواهیم رشته را چند خطی کنیم.تعدادی مثال:
print('Hello World!')# Single Line
print("Hello World!")# Single Line
print("""
Hello
World!
""")
برنامه ای که به کاربر سلام میکند
این برنامه نام کاربر را از او پرسیده و سپس با نامش به او سلام میکند.
برای اینکار برنامه ما باید کار های زیر را به ترتیب انجام دهد:
  1. چاپ پیغامی مبتنی بر اینکه کاربر باید نام خود را وارد کنید
  2. گرفتن چیزی که کاربر وارد میکند و سپس قرار دادن آن در یک متغیر
  3. چاپ پیغامی که در آن به کاربر سلام میکند و نامش را صدا میزند.

برنامه ما این است:

name = input('What\'s your name? ')
print('Hello', name)
توضیح کد بالا: با دستور input همزمان پیغامی به کاربر داده میشود و بعد کاربر باید متنی را وارد کند و کلید ENTER را بزند.متن وارد شده توسط کاربر در متغیر name ذخیره میشوند.سپس دستور print آنرا به همراه متن 'Hello' چاپ میکند.

توضیحی در مورد دستور input: این دستور متنی را برای کاربر نمایش داده و از او یک متن را میگیرد و آنرا برمیگرداند.این متن یک متغیر string است و برای استفاده عددی از آن باید آنرا تبدیل کنید.

برنامه بالا را میتوان فشرده تر کرد:
print('Hello', input('What\'s your name? '))
محاسبه مساحت یک دایره
این برنامه شعاع دایره را از کاربر دریافت کرده و سپس مساحت آنرا برایش نمایش میدهد.کد برنامه:
r = int(input('Enter R. : ')
pi = 3.1415
print('S:',r*r*pi)
توضیح دستور int: دستور int هرچی بهش بدی به عدد تبدیل میکنه!چیزی که دستور input بهمون میده فقط یک رشته هست.برای اعمل محاسبات باید آنرا به عدد تبدیل کنیم.
عملگر *: داخل برنامه نویسی به * و + و - و ... عملگر گفته میشه.اینها یکسری بلایا رو سر متغیر ها یعنی عملوند ها در میارند.در برنامه بالا این عملگر یعنی * دو متغیر عددی رو در هم ضرب میکنه.
اجرای برنامه ها
برای اجرای این برنامه ها دو راه دارید:

راه اول: مفسر پایتون رو که در ویندوز یک فایل EXE هست و در لینوکس با دستور python داخل خط فرمان اجرا کنید و تک تک دستورات را داخلش بنویسید و اجرا کنید.این راه پیشنهاد نمیشود چون به محض زدن ENTER آن دستور اجرا شده و فرصتی برای بررسی کد و خطایابی و غیره وجود ندارد.

راه دوم این است که دستورات را در یک ویرایشگر متنی وارد کرده و نهایتا با فرمت py یعنی فرمت اسکریپت های پایتون ذخیره کنید و با دستورات زیر در خط فرمان سیستم عامل خود اجرا کنید:
ویندوز:
path_of_python path_of_pythonscript
C:\Python\Python.exe C:\Hello.py
گنو/لینوکس:
python path_of_script
python '/home/faroogh/desktop/hello.py'
در ضمن پایتون خیلی آسون تر از اون چیزیه که فکر میکنید.نترسید خودم ظرف 1 هفته(البته کمی بیشتر) یاد گرفتم.حالا فرض کنیم حتی اگه شما خدایی نکرده عقب مونده هم باشید دیگه نباید بیشتر از 1 یا 2 ماه طول بکشه.
  • فاروق کریمی زاده

Bash History Analyser یا BHA یک اسکریپت ساده است که به زبان پایتون نوشته شده است و آمار تاریخچه بش شما را نشان میدهد و به شما میگوید کدام دستورات را بیشتر استفاده میکنید و کدام کمتر.

  • فاروق کریمی زاده