投稿

ラベル(未分類)が付いた投稿を表示しています

pdfに設定したパスワードの総当たり解析

お世話になっております、スログラミングです。 今回はパチンコ・スロットに全く関係ありませんのでご承知おきください。 ちょっと個人的に困ったことがあってpythonで解決できたのでそのコードを紹介したいと思います。 最近はテレワークや、ハンコレス等の影響で、 今まで紙でやりとりしていた資料をpdfで送る ケースが増えてきていると思います。 そうすると、pdfにパスワードをつけて送付したりしますが、「 パスワード何にしたかって忘れますよね。 」 ということで、今回は、 総当たり(Brute Force Attack:ブルートフォースアタック、ブルートフォース攻撃)でパスワードを解析 する方法をPythonでプログラミングしてみました。 ※他人のパスワードを解析する等の行為は絶対にやめてください。 本日のアジェンダはこちら。 1. 今回作成したコード 2. 試行錯誤の記録 3. 最後に 1. 今回作成したコード おそらくこんな僻地のブログに辿りついた方は相当切羽詰まっていると思いますので、いきなり最終コードからどうぞ。 ※並列処理等も組み込んでいますが、凄い時間がかかります。 (PCスペックにもよりますが、2並列処理で、4文字英数字が30分強、5文字英数字が丸1日くらい。) # coding: UTF-8 # PDF読み込み用 from pikepdf import Pdf # 総当たりの組み合わせ作成用 import itertools # 並列処理用 from multiprocessing import Pool # 処理時間の計測用 import datetime # パスワードを入力してファイルを開いてみる処理 def FileOpen(pw, file_pass): # pdfファイルの場所を指定 pdf_file = open(file_pass, 'rb') # ファイルが開けた時のパスワードを表示 pw = ''.join(pw) try: Pdf.open(pdf_fi...

VBAのこれってどうだったっけ?集

お世話になっております、スログラミングです。 ※本記事にパチンコ・スロットは一切関係ありませんので、ご容赦ください。 本記事は、 VBAのこれってどうだったっけ?集 を作っていきます。 ただそれだけです。 目次はこちら Cellsはどっちが行でどっちが列? ブックの指定、シートの指定 新規ブックの作成 シートのコピー for文を抜ける 最終行、最終列 シートの削除 画面更新OFF(ちょっと高速化) Cellsはどっちが列でどっちが行? Cells(行, 列) 例えば、A2セルはCells(2, 1) Cells(行, 列) ブックの指定、シートの指定 ブックは、Workbooks("ブック名") シートは、Sheets("シート名")で指定。 Workbooks("ブック名").Sheets("シート名").Cells(行, 列) 'もしくは Workbooks("ブック名").Worksheets("シート名").Cells(行, 列) 新規ブックの作成 新しいブックは、Workbooks.Addで作成できる Workbooks.Add シートのコピー 別のブックからシートをコピー。 先頭に追加するケースと、一番後ろに追加するケース。 ' 先頭に追加 Workbooks("コピー元").Sheets("シート名").Copy After:=Workbooks("コピー先").Sheets(1) ' 最後に追加 Workbooks("コピー元").Sheets("シート名").Copy After:=Workbooks("コピー先").Sheets(Workbooks("コピー先").Sheets.count) for文を抜ける Exit forでfor文を抜けることができる。 For i = 1 To MaxRow ...

このブログについて、プライバシーポリシー

当ブログは以下の目的で作成しました。 1. パチンコ・スロットを楽しむ 2. プログラミング(Python)を勉強する パチンコ・スロットを楽しむ上で、今は便利なツールや情報が溢れています。 もし、そんな便利なツールや情報を自分で作成・解析できたら、もっとパチンコ・スロットを楽しめて、しかも自分のスキルも身につくのではないか? そんな思いで、このブログを作成しました。 私自身、ただのサラリーマンスロッターで、プログラミングも高校時代に勉強しただけの素人です。 このブログを通じて、少しでも皆様のお役に立てる情報を発信しつつ、自身のスキルアップができたらと思っています。 プライバシーポリシー 個人情報の利用目的 当ブログでは、お問い合わせや記事へのコメントの際、お名前(ハンドルネーム含む)やメールアドレス等の個人情報を入力いただく場合がございます。 これらの個人情報は、ご質問に対する回答や必要な情報を電子メールなどでご連絡する場合に利用させていただくものであり、これらの目的以外では利用いたしません。 アクセス解析ツールについて 当ブログでは、Googleによるアクセス解析ツール「Google Analytics」を利用しており、トラフィックデータの収集のためにCookie(クッキー)を使用しております。 トラフィックデータは匿名で収集されており、ユーザー個人を特定するものではありません。 広告について 当ブログでは、第三者配信の広告サービス「Google AdSense」を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、Cookie(クッキー)を使用しております。 Cookieを使用することで当ブログはユーザーのコンピュータを識別できるようになりますが、お名前やメールアドレス等のユーザー個人を特定できる情報は含まれません。 Cookieを無効にする方法やGoogleアドセンスに関する詳細は「 広告 – ポリシーと規約 – Google 」をご確認ください。 コメントについて 当ブログへのコメントを残す際に使用されたIP アドレスを収集しています。 これはブログの標準機能としてサポートされている機能で、スパムや荒らしへの対応以外にこのIPアドレスを使用することはありません。 免責事項 ...