ساخت ابزار کرکر فایل های PDF محافظت شده با رمز عبور در پایتون :: Mr Python | مستر پایتون

ساخت ابزار کرکر فایل های PDF محافظت شده با رمز عبور در پایتون

  • ۷۳۵

آموزش کرک فایل های  PDF محافظت شده با password با پایتون

 

درود به همه !

 

امروز دوباره اومدیم با یه پست کرکینگ . خب شاید کرک فایل های پی دی اف تاحالا به گوشتون نخورده باشه چون خیلی کم بحثش مطرحه . ولی به هرحال فایل های پی دی اف میتونن توسط یه پسوورد رمزنگاری بشن. حالا میخوایم با یه اسکریپت پایتونی اونارو کرک کنیم .

لینک زیر حاوی یه فایل pdf هستش که رمزگذاری شده . رمزش هم 123456 هستش .

دریافت
حجم: 7.48 کیلوبایت
 

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

برای نوشتن این اسکریپت از کتابخونه ی pikepdf توی پایتون استفاده میکنیم . برای نصب کتابخونه pikepdf از  ابزار pip استفاده میکنیم .

 

در لینوکس :‌

MrPython@debian:~$ sudo pip3 install pikepdf

 

در ویندوز :‌

C:\> pip3 install pikepdf

 

بعد از اینکه کتابخونه نصب شد دیگه میریم سراغ اسکریپت .

 

سورس زیر یه اسکریپت فوق العاده ساده برای اینکاره :

# https://mrpython.blog.ir : Hossein Ahmadi
import pikepdf
import sys

passwordlist = "./passlist.txt"
pdf_file = "./file.pdf"

passwords = open(passwordlist)

for password in passwords:
    password = password.strip("\n")
    print("Testing : {}".format(password))
    try:
        pikepdf.open(pdf_file,password)
        print("*"*50)
        print("Password : {}".format(password))
        break
    except:
        continue

خب در ابتدا اومدیم کتابخونه های مورد نیاز رو ایمپورت کردیم . بعد دوتا متغییر تعریف کردیم . داخل متغییر passwordlist مسیر پسووردلیست قرار میگیره و همچنین داخل متغییر pdf_file مسیر فایل pdf قرار میگیره . 

سپس اومدیم توسط تابع open فایل پسوورد لیست رو خوندیم و داخل شیء passwords گذاشتیم اونو .

پس از اون اومدیم یه حلقه ی  for نوشتیم که میاد به ازای هر کدوم از پسوورد های داخل پسووردلیست کار های زیر رو به ترتیب انجام میده :

۱ - ابتدا n\ آخر هر خط رو با تابع strip حذف میکنه

۲ - میاد چاپ میکنه که چه پسووردی رو داره تست میکنه

۳ - توسط عبارت try سعی میکنه که به وسیله ی اون پسوورد فایل pdf رو بخونه . اگه تونست بخونه یعنی پسوورد درست بوده و کد های داخل try اجرا میشن و نهایتا میرسه به break  و برنامه بسته میشه . ولی اگه نتونه بخونه فایل pdf رو و اروری رخ بده یعنی پسوورد اشتباه بوده و کدهای داخل except اجرا میشه . از اونجایی که داخل except ما عبارت continue رو نوشتیم پس دوباره برمیگرده به اول حلقه و شروع میکنه همین مراحل رو برای پسووردای بعدی تست کنه تا اینکه نهایتا بتونه برسه به پسوورد اصلی .

 

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

https://github.com/mrpythonblog/pdfcracker

 

امیدوارم لذت برده باشید .

 

منبع : thepythoncode

یاحق !

  • درود عالیه

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

     

    ولی بازم دمت گرم :-»

    پاسخ:
    درود بر شما . خداروشکر :)
    ببینید این حمله آزمون جامع یا همون Brute Force از نوع دیکشنری هستش . این یعنی باید یک لیستی از پسوورد بدیم تا یه چیزی برای تست کردن داشته باشه . در غیر این صورت یک روش دیگه ای از بروت فورس وجود داره که خود اسکریپت تمام حالت های مهم پسوورد رو بسازه ولی این مورد خیلی زمان بر میتونه باشه مگر اینکه شما از پسوورد اطلاعات کافی داشته باشید . برای مثال وقتی بدونید پسوورد 5 رقمیه و همش هم عدده پس باید اعداد 00000 تا 99999 را تست کنید اینجوری دیگه نیاز به پسوورد لیست نیست و خود اسکریپتتون میتونه این اعداد رو تولید کنه . 
    البته خب همین مورد رو میشه با تولید یک پسوورد لیست حاوی 00000 تا 99999 با همین اسکریپت نیز انجام داد . 

    خواهش میکنم موفق باشید دوست عزیز :)
  • اهان من برای فایلهایی گفتم که برای ادیت پسورد میخواد . نه اونهایی که برای دیدن هم پسورد میخواد.

    پاسخ:
    OK :)
  • یه ایده ای به ذهنم رسید. ما میتونیم pdf رو بخونیم درسته؟ خب یه برنامه بنویسیم که بیاد هرصفحه رو بخونه عکس بگیره و داخل یک پی دی اف بریزه.

    پاسخ:
    سلام .
    فایل pdf رو با کتابخونه های مربوط به pdf در پایتون بخوای بخونی ازت پسوورد میخواد . ولی درست میگی با تابع open هر فایلی رو میشه خوند حتی یه فایل pdf قفل شده . 
    ایده ی خوبیه . ولی یه چیزیو باید تست کنی . اگه وقتی که روی یه pdf قفل میزاری کل اون فایل pdf رمزنگاری بشه این روشی که میگی شاید عملی نباشه چون به هرحال وقتی هم که دستور open بازش کنی بازم رمزنگاری شدشو باز میکنی و بی فایدس . 
    ولی اگه حالتی باشه که مثلا کل فایل رو رمزنگاری نکنه . بیاد مثلا پسوورد رو یه جایی از فایل pdf ذخیره کنه این روشی که میگی رو میشه . 
    در کل میتونه تجربه خوبی باشه . میتونی تستش کنی . خواستی تلگرام بگو باهم تست میکنیم .
  • عالی بود (:

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