Geckoドライバーを使っているターミナルから秘密のwhatsアプリメッセージを送る方法
23875 ワード
免責事項
このコードは教育目的のためだけです、そして、著者は結果として生じるどんな責任でもありません.条件に同意しない場合はお試しください.
皆さんこんにちは.
このポストで、私は暗号化された秘密のWhatsAppメッセージを送った方法を示します.
必要条件: Geckoウェブドライバ Python 3X pycrypdomeライブラリ 暗号化ライブラリ coloramaライブラリ まず、システムのアーキテクチャは以下のようになる
このポストでは、私はAESアルゴリズムで実証します.同様に、別の暗号化アルゴリズムを試すことができます.そして、Geckoドライバを使ってメッセージを自動的に送信します.主な目標は、暗号化され、WhatsAppの機密データを通信します.ここで使用されるAESの暗号化はEAXモードです.
特殊性
UTF - 8エンコーディングを使用しないので、このモードは暗号化が難しいです.それは、どんな外部コンパイラでもメッセージを解読するのが難しいWindows - 1252 Encodingを利用します.
ライブラリ
まず必要なライブラリをインストールしましょう.3ライブラリを書く
暗号
カラー
要件という名前のテキストファイルで.txt
今PIPコマンドを使用してインストール
すべての事前の要件は、コーディング部に飛び込みましょう
ライブラリをインポート
必要な入力を得ましょう
以前の投稿ではXPathとAutomationについて述べました.我々はWhatsAppもここで同様の概念を使用するつもりです.最初にボットスクリプトを書いて、それをボットに保存しましょう.パイ
AESKEYでメッセージを解読するのに必要なキーを保存するつもりです.txtファイルとAESの暗号化メッセージ.txtファイル.このBOTはファイルを読み込み、メッセージを送ります.下記のようにいくつかの命令メッセージを送ることができます.
では、暗号化部分に入りましょう.
受信機
上記の暗号化されたメッセージは以下のコードを使用して復号化できます.
暗号化
このコードは教育目的のためだけです、そして、著者は結果として生じるどんな責任でもありません.条件に同意しない場合はお試しください.
皆さんこんにちは.
このポストで、私は暗号化された秘密のWhatsAppメッセージを送った方法を示します.
必要条件:
このポストでは、私はAESアルゴリズムで実証します.同様に、別の暗号化アルゴリズムを試すことができます.そして、Geckoドライバを使ってメッセージを自動的に送信します.主な目標は、暗号化され、WhatsAppの機密データを通信します.ここで使用されるAESの暗号化はEAXモードです.
特殊性
UTF - 8エンコーディングを使用しないので、このモードは暗号化が難しいです.それは、どんな外部コンパイラでもメッセージを解読するのが難しいWindows - 1252 Encodingを利用します.
ライブラリ
まず必要なライブラリをインストールしましょう.3ライブラリを書く
暗号
カラー
要件という名前のテキストファイルで.txt
今PIPコマンドを使用してインストール
pip install -r requirements.txt
Geckoドライバをコードを実行するディレクトリに置きます.すべての事前の要件は、コーディング部に飛び込みましょう
ライブラリをインポート
import base64
import binascii
import binhex
import os
import string
import sys
from random import choice
import smtplib
import os
import hashlib
ライブラリが見つからない場合はエラーメッセージを表示しましょうtry:
from colorama import Fore, Style, init
from Crypto.Cipher import AES
from Crypto.Random import random
from cryptography.fernet import Fernet
except ImportError:
print(
"ERROR: Missing required libraries.\n"
"Install dependencies with: pip install -r requirements.txt"
)
sys.exit(1)
colorList = [Style.BRIGHT + Fore.RED, Style.BRIGHT , Style.BRIGHT + Fore.YELLOW, Style.BRIGHT + Fore.BLUE, Fore.GREEN ,Fore.MAGENTA, Style.BRIGHT + Fore.CYAN, Style.BRIGHT + Fore.WHITE]
ここでは、すべての実行の色を変更するColoramaライブラリを使用しています.必要な入力を得ましょう
def get(datatype):
try:
(message) = {
"plaintext": ("Enter plaintext message"),
"encoded": ("Enter encoded message"),
"encrypted": ("Enter encrypted message"),
"filename": ("Specify filename"),
"passwordfilename": ("Specify passwordfilename"),
"password": ("Enter encryption password"),
"Select": ("Choose any one"),
}[datatype]
except KeyError:
message = datatype
return input(f"\n{message}: {Style.RESET_ALL}").encode()
送信者以前の投稿ではXPathとAutomationについて述べました.我々はWhatsAppもここで同様の概念を使用するつもりです.最初にボットスクリプトを書いて、それをボットに保存しましょう.パイ
from datetime import datetime
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from time import sleep
import chardet
driver = webdriver.Firefox()
driver.get('http://web.whatsapp.com')
sleep(15)
driver.find_element_by_xpath("/html/body/div/div/div/div/div/div/div[1]/div/div/div[1]/div/div/div").click()
sleep(5)
fileLocation= "Path/AESKEY.txt"
with open(fileLocation,"r") as file:
for line in file:
driver.find_element_by_xpath("//*/footer/div[1]/div[2]/div/div[2]").send_keys(line)
driver.find_element_by_xpath("//*/footer/div[1]/div[2]/div/div[2]").send_keys(Keys.ENTER)
sleep(5)
fileLocation= "Path/AES.txt"
with open(fileLocation,"r") as file:
for line in file:
for word in line.split(" "):
driver.find_element_by_xpath("//*/footer/div[1]/div[2]/div/div[2]").send_keys(word)
driver.find_element_by_xpath("//*/footer/div[1]/div[2]/div/div[2]").send_keys(Keys.ENTER)
# No special characters and spaces in enc
PythonAESKEYでメッセージを解読するのに必要なキーを保存するつもりです.txtファイルとAESの暗号化メッセージ.txtファイル.このBOTはファイルを読み込み、メッセージを送ります.下記のようにいくつかの命令メッセージを送ることができます.
では、暗号化部分に入りましょう.
def aes_enc_auto():
"""Encrypt with AES."""
keypass = random_key(16)
data = get("plaintext")
filename = get("filename").decode()
cipher = AES.new(keypass.encode(), AES.MODE_EAX)
ciphertext, tag = cipher.encrypt_and_digest(data)
with open(filename, "wb") as outfile:
_ = [outfile.write(item) for item in (cipher.nonce, tag, ciphertext)]
save_path='Path/Whatsapp'
kn = "AESKEY"
passwordfilename = os.path.join(save_path, kn+".txt")
with open(passwordfilename, "wt") as outfile:
_ = [outfile.write(item) for item in (keypass)]
print("AES encrypted message and key files are saved")
os.system('python bot.py')
MENU_OPTIONS.append(aes_enc_auto)
まず、プレーンテキストを端末から取得し、暗号化後に保存します.次に、geckoドライバが動作し、受信者にコンテンツを送信します.受信機
上記の暗号化されたメッセージは以下のコードを使用して復号化できます.
def aes_dec_auto():
"""Decrypt with AES."""
filename = get("filename")
keypass = get("password")
with open(filename, "rb") as infile:
nonce, tag, ciphertext = [infile.read(x) for x in (16, 16, -1)]
cipher = AES.new(keypass, AES.MODE_EAX, nonce)
data = cipher.decrypt_and_verify(ciphertext, tag).decode()
show("plaintext", data)
MENU_OPTIONS.append(aes_dec_auto)
最後に、主な機能を終了しましょう# Main Function
def main():
try:
while True:
print(
"\n"
+ Fore.GREEN + "Choose from the following options, or press Ctrl-C to quit:\n\n"
+ Style.RESET_ALL
)
for index, option in enumerate(MENU_OPTIONS, 1):
print(Style.BRIGHT + f"{index}: {' ' if index < 10 else ''}" f"{option.__doc__}" + Style.RESET_ALL)
choice = get("Select")
print()
try:
MENU_OPTIONS[int(choice) - 1]()
except (IndexError,UnboundLocalError):
print("Unknown option." + Style.RESET_ALL)
# except ValueError:
# print("Invalid option."+ "Enter the number of your selection."+ Style.RESET_ALL)
except (KeyboardInterrupt,UnboundLocalError):
print("\n{}Program Terminated\n{}Have A Nice Day{}".format(Fore.RED,Style.BRIGHT,Style.RESET_ALL))
sys.exit(1)
if __name__ == "__main__":
main()
以下のリポジトリでは、様々なハッシュアルゴリズムと暗号化アルゴリズムを使って上記のコンセプトを実装しました.気に入ったら星を落としてください.キトトゥラルクリシュナ / 暗号化
説明はこのリンクで利用可能です
暗号化
このプロジェクトの主な目的は暗号化された秘密のメッセージを送ることです.私はMozilla Firefoxによってサポートされ、暗号化されたメッセージを送信するgeckoドライバを使用するつもりです.このプロジェクトは、Google Chromeをサポートするセレンで動作することもできます.
View on GitHub
Reference
この問題について(Geckoドライバーを使っているターミナルから秘密のwhatsアプリメッセージを送る方法), 我々は、より多くの情報をここで見つけました
https://dev.to/chitturiarunkrishna/how-to-send-a-secret-whats-app-message-from-terminal-using-gecko-driver-fj1
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Geckoドライバーを使っているターミナルから秘密のwhatsアプリメッセージを送る方法), 我々は、より多くの情報をここで見つけました https://dev.to/chitturiarunkrishna/how-to-send-a-secret-whats-app-message-from-terminal-using-gecko-driver-fj1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol