-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 28e074c
Showing
10 changed files
with
1,270 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
*.bkp | ||
*.db | ||
*.jfif | ||
*.jpeg | ||
*.jpep | ||
*.jpg | ||
*.json | ||
*.m4v | ||
*.mp1 | ||
*.oga | ||
*.ogg | ||
*.png | ||
*.svg | ||
*.vcf | ||
*.webp | ||
*.xlsx | ||
.DS_Store | ||
.env | ||
notas.txt | ||
db/ | ||
data/ | ||
whats-spoofing |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# whats-spoofing | ||
|
||
Reply spoofer for WhatsApp messages. | ||
|
||
## Installation | ||
|
||
```bash | ||
$ git clone https://github.com/macedonga/whats-spoofing.git | ||
$ cd whats-spoofing | ||
$ mkdir -p data && mkdir -p db && mkdir -p history | ||
$ go mod download | ||
$ go build | ||
``` | ||
|
||
## Usage | ||
|
||
```bash | ||
$ ./whats-spoofing | ||
``` | ||
|
||
Once you see a QR code on the terminal, scan it with your WhatsApp app just like when you login on WhatsApp web. / | ||
This is necessary to get the session token to send messages. / | ||
After that, when you see on your terminal `Listening on localhost:8080`, open a browser tab and go to `http://localhost:8080`. / | ||
|
||
You will see a form to send messages. / | ||
Fill the form with the phone number (with the international prefix but without +) you want to send the message to, the number of the user to spoof (the number that will appear on the message), the spoofed reply message and the reply, sent by you. / | ||
If you want to send a spoofed message to a group, just copy and paste the group ID (which you can get below the sender form) on the first phone number input. / | ||
Click on the `Send` button and the message will be sent. / | ||
|
||
Happy spoofing! 🎉 | ||
|
||
**Use this tool responsibly! I'm not responsible for any misuse of this tool.** | ||
|
||
--- | ||
|
||
*I forked and updated this project with a newer version of Whatsmeow and a web interface. / | ||
The original project has been deleted from Github, but it was made by [@lichti](https://github.com/lichti/)* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
|
||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>WhatsApp spoofer</title> | ||
|
||
<script src="https://cdn.tailwindcss.com"></script> | ||
<link rel="preconnect" href="https://fonts.googleapis.com"> | ||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | ||
<link href="https://fonts.googleapis.com/css2?family=Inter:[email protected]&display=swap" rel="stylesheet"> | ||
|
||
<style type="text/tailwindcss"> | ||
@tailwind base; | ||
@tailwind components; | ||
@tailwind utilities; | ||
|
||
body { | ||
@apply bg-gray-950 text-white; | ||
|
||
color-scheme: dark; | ||
font-family: "Inter", sans-serif; | ||
font-optical-sizing: auto; | ||
font-style: normal; | ||
font-variation-settings: "slnt" 0; | ||
} | ||
|
||
.group-container { | ||
@apply w-full px-2 py-1 border border-white/10 bg-white/10 rounded-lg; | ||
} | ||
</style> | ||
</head> | ||
|
||
<body> | ||
<div class="grid h-screen w-screen items-center justify-center"> | ||
<div class="grid gap-8"> | ||
<form | ||
onsubmit="sendForm(); return false;" | ||
class="p-4 bg-white/10 rounded-lg grid gap-2 w-96" | ||
> | ||
<h1 class="text-2xl font-bold">WhatsApp spoofer</h1> | ||
|
||
<input type="text" class="w-full px-2 py-1 border border-white/10 bg-white/10 rounded-lg outline-none" | ||
placeholder="Phone number or group id" id="cid"> | ||
<input type="text" class="w-full px-2 py-1 border border-white/10 bg-white/10 rounded-lg outline-none" | ||
placeholder="Impersonated id" id="sid"> | ||
<input type="text" class="w-full px-2 py-1 border border-white/10 bg-white/10 rounded-lg outline-none" | ||
placeholder="Spoofed message" id="spf_msg"> | ||
<input type="text" class="w-full px-2 py-1 border border-white/10 bg-white/10 rounded-lg outline-none" | ||
placeholder="Reply to spoofed message" id="rpl_msg"> | ||
|
||
<button type="submit" | ||
class="w-full px-2 py-1 border border-white/10 bg-white/10 rounded-lg outline-none">Send</button> | ||
</form> | ||
|
||
<div class="p-4 bg-white/10 rounded-lg grid gap-2 w-96"> | ||
<h2 class="text-xl font-bold">Group IDs</h2> | ||
|
||
<div class="overflow-y-auto max-h-64 grid gap-2 pr-2" id="gids"> | ||
Fetching... | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
<script src="script.js"></script> | ||
</body> | ||
|
||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
const fetchGids = async () => { | ||
const res = await fetch("/get-groups"); | ||
let data = (await res.text()).split("\n").map(e => e.trim()); | ||
|
||
data = data | ||
.filter(e => e.length > 0) | ||
.map(e => { | ||
let split = e.split(":"); | ||
const id = split.pop(); | ||
const name = split.join(":"); | ||
|
||
return `<div class="group-container"><b>${name}</b><br /><code>${id}</code></div>`; | ||
}); | ||
|
||
const container = document.getElementById("gids"); | ||
|
||
container.innerHTML = data.join(""); | ||
}; | ||
|
||
fetchGids(); | ||
|
||
const sendForm = async () => { | ||
const form = document.querySelectorAll("form")[0]; | ||
|
||
let cid = form.elements["cid"].value; | ||
let sid = form.elements["sid"].value; | ||
let spf_msg = form.elements["spf_msg"].value; | ||
let rpl_msg = form.elements["rpl_msg"].value; | ||
|
||
if (cid.length === 0 || sid.length === 0 || spf_msg.length === 0 || rpl_msg.length === 0) { | ||
alert("All fields are required"); | ||
return; | ||
} | ||
|
||
if (!cid.includes("@")) | ||
cid += "@s.whatsapp.net"; | ||
|
||
if (!sid.includes("@")) | ||
cid += "@s.whatsapp.net"; | ||
|
||
let data = { | ||
"chat_id": cid, | ||
"spoofed_id": sid, | ||
"message_id": "!", | ||
"spoofed_message": spf_msg, | ||
"reply_message": rpl_msg | ||
}; | ||
|
||
const res = await fetch("/send-spoofed", { | ||
method: "POST", | ||
headers: { | ||
"Content-Type": "application/json" | ||
}, | ||
body: JSON.stringify(data) | ||
}); | ||
|
||
const text = await res.json(); | ||
|
||
alert(text.message); | ||
}; |
Empty file.
Oops, something went wrong.