Full Code of rajeshmajumdar/PloitKit for AI

master 8fb4d7a84699 cached
9 files
30.6 KB
8.9k tokens
6 symbols
1 requests
Download .txt
Repository: rajeshmajumdar/PloitKit
Branch: master
Commit: 8fb4d7a84699
Files: 9
Total size: 30.6 KB

Directory structure:
gitextract_0lkjv9pc/

├── Downloads/
│   └── _BLANK
├── LICENSE
├── README.md
├── _config.yml
├── core/
│   ├── background.py
│   ├── updates.py
│   └── version.txt
├── ploitkit.py
└── screenshots/
    └── version.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: Downloads/_BLANK
================================================



================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2017 Rajesh Majumdar

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# PloitKit
The Hacker's ToolBox

PloitKit is a Python based GUI tool designed as one-stop for all other softwares. I was facing these kinds of problem, when I need to switch to different system, or I lost my pen-drive. I have to go to google, and search every tool and download every tool and so on. So I decided to create a tool, in which I just click and click and tool is there.

I have added more than 900+ tools in this tool, but only 400+ is available now, to test will this tool work, if it works I'll make it available for everyone.

# Features

1. Auto-Update - No need to come over here, and look for new version every time.
2. Better Error Handling - Some tools may cause error, that's why I added this option.
3. Graphical Interface - For just click & click.
4. Malware Protectiong - All tools are downloaded from their original source, so no malwares or any viruses.
5. Multi-Platform - Many tools are for designed differently for Mac, Windows & Linux, so I added option for that. Choose your platform and you're good to go.
6. Better organised - Everything is better organised nothing like search everything, and all that mess.

I believe that, nothing can't be perfect, So I added option to report a tool, or send me suggestions about any new tool, I should add.

# Contributions
I added an option within the tool, so that you can support me, either in developing, sponsoring or simply donating.

Thanks to:

1. devil67
2. beeprime
3. BOWadapter
4. irbisrus
5. fcafra
6. ziflar
7. Lydecker Black

For pointing out some critical bugs in the tool & for adding more tools.

# Usage

git clone https://github.com/rajeshmajumdar/PloitKit.git

Windows
ploitkit.py

UNIX or Mac
python ploitkit.py

# Screenshots

![Alt text](/screenshots/ploitkit.png?raw=true "PloitKit tool")

# Buy me a coffee

You can help me in converting more coffee into more code.

[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2LQFT9QM4M7YU)

# Issues

If any error occured, or any suggestions. Send me through the tool itself or from Issue tab.


================================================
FILE: _config.yml
================================================
theme: jekyll-theme-cayman

================================================
FILE: core/background.py
================================================
#! /usr/bin/env python
__author__ = 'Rajesh Majumdar'

try:
    from tkinter import *
    import tkinter.scrolledtext as sctx
except:
    from Tkinter import *
    import ScrolledText as sctx


try:
    import ttk
except ImportError:
    from tkinter.ttk import ttk

import atexit
import os
import sys


from aboutme import aboutme
from contact import contact
from about import about
from licenses import licenses
from updates import checkupdates
from suggestions import suggestions
from contributors import contributions
from checktool import checktool
from mydownloads import mydownloads
from savedownloads import  startdownload, savedownloads
from report import report

def hello():
    print 'hello world'

def atgexit():
    try:
        os.remove('mydownloads.txt')
    except:
        pass

def mainbody():

    root = Tk()

    root.geometry("577x556+427+139")
    root.title("PloitKit - The Hacker's Toolbox")
    root.configure(background="#d9d9d9")
    #root.wm_iconbitmap('images/icon.ico')
    #root.resizable(0,0)

    imagepath = r'images/header.gif'
    image = PhotoImage(file=imagepath)
    ilabel = Label(root, image = image)
    ilabel.image = image
    ilabel.pack()

    varinfo = StringVar(root, value='Information Gathering')
    varvuln = StringVar(root, value="Vulnerability Analysis")
    varexploit = StringVar(root, value="Exploitation Tool")
    varwireless = StringVar(root, value="Wireless Attacks")
    varforensic = StringVar(root, value="Forensics Tools")
    varwebapp = StringVar(root, value="Web Application")
    varstress = StringVar(root, value="Stress Testing")
    varsniff = StringVar(root, value="Sniffing & Spoofing")
    varpass = StringVar(root, value="Password Attacks")
    varhard = StringVar(root, value="Hardware Hacking")
    varreverse = StringVar(root, value="Reverse Engineering")
    varreport = StringVar(root, value="Reporting tools")
    varall = StringVar(root, value="All tools")

    infolist = 'acccheck','ace-voip','Amap','Automater','bing-ip2hosts','braa','CaseFile','CDPSnarf','cisco-torch','Cookie Cadger','copy-router-config','DMitry','dnmap','dnsenum','dnsmap','DNSRecon','dnstracer','dnswalk','DotDotPwn','enum4linux','enumIAX','Fierce','Firewalk','fragroute','fragrouter','Ghost Phisher','GoLismero','goofile','hping3','InTrace','iSMTP','lbd','Maltego Teeth','masscan','Metagoofil','Miranda','nbtscan-unixwiz','Nmap','ntop','p0f','Parsero','Recon-ng','SET','smtp-user-enum','snmp-check','sslcaudit','SSLsplit','sslstrip','SSLyze','THC-IPV6','theHarvester','TLSSLed','twofi','URLCrazy','Wireshark','WOL-E','Xplico'
    vulnlist = 'BBQSQL','BED','BruteXSS','cisco-auditing-tool','cisco-global-exploiter','cisco-ocs','cisco-torch','copy-router-config','DBPwAudit','Doona','DotDotPwn','Greenbone Security Assistant','GSD','HexorBase','Inguma','jSQL','Lynis','Nmap','ohrwurm','openvas-administrator','openvas-cli','openvas-manager','openvas-scanner','Oscanner','Powerfuzzer','sfuzz','SidGuesser','SIPArmyKnife','sqlmap','Sqlninja','sqlsus','THC-IPV6','tnscmd10g','unix-privesc-check','Yersinia'
    exploitlist = 'Armitage','Backdoor Factory','BeEF','cisco-auditing-tool','cisco-global-exploiter','cisco-ocs','cisco-torch','Commix','crackle','exploitdb','jboss-autopwn','Linux Exploit Suggester','Maltego Teeth','SET','ShellNoob','sqlmap','struts pwn','THC-IPV6','Yersinia'
    wirelesslist = 'Aircrack-ng','Asleap','Bluelog','BlueMaho','Bluepot','BlueRanger','Bluesnarfer','Bully','coWPAtty','crackle','eapmd5pass','Fern Wifi Cracker','Ghost Phisher','GISKismet','Gqrx','gr-scan','hostapd-wpe','kalibrate-rtl','KillerBee','mdk3','mfcuk','mfoc','mfterm','Multimon-NG','PixieWPS','Reaver','redfang','RTLSDR Scanner','Spooftooph','Wifi Honey','wifiphisher','Wifitap','Wifite'
    forensiclist = 'Binwalk','bulk-extractor','Capstone','chntpw','Cuckoo','dc3dd','ddrescue','DFF','diStorm3','Dumpzilla','extundelete','Foremost','Galleta','Guymager','iPhone Backup Analyzer','p0f','pdf-parser','pdfid','pdgmail','peepdf','RegRipper','Volatility','Xplico'
    webapplist = 'apache-users','Arachni','BBQSQL','BlindElephant','Burp Suite','CutyCapt','DAVTest','deblaze','DIRB','DirBuster','fimap','FunkLoad','Gobuster','Grabber','jboss-autopwn','joomscan','jSQL','Maltego Teeth','PadBuster','Paros','Parsero','plecost','Powerfuzzer','ProxyStrike','Recon-ng','Skipfish','sqlmap','Sqlninja','sqlsus','ua-tester','Uniscan','Vega','w3af','WebScarab','Webshag','WebSlayer','WebSploit','Wfuzz','WPScan','XSSer','zaproxy'
    stresslist = 'DHCPig','FunkLoad','iaxflood','Inundator','inviteflood','ipv6-toolkit','mdk3','Reaver','rtpflood','SlowHTTPTest','t50','Termineter','THC-IPV6','THC-SSL-DOS'
    snifflist = 'Burp Suite','DNSChef','fiked','hamster-sidejack','HexInject','iaxflood','inviteflood','iSMTP','isr-evilgrade','mitmproxy','ohrwurm','protos-sip','rebind','responder','rtpbreak','rtpinsertsound','rtpmixsound','sctpscan','SIPArmyKnife','SIPp','SIPVicious','SniffJoke','SSLsplit','sslstrip','THC-IPV6','VoIPHopper','WebScarab','Wifi Honey','Wireshark','xspy','Yersinia','zaproxy'
    passlist = 'acccheck','Burp Suite','CeWL','chntpw','cisco-auditing-tool','CmosPwd','creddump','crunch','DBPwAudit','findmyhash','gpp-decrypt','hash-identifier','HexorBase','THC-Hydra','John the Ripper','Johnny','keimpx','Maltego Teeth','Maskprocessor','multiforcer','Ncrack','oclgausscrack','PACK','patator','phrasendrescher','polenum','RainbowCrack','rcracki-mt','RSMangler','SQLdict','Statsprocessor','THC-pptp-bruter','TrueCrack','WebScarab','wordlists','zaproxy'
    hardlist = 'android-sdk','apktool','Arduino','dex2jar','Sakis3G','smali'
    reverselist = 'apktool','dex2jar','diStorm3','edb-debugger','jad','javasnoop','JD-GUI','OllyDbg','smali','Valgrind','YARA'
    reportlist = 'CaseFile','CutyCapt','dos2unix','Dradis','KeepNote','MagicTree','Metagoofil','Nipper-ng','pipal'
    alllist = 'BruteXSS','dos2unix','Dradis','KeepNote','MagicTree','Metagoofil','Nipper-ng','pipal','diStorm3','edb-debugger','jad','javasnoop','JD-GUI','OllyDbg','Valgrind','YARA','acccheck','ace-voip','Amap','Automater','bing-ip2hosts','braa','CaseFile','CDPSnarf','Cookie Cadger','copy-router-config','DMitry','dnmap','dnsenum','dnsmap','DNSRecon','dnstracer','dnswalk','enum4linux','enumIAX','Fierce','Firewalk','fragroute','fragrouter','GoLismero','goofile','hping3','InTrace','lbd','masscan','Miranda','nbtscan-unixwiz','ntop','smtp-user-enum','snmp-check','sslcaudit','struts pwn','SSLyze','theHarvester','TLSSLed','twofi','URLCrazy','WOL-E','BED','cisco-global-exploiter','cisco-ocs','Doona','DotDotPwn','Greenbone Security Assistant','GSD','Inguma','Lynis','Nmap','openvas-administrator','openvas-cli','openvas-manager','openvas-scanner','Oscanner','sfuzz','SidGuesser','Sqlninja','sqlsus','tnscmd10g','unix-privesc-check','Yersinia','Armitage','Backdoor Factory','BeEF','cisco-auditing-tool','cisco-torch','Commix','crackle','exploitdb','Linux Exploit Suggester','SET','ShellNoob','Aircrack-ng','Asleap','Bluelog','BlueMaho','Bluepot','BlueRanger','Bluesnarfer','Bully','coWPAtty','eapmd5pass','Fern Wifi Cracker','Ghost Phisher','GISKismet','Gqrx','gr-scan','hostapd-wpe','kalibrate-rtl','KillerBee','mdk3','mfcuk','mfoc','mfterm','Multimon-NG','PixieWPS','redfang','RTLSDR Scanner','Spooftooph','wifiphisher','Wifitap','Wifite','Binwalk','bulk-extractor','Capstone','Cuckoo','dc3dd','ddrescue','DFF','Dumpzilla','extundelete','Foremost','Galleta','Guymager','iPhone Backup Analyzer','p0f','pdf-parser','pdfid','pdgmail','peepdf','RegRipper','Volatility','Xplico','apache-users','Arachni','BBQSQL','BlindElephant','Burp Suite','CutyCapt','DAVTest','deblaze','DIRB','DirBuster','fimap','Gobuster','Grabber','jboss-autopwn','joomscan','jSQL','PadBuster','Paros','Parsero','plecost','Powerfuzzer','ProxyStrike','Recon-ng','Skipfish','sqlmap','ua-tester','Uniscan','Vega','w3af','Webshag','WebSlayer','WebSploit','Wfuzz','WPScan','XSSer','DHCPig','FunkLoad','iaxflood','Inundator','inviteflood','ipv6-toolkit','Reaver','rtpflood','SlowHTTPTest','t50','Termineter','THC-SSL-DOS','DNSChef','fiked','hamster-sidejack','HexInject','iSMTP','isr-evilgrade','mitmproxy','ohrwurm','protos-sip','rebind','responder','rtpbreak','rtpinsertsound','rtpmixsound','sctpscan','SIPArmyKnife','SIPp','SIPVicious','SniffJoke','SSLsplit','sslstrip','THC-IPV6','VoIPHopper','Wifi Honey','Wireshark','xspy','CeWL','chntpw','CmosPwd','creddump','crunch','DBPwAudit','findmyhash','gpp-decrypt','hash-identifier','HexorBase','THC-Hydra','John the Ripper','Johnny','keimpx','Maltego Teeth','Maskprocessor','multiforcer','Ncrack','oclgausscrack','PACK','patator','phrasendrescher','polenum','RainbowCrack','rcracki-mt','RSMangler','SQLdict','Statsprocessor','THC-pptp-bruter','TrueCrack','WebScarab','wordlists','zaproxy','android-sdk','apktool','Arduino','dex2jar','Sakis3G','smali'
    alltools ='brutexss','dos2unix','dradis','keepnote','magictree','metagoofil','nipper-ng','pipal','distorm3','edb-debugger','jad','javasnoop','jd-gui','ollydbg','valgrind','yara','acccheck','ace-voip','amap','automater','bing-ip2hosts','braa','caseFile','cdpsnarf','cookie cadger','copy-router-config','dmitry','dnmap','dnsenum','dnsmap','dnsrecon','dnstracer','dnswalk','enum4linux','enumiax','fierce','firewalk','fragroute','fragrouter','golismero','goofile','hping3','intrace','lbd','masscan','miranda','nbtscan-unixwiz','ntop','smtp-user-enum','snmp-check','sslcaudit','struts pwn','sslyze','theharvester','tlssled','twofi','urlcrazy','wol-e','bed','cisco-global-exploiter','cisco-ocs','doona','dotdotpwn','greenbone security assistant','gsd','inguma','lynis','nmap','openvas-administrator','openvas-cli','openvas-manager','openvas-scanner','oscanner','sfuzz','sidguesser','sqlninja','sqlsus','tnscmd10g','unix-privesc-check','yersinia','armitage','backdoor factory','beef','cisco-auditing-tool','cisco-torch','commix','crackle','exploitdb','linux exploit suggester','set','shellnoob','aircrack-ng','asleap','bluelog','blueMaho','bluepot','blueranger','bluesnarfer','bully','cowpatty','eapmd5pass','fern wifi cracker','ghost phisher','giskismet','gqrx','gr-scan','hostapd-wpe','kalibrate-rtl','killerbee','mdk3','mfcuk','mfoc','mfterm','multimon-ng','pixiewps','redfang','rtlsdr scanner','spooftooph','wifiphisher','wifitap','wifite','binwalk','bulk-extractor','capstone','cuckoo','dc3dd','ddrescue','dff','dumpzilla','extundelete','foremost','galleta','guymager','iphone backup analyzer','p0f','pdf-parser','pdfid','pdgmail','peepdf','regripper','volatility','xplico','apache-users','arachni','bbqsql','blindelephant','burp suite','cutycapt','davtest','deblaze','dirb','dirbuster','fimap','gobuster','grabber','jboss-autopwn','joomscan','jsql','padbuster','paros','parsero','plecost','powerfuzzer','proxystrike','recon-ng','skipfish','sqlmap','ua-tester','uniscan','vega','w3af','webshag','webslayer','websploit','wfuzz','wpscan','xsser','dhcpig','funkload','iaxflood','Inundator','inviteflood','ipv6-toolkit','reaver','rtpflood','slowhttptest','t50','termineter','thc-ssl-dos','dnschef','fiked','hamster-sidejack','hexinject','ismtp','isr-evilgrade','mitmproxy','ohrwurm','protos-sip','rebind','responder','rtpbreak','rtpinsertsound','rtpmixsound','sctpscan','siparmyknife','sipp','sipvicious','sniffjoke','sslsplit','sslstrip','thc-ipv6','voiphopper','wifi honey','wireshark','xspy','cewl','chntpw','cmospwd','creddump','crunch','dbpwaudit','findmyhash','gpp-decrypt','hash-identifier','hexorbase','thc-hydra','john the ripper','johnny','keimpx','maltego teeth','maskprocessor','multiforcer','ncrack','oclgausscrack','pack','patator','phrasendrescher','polenum','rainbowcrack','rcracki-mt','rsmangler','sqldict','statsprocessor','thc-pptp-bruter','truecrack','webscarab','wordlists','zaproxy','android-sdk','apktool','arduino','dex2jar','sakis3g','smali'

    def downloadsection():

        def cbinfo_onEnter(event):

            #It will get the values
            cbinfovalue = format(cbinfo.get())
            cbvulnvalue = format(cbvuln.get())
            cbexploitvalue = format(cbexploit.get())
            cbwirelessvalue = format(cbwireless.get())
            cbforensicsvalue = format(cbforensics.get())
            cbwebvalue = format(cbweb.get())
            cbstressvalue = format(cbstress.get())
            cbsniffvalue = format(cbsniff.get())
            cbpassvalue = format(cbpass.get())
            cbhardvalue = format(cbhard.get())
            cbreversevalue = format(cbreverse.get())
            cbreportvalue = format(cbreport.get())
            cballvalue = format(cball.get())

            result = cbreportvalue+"\n"+cbinfovalue+"\n"+cbvulnvalue+"\n"+cbexploitvalue+"\n"+cbwirelessvalue+"\n"+cbforensicsvalue+"\n"+cbwebvalue+"\n"+cbstressvalue+"\n"+cbsniffvalue+"\n"+cbsniffvalue+"\n"+cbpassvalue+"\n"+cbhardvalue+"\n"+cbreversevalue+"\n"+cbreportvalue+"\n"+cballvalue
            #print result

            checktool(result)
            startdownload()


        _bgcolor = '#d9d9d9'  # X11 color: 'gray85'
        _fgcolor = '#000000'  # X11 color: 'black'
        _compcolor = '#d9d9d9' # X11 color: 'gray85'
        _ana1color = '#d9d9d9' # X11 color: 'gray85'
        _ana2color = '#d9d9d9' # X11 color: 'gray85'
        style = ttk.Style()
        if sys.platform == "win32":
            style.theme_use('winnative')
        style.configure('.',background=_bgcolor)
        style.configure('.',foreground=_fgcolor)
        style.configure('.',font="TkDefaultFont")
        style.map('.',background=
            [('selected', _compcolor), ('active',_ana2color)])


        #Information Gathering Drop Down
        cbinfo = ttk.Combobox( width=70, textvariable=varinfo)
        cbinfo.bind("<Return>", cbinfo_onEnter)
        cbinfo.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbinfo['values']=(infolist)
        cbinfo.place(relx=0.115, rely=0.18)

        #Vulnerability Analysis Drop Down
        cbvuln = ttk.Combobox( width=70, textvariable=varvuln)
        cbvuln.bind("<Return>", cbinfo_onEnter)
        cbvuln.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbvuln['values']=(vulnlist)
        cbvuln.place(relx=0.115, rely=0.24)

        #Exploitation Tool Drop Down
        cbexploit = ttk.Combobox( width=70, textvariable=varexploit)
        cbexploit.bind("<Return>", cbinfo_onEnter)
        cbexploit.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbexploit['values']=(exploitlist)
        cbexploit.place(relx=0.115, rely=0.30)

        #Wireless Attacks Drop Down
        cbwireless = ttk.Combobox( width=70, textvariable=varwireless)
        cbwireless.bind("<Return>", cbinfo_onEnter)
        cbwireless.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbwireless['values']=(wirelesslist)
        cbwireless.place(relx=0.115, rely=0.36)

        #Foresics tools Drop Down
        cbforensics = ttk.Combobox( width=70, textvariable=varforensic)
        cbforensics.bind("<Return>", cbinfo_onEnter)
        cbforensics.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbforensics['values']=(forensiclist)
        cbforensics.place(relx=0.115, rely=0.42)

        #Web Application Drop Down
        cbweb = ttk.Combobox( width=70, textvariable=varwebapp)
        cbweb.bind("<Return>", cbinfo_onEnter)
        cbweb.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbweb['values']=(webapplist)
        cbweb.place(relx=0.115, rely=0.48)

        #Stress Testing Drop Down
        cbstress = ttk.Combobox( width=70, textvariable=varstress)
        cbstress.bind("<Return>", cbinfo_onEnter)
        cbstress.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbstress['values']=(stresslist)
        cbstress.place(relx=0.115, rely=0.54)

        #Sniffing & Spoofind Drop Down
        cbsniff = ttk.Combobox( width=70, textvariable=varsniff)
        cbsniff.bind("<Return>", cbinfo_onEnter)
        cbsniff.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbsniff['values']=(snifflist)
        cbsniff.place(relx=0.115, rely=0.60)

        #Password Drop Down
        cbpass = ttk.Combobox( width=70, textvariable=varpass)
        cbpass.bind("<Return>", cbinfo_onEnter)
        cbpass.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbpass['values']=(passlist)
        cbpass.place(relx=0.115, rely=0.66)

        #Hardware Hacking Drop Down
        cbhard = ttk.Combobox( width=70, textvariable=varhard)
        cbhard.bind("<Return>", cbinfo_onEnter)
        cbhard.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbhard['values']=(hardlist)
        cbhard.place(relx=0.115, rely=0.72)

        #Reverse Engineering Drop Down
        cbreverse = ttk.Combobox( width=70, textvariable=varreverse)
        cbreverse.bind("<Return>", cbinfo_onEnter)
        cbreverse.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbreverse['values']=(reverselist)
        cbreverse.place(relx=0.115, rely=0.78)

        #Reporting tools Drop Down
        cbreport = ttk.Combobox( width=70, textvariable=varreport)
        cbreport.bind("<Return>", cbinfo_onEnter)
        cbreport.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cbreport['values']=(reportlist)
        cbreport.place(relx=0.115, rely=0.84)

        #All tools Drop Down
        cball = ttk.Combobox( width=70, textvariable=varall)
        cball.bind("<Return>", cbinfo_onEnter)
        cball.bind("<<ComboboxSelected>>", cbinfo_onEnter)
        cball['values']=(alllist)
        cball.place(relx=0.115, rely=0.90)


    #A testing command
    def test(text):
        print 'In development phase.'+text

    def mydownloadf():
        mydownloads()

    def reportf():
        report()

    def search():
        search = Tk()
        search.geometry("336x93+518+273")
        search.title("Search")
        search.configure(background="#d9d9d9")
        search.wm_iconbitmap('images/icon.ico')
        search.resizable(0,0)

        SearchEntry = ttk.Entry(search)
        SearchEntry.place(relx=0.12, rely=0.32, relheight=0.23, relwidth=0.55)
        SearchEntry.configure(width=186)
        SearchEntry.configure(takefocus="")
        SearchEntry.configure(cursor="ibeam")

        def tobesearch():
            searchingtext = SearchEntry.get()
            search.destroy()

            def ok():
                searching.destroy()
                savedownloads(searchingtext)
                startdownload()

            def cancel():
                searching.destroy()

            def yes():
                searching.destroy()
                suggestions()

            #print searchingtext
            if searchingtext.lower() in alltools:
                searching = Tk()
                searching.geometry("322x155+456+155")
                searching.title("Search")
                searching.configure(background="#d9d9d9")
                #searching.wm_iconbitmap('images/icon.ico')
                searching.resizable(0,0)

                Searching = ttk.Label(searching)
                Searching.place(relx=0.33, rely=0.13, height=29, width=186)
                Searching.configure(background="#d9d9d9")
                Searching.configure(foreground="#000000")
                Searching.configure(relief=FLAT)
                Searching.configure(text='''Awesome! We found''')
                Searching.configure(width=186)

                Searching2 = ttk.Label(searching)
                Searching2.place(relx=0.4, rely=0.32, height=19, width=186)
                Searching2.configure(background="#d9d9d9")
                Searching2.configure(foreground="#000000")
                Searching2.configure(relief=FLAT)
                Searching2.configure(text=searchingtext)

                SearchingButtono = ttk.Button(searching, command=ok)
                SearchingButtono.place(relx=0.12, rely=0.65, height=25, width=76)
                SearchingButtono.configure(takefocus="")
                SearchingButtono.configure(text='''Continue''')

                SearchingButtonn = ttk.Button(searching, command=cancel)
                SearchingButtonn.place(relx=0.59, rely=0.65, height=25, width=76)
                SearchingButtonn.configure(takefocus="")
                SearchingButtonn.configure(text='''Cancel''')
            else:
                searching = Tk()
                searching.geometry("322x155+456+155")
                searching.title("Oops! Can't found any tool")
                searching.configure(background="#d9d9d9")
                searching.wm_iconbitmap('images/icon.ico')
                searching.resizable(0,0)

                Searching = ttk.Label(searching)
                Searching.place(relx=0.20, rely=0.13, height=29, width=186)
                Searching.configure(background="#d9d9d9")
                Searching.configure(foreground="#000000")
                Searching.configure(relief=FLAT)
                Searching.configure(text='''Wanna send us suggestion about''')
                Searching.configure(width=186)

                Searching2 = ttk.Label(searching)
                Searching2.place(relx=0.4, rely=0.32, height=19, width=186)
                Searching2.configure(background="#d9d9d9")
                Searching2.configure(foreground="#000000")
                Searching2.configure(relief=FLAT)
                Searching2.configure(text=searchingtext)

                SearchingButtono = ttk.Button(searching, command=yes)
                SearchingButtono.place(relx=0.12, rely=0.65, height=25, width=76)
                SearchingButtono.configure(takefocus="")
                SearchingButtono.configure(text='''Yes''')

                SearchingButtonn = ttk.Button(searching, command=cancel)
                SearchingButtonn.place(relx=0.59, rely=0.65, height=25, width=76)
                SearchingButtonn.configure(takefocus="")
                SearchingButtonn.configure(text='''No''')

        SearchButton = ttk.Button(search, command = tobesearch)
        SearchButton.place(relx=0.71, rely=0.32, height=25, width=76)
        SearchButton.configure(takefocus="")
        SearchButton.configure(text='''Search''')



    #Here is the top menubar
    menubar = Menu(root)

    homemenu = Menu(menubar, tearoff=0)
    homemenu.add_command(label="Download Section", command=downloadsection)
    homemenu.add_command(label="My Downloads", command=mydownloadf)
    homemenu.add_separator()
    homemenu.add_command(label="About me", command=aboutme)
    homemenu.add_separator()
    homemenu.add_command(label="Contact", command=contact)
    menubar.add_cascade(label = "Home", menu=homemenu)

    aboutmenu = Menu(menubar, tearoff=0)
    aboutmenu.add_command(label="About this Tool", command=about)
    aboutmenu.add_command(label="Licenses", command=licenses)
    aboutmenu.add_separator()
    aboutmenu.add_command(label="Check for Updates", command=checkupdates)
    aboutmenu.add_separator()
    aboutmenu.add_command(label="Contributors", command=contributions)
    aboutmenu.add_command(label="Send me suggestions", command=suggestions)
    aboutmenu.add_command(label="Report a tool", command=reportf)
    menubar.add_cascade(label="About", menu=aboutmenu)

    menubar.add_command(label="Search",command=search)

    menubar.add_command(label = "Quit", command = sys.exit)

    root.config(menu=menubar)

    #Here menu bar ends.

    #Here the programs starts
    downloadsection()

    root.mainloop()

atexit.register(atgexit)

if __name__ == '__main__':
    mainbody()


================================================
FILE: core/updates.py
================================================
#! /usr/bin/env python
__author__ = "Rajesh Majumdar"
__version__ = "1.5"

try:
    from tkinter import *
    import tkinter.scrolledtext as sctx
except:
    from Tkinter import *
    import ScrolledText as sctx


try:
    import ttk
except ImportError:
    from tkinter.ttk import ttk

import urllib2
import webbrowser
import os

def checkupdates():
    checking = Toplevel()
    checking.geometry("270x192+454+143")
    checking.title("Software Update")
    checking.configure(background='#ffffff')
    #checking.wm_iconbitmap('images/icon.ico')

    def errorbox():
        error = Tk()
        error.geometry("268x82+482+242")
        error.title("Error!")
        error.configure(background="#ffffff")
        #error.wm_iconbitmap('images/icon.ico')

        Label1 = Label(error)
        Label1.place(relx=0.04, rely=0.24, height=21, width=244)
        Label1.configure(background="#ffffff")
        Label1.configure(disabledforeground="#a3a3a3")
        Label1.configure(foreground="#000000")
        Label1.configure(text='''Oops! I think you''')
        Label1.configure(width=244)

        Label2 = Label(error)
        Label2.place(relx=0.07, rely=0.49, height=21, width=230)
        Label2.configure(background="#ffffff")
        Label2.configure(disabledforeground="#a3a3a3")
        Label2.configure(foreground="#000000")
        Label2.configure(text='''don't have a working internet connection !''')

        error.mainloop()

    try:
        versionfile = urllib2.urlopen('https://raw.githubusercontent.com/rajeshmajumdar/PloitKit/master/core/version.txt').read()
        if float(versionfile) > float(__version__):
            checking.quit()
            updatefunc()
        else:
            lbl = Label(checking)
            lbl.place(relx=0.04, rely=0.24, height=21, width=244)
            lbl.configure(background="#ffffff")
            lbl.configure(disabledforeground="#a3a3a3")
            lbl.configure(foreground="#000000")
            lbl.configure(text='''Your already have an updated PloitKit.''')
            lbl.configure(width=244)
    except Exception as e:
        errorbox()

    checking.mainloop()

def updatefunc():

    update = Tk()

    update.geometry("270x192+454+143")
    update.title("Software Update")
    update.configure(background='#d9d9d9')
    #update.wm_iconbitmap('images/icon.ico')

    def yes():
        if os.name == 'nt':
            webbrowser.open_new_tab('https://github.com/rajeshmajumdar/PloitKit/archive/master.zip')
            update.destroy()
        else:
            os.system('git clone https://github.com/rajeshmajumdar/PloitKit.git')
            update.destroy()
    def no():
        print 'This thing is also working.'
        update.destroy()

    Label1 = Label(update)
    Label1.place(relx=0.07, rely=0.1, height=21, width=224)
    Label1.configure(background="#d9d9d9")
    Label1.configure(disabledforeground="#a3a3a3")
    Label1.configure(foreground="#000000")
    Label1.configure(text='''PloitKit got a new update !''')
    Label1.configure(width=224)

    Button1 = Button(update, command=yes)
    Button1.place(relx=0.19, rely=0.57, height=24, width=69)
    Button1.configure(activebackground="#ffffff")
    Button1.configure(activeforeground="#000000")
    Button1.configure(background="#d9d9d9")
    Button1.configure(disabledforeground="#a3a3a3")
    Button1.configure(foreground="#000000")
    Button1.configure(highlightbackground="#d9d9d9")
    Button1.configure(highlightcolor="black")
    Button1.configure(pady="0")
    Button1.configure(text='''Yes''')
    Button1.configure(width=69)

    Button2 = Button(update, command=no)
    Button2.place(relx=0.52, rely=0.57, height=24, width=67)
    Button2.configure(activebackground="#ffffff")
    Button2.configure(activeforeground="#000000")
    Button2.configure(background="#d9d9d9")
    Button2.configure(disabledforeground="#a3a3a3")
    Button2.configure(foreground="#000000")
    Button2.configure(highlightbackground="#d9d9d9")
    Button2.configure(highlightcolor="black")
    Button2.configure(pady="0")
    Button2.configure(text='''No''')
    Button2.configure(width=67)

    Label2 = Label(update)
    Label2.place(relx=0.07, rely=0.31, height=21, width=213)
    Label2.configure(background="#d9d9d9")
    Label2.configure(disabledforeground="#a3a3a3")
    Label2.configure(foreground="#000000")
    Label2.configure(text='''Do you want to download this update ?''')

    update.mainloop()


================================================
FILE: core/version.txt
================================================
1.5


================================================
FILE: ploitkit.py
================================================
#!/usr/bin/env python
__author__ = "Rajesh Majumdar"

import os
try:
    import urllib.request as urllib2
except:
    import urllib2

def main():
    path = os.getcwd()
    command = path+'/core/background.py'
    if os.name == 'nt':
        os.system(command)
    else:
        os.system('python '+command)
main()


================================================
FILE: screenshots/version.txt
================================================
1.0
Download .txt
gitextract_0lkjv9pc/

├── Downloads/
│   └── _BLANK
├── LICENSE
├── README.md
├── _config.yml
├── core/
│   ├── background.py
│   ├── updates.py
│   └── version.txt
├── ploitkit.py
└── screenshots/
    └── version.txt
Download .txt
SYMBOL INDEX (6 symbols across 3 files)

FILE: core/background.py
  function hello (line 34) | def hello():
  function atgexit (line 37) | def atgexit():
  function mainbody (line 43) | def mainbody():

FILE: core/updates.py
  function checkupdates (line 22) | def checkupdates():
  function updatefunc (line 71) | def updatefunc():

FILE: ploitkit.py
  function main (line 10) | def main():
Condensed preview — 9 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (33K chars).
[
  {
    "path": "Downloads/_BLANK",
    "chars": 1,
    "preview": "\n"
  },
  {
    "path": "LICENSE",
    "chars": 1072,
    "preview": "MIT License\n\nCopyright (c) 2017 Rajesh Majumdar\n\nPermission is hereby granted, free of charge, to any person obtaining a"
  },
  {
    "path": "README.md",
    "chars": 2118,
    "preview": "# PloitKit\nThe Hacker's ToolBox\n\nPloitKit is a Python based GUI tool designed as one-stop for all other softwares. I was"
  },
  {
    "path": "_config.yml",
    "chars": 26,
    "preview": "theme: jekyll-theme-cayman"
  },
  {
    "path": "core/background.py",
    "chars": 23329,
    "preview": "#! /usr/bin/env python\n__author__ = 'Rajesh Majumdar'\n\ntry:\n    from tkinter import *\n    import tkinter.scrolledtext as"
  },
  {
    "path": "core/updates.py",
    "chars": 4448,
    "preview": "#! /usr/bin/env python\n__author__ = \"Rajesh Majumdar\"\n__version__ = \"1.5\"\n\ntry:\n    from tkinter import *\n    import tki"
  },
  {
    "path": "core/version.txt",
    "chars": 4,
    "preview": "1.5\n"
  },
  {
    "path": "ploitkit.py",
    "chars": 315,
    "preview": "#!/usr/bin/env python\n__author__ = \"Rajesh Majumdar\"\n\nimport os\ntry:\n    import urllib.request as urllib2\nexcept:\n    im"
  },
  {
    "path": "screenshots/version.txt",
    "chars": 4,
    "preview": "1.0\n"
  }
]

About this extraction

This page contains the full source code of the rajeshmajumdar/PloitKit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 9 files (30.6 KB), approximately 8.9k tokens, and a symbol index with 6 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!