Sl-Sanda-Ru / Temp-SMS-Receive

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ“± Temp-SMS-Receive

A Python script to fetch temporary SMS numbers and display received messages.

wakatime CodeFactor GitHub License

✨ Features

  • 🌍 Fetches temporary SMS numbers from various countries.
  • πŸ“© Displays SMS messages received by the fetched numbers.
  • πŸ“‹ Copies selected number to the clipboard.
  • πŸ”„ Handles dependencies automatically.
  • 🎨 Includes a colorful and interactive CLI.
  • πŸ”„ Automatic Update (via GIT)

πŸ› οΈ Prerequisites

  • 🐍 Python 3.x
  • πŸ“¦ PIP (Python package installer)

πŸ“₯ Installation

  1. Clone the repository:

    git clone https://github.com/Sl-Sanda-Ru/Temp-SMS-Receive.git
    cd Temp-SMS-Receive
  2. Install dependencies:

    pip install -r requirements.txt

πŸš€ Usage

  1. Run the script:

    python tempsms.py
  2. Follow the on-screen instructions to select a country and fetch temporary SMS numbers.

  3. Choose a number to see the received SMS messages.

πŸ”— API Source

The API is extracted from the Temp Number APP.

πŸ› οΈ Tools Used

  • jadx-gui: Assisted in decompiling the Java source code to find the decrypt key.
  • Magisk: Used for SSL bypass.
  • HttpCanary: Used for intercepting network traffic and analyzing HTTP requests.

πŸ” Decompiled Java Source Code

This Java source code, decompiled using jadx-gui, helped to find the Authorization key:

public void displayKeyData(EncryptedKeyResponse encryptedKeyResponse, String str) {
    String str2;
    if (encryptedKeyResponse == null || (str2 = encryptedKeyResponse.api_key) == null || str2.isEmpty()) {
        return;
    }
    char[] charArray = new Decryption().decryption(encryptedKeyResponse.api_key, this.sharedpreferences.getString("keyId", "")).toCharArray();
    StringBuilder sb = new StringBuilder();
    for (int i = 0; 32; i++) {
        sb.append(charArray[i]);
    }
    this.freeNumbersPresenter.getFreeNumber(new NumbersRequest(this.CountryName, this.page, 10), "Bearer " + ((Object) sb));
}

public String decryption(String str, String str2) {
    byte[] decode;
    try {
        if (Build.VERSION.SDK_INT >= 26) {
            decode = Base64.getDecoder().decode(str);
        } else {
            decode = android.util.Base64.decode(str, 0);
        }
        byte[] bArr = new byte[16];
        int length = decode.length - 16;
        byte[] bArr2 = new byte[length];
        System.arraycopy(decode, 0, bArr, 0, 16);
        System.arraycopy(decode, 16, bArr2, 0, length);
        SecretKeySpec secretKeySpec = new SecretKeySpec(str2.getBytes(), "AES");
        IvParameterSpec ivParameterSpec = new IvParameterSpec(bArr);
        Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
        cipher.init(2, secretKeySpec, ivParameterSpec);
        return new String(cipher.doFinal(bArr2));
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

🌟 Stargazers

Stargazers repo roster for @Sl-Sanda-Ru/Temp-SMS-Receive Forkers repo roster for @Sl-Sanda-Ru/Temp-SMS-Receive

πŸ‘€ Author

Sandaru Ashen

πŸ“œ License

This project is licensed under the GPT-3.0

About

License:GNU General Public License v3.0


Languages

Language:Python 100.0%