[
  {
    "path": "Downloads/_BLANK",
    "content": "\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2017 Rajesh Majumdar\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# PloitKit\nThe Hacker's ToolBox\n\nPloitKit 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.\n\nI 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.\n\n# Features\n\n1. Auto-Update - No need to come over here, and look for new version every time.\n2. Better Error Handling - Some tools may cause error, that's why I added this option.\n3. Graphical Interface - For just click & click.\n4. Malware Protectiong - All tools are downloaded from their original source, so no malwares or any viruses.\n5. 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.\n6. Better organised - Everything is better organised nothing like search everything, and all that mess.\n\nI 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.\n\n# Contributions\nI added an option within the tool, so that you can support me, either in developing, sponsoring or simply donating.\n\nThanks to:\n\n1. devil67\n2. beeprime\n3. BOWadapter\n4. irbisrus\n5. fcafra\n6. ziflar\n7. Lydecker Black\n\nFor pointing out some critical bugs in the tool & for adding more tools.\n\n# Usage\n\ngit clone https://github.com/rajeshmajumdar/PloitKit.git\n\nWindows\nploitkit.py\n\nUNIX or Mac\npython ploitkit.py\n\n# Screenshots\n\n![Alt text](/screenshots/ploitkit.png?raw=true \"PloitKit tool\")\n\n# Buy me a coffee\n\nYou can help me in converting more coffee into more code.\n\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2LQFT9QM4M7YU)\n\n# Issues\n\nIf any error occured, or any suggestions. Send me through the tool itself or from Issue tab.\n"
  },
  {
    "path": "_config.yml",
    "content": "theme: jekyll-theme-cayman"
  },
  {
    "path": "core/background.py",
    "content": "#! /usr/bin/env python\n__author__ = 'Rajesh Majumdar'\n\ntry:\n    from tkinter import *\n    import tkinter.scrolledtext as sctx\nexcept:\n    from Tkinter import *\n    import ScrolledText as sctx\n\n\ntry:\n    import ttk\nexcept ImportError:\n    from tkinter.ttk import ttk\n\nimport atexit\nimport os\nimport sys\n\n\nfrom aboutme import aboutme\nfrom contact import contact\nfrom about import about\nfrom licenses import licenses\nfrom updates import checkupdates\nfrom suggestions import suggestions\nfrom contributors import contributions\nfrom checktool import checktool\nfrom mydownloads import mydownloads\nfrom savedownloads import  startdownload, savedownloads\nfrom report import report\n\ndef hello():\n    print 'hello world'\n\ndef atgexit():\n    try:\n        os.remove('mydownloads.txt')\n    except:\n        pass\n\ndef mainbody():\n\n    root = Tk()\n\n    root.geometry(\"577x556+427+139\")\n    root.title(\"PloitKit - The Hacker's Toolbox\")\n    root.configure(background=\"#d9d9d9\")\n    #root.wm_iconbitmap('images/icon.ico')\n    #root.resizable(0,0)\n\n    imagepath = r'images/header.gif'\n    image = PhotoImage(file=imagepath)\n    ilabel = Label(root, image = image)\n    ilabel.image = image\n    ilabel.pack()\n\n    varinfo = StringVar(root, value='Information Gathering')\n    varvuln = StringVar(root, value=\"Vulnerability Analysis\")\n    varexploit = StringVar(root, value=\"Exploitation Tool\")\n    varwireless = StringVar(root, value=\"Wireless Attacks\")\n    varforensic = StringVar(root, value=\"Forensics Tools\")\n    varwebapp = StringVar(root, value=\"Web Application\")\n    varstress = StringVar(root, value=\"Stress Testing\")\n    varsniff = StringVar(root, value=\"Sniffing & Spoofing\")\n    varpass = StringVar(root, value=\"Password Attacks\")\n    varhard = StringVar(root, value=\"Hardware Hacking\")\n    varreverse = StringVar(root, value=\"Reverse Engineering\")\n    varreport = StringVar(root, value=\"Reporting tools\")\n    varall = StringVar(root, value=\"All tools\")\n\n    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'\n    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'\n    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'\n    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'\n    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'\n    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'\n    stresslist = 'DHCPig','FunkLoad','iaxflood','Inundator','inviteflood','ipv6-toolkit','mdk3','Reaver','rtpflood','SlowHTTPTest','t50','Termineter','THC-IPV6','THC-SSL-DOS'\n    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'\n    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'\n    hardlist = 'android-sdk','apktool','Arduino','dex2jar','Sakis3G','smali'\n    reverselist = 'apktool','dex2jar','diStorm3','edb-debugger','jad','javasnoop','JD-GUI','OllyDbg','smali','Valgrind','YARA'\n    reportlist = 'CaseFile','CutyCapt','dos2unix','Dradis','KeepNote','MagicTree','Metagoofil','Nipper-ng','pipal'\n    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'\n    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'\n\n    def downloadsection():\n\n        def cbinfo_onEnter(event):\n\n            #It will get the values\n            cbinfovalue = format(cbinfo.get())\n            cbvulnvalue = format(cbvuln.get())\n            cbexploitvalue = format(cbexploit.get())\n            cbwirelessvalue = format(cbwireless.get())\n            cbforensicsvalue = format(cbforensics.get())\n            cbwebvalue = format(cbweb.get())\n            cbstressvalue = format(cbstress.get())\n            cbsniffvalue = format(cbsniff.get())\n            cbpassvalue = format(cbpass.get())\n            cbhardvalue = format(cbhard.get())\n            cbreversevalue = format(cbreverse.get())\n            cbreportvalue = format(cbreport.get())\n            cballvalue = format(cball.get())\n\n            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\n            #print result\n\n            checktool(result)\n            startdownload()\n\n\n        _bgcolor = '#d9d9d9'  # X11 color: 'gray85'\n        _fgcolor = '#000000'  # X11 color: 'black'\n        _compcolor = '#d9d9d9' # X11 color: 'gray85'\n        _ana1color = '#d9d9d9' # X11 color: 'gray85'\n        _ana2color = '#d9d9d9' # X11 color: 'gray85'\n        style = ttk.Style()\n        if sys.platform == \"win32\":\n            style.theme_use('winnative')\n        style.configure('.',background=_bgcolor)\n        style.configure('.',foreground=_fgcolor)\n        style.configure('.',font=\"TkDefaultFont\")\n        style.map('.',background=\n            [('selected', _compcolor), ('active',_ana2color)])\n\n\n        #Information Gathering Drop Down\n        cbinfo = ttk.Combobox( width=70, textvariable=varinfo)\n        cbinfo.bind(\"<Return>\", cbinfo_onEnter)\n        cbinfo.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbinfo['values']=(infolist)\n        cbinfo.place(relx=0.115, rely=0.18)\n\n        #Vulnerability Analysis Drop Down\n        cbvuln = ttk.Combobox( width=70, textvariable=varvuln)\n        cbvuln.bind(\"<Return>\", cbinfo_onEnter)\n        cbvuln.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbvuln['values']=(vulnlist)\n        cbvuln.place(relx=0.115, rely=0.24)\n\n        #Exploitation Tool Drop Down\n        cbexploit = ttk.Combobox( width=70, textvariable=varexploit)\n        cbexploit.bind(\"<Return>\", cbinfo_onEnter)\n        cbexploit.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbexploit['values']=(exploitlist)\n        cbexploit.place(relx=0.115, rely=0.30)\n\n        #Wireless Attacks Drop Down\n        cbwireless = ttk.Combobox( width=70, textvariable=varwireless)\n        cbwireless.bind(\"<Return>\", cbinfo_onEnter)\n        cbwireless.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbwireless['values']=(wirelesslist)\n        cbwireless.place(relx=0.115, rely=0.36)\n\n        #Foresics tools Drop Down\n        cbforensics = ttk.Combobox( width=70, textvariable=varforensic)\n        cbforensics.bind(\"<Return>\", cbinfo_onEnter)\n        cbforensics.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbforensics['values']=(forensiclist)\n        cbforensics.place(relx=0.115, rely=0.42)\n\n        #Web Application Drop Down\n        cbweb = ttk.Combobox( width=70, textvariable=varwebapp)\n        cbweb.bind(\"<Return>\", cbinfo_onEnter)\n        cbweb.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbweb['values']=(webapplist)\n        cbweb.place(relx=0.115, rely=0.48)\n\n        #Stress Testing Drop Down\n        cbstress = ttk.Combobox( width=70, textvariable=varstress)\n        cbstress.bind(\"<Return>\", cbinfo_onEnter)\n        cbstress.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbstress['values']=(stresslist)\n        cbstress.place(relx=0.115, rely=0.54)\n\n        #Sniffing & Spoofind Drop Down\n        cbsniff = ttk.Combobox( width=70, textvariable=varsniff)\n        cbsniff.bind(\"<Return>\", cbinfo_onEnter)\n        cbsniff.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbsniff['values']=(snifflist)\n        cbsniff.place(relx=0.115, rely=0.60)\n\n        #Password Drop Down\n        cbpass = ttk.Combobox( width=70, textvariable=varpass)\n        cbpass.bind(\"<Return>\", cbinfo_onEnter)\n        cbpass.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbpass['values']=(passlist)\n        cbpass.place(relx=0.115, rely=0.66)\n\n        #Hardware Hacking Drop Down\n        cbhard = ttk.Combobox( width=70, textvariable=varhard)\n        cbhard.bind(\"<Return>\", cbinfo_onEnter)\n        cbhard.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbhard['values']=(hardlist)\n        cbhard.place(relx=0.115, rely=0.72)\n\n        #Reverse Engineering Drop Down\n        cbreverse = ttk.Combobox( width=70, textvariable=varreverse)\n        cbreverse.bind(\"<Return>\", cbinfo_onEnter)\n        cbreverse.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbreverse['values']=(reverselist)\n        cbreverse.place(relx=0.115, rely=0.78)\n\n        #Reporting tools Drop Down\n        cbreport = ttk.Combobox( width=70, textvariable=varreport)\n        cbreport.bind(\"<Return>\", cbinfo_onEnter)\n        cbreport.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cbreport['values']=(reportlist)\n        cbreport.place(relx=0.115, rely=0.84)\n\n        #All tools Drop Down\n        cball = ttk.Combobox( width=70, textvariable=varall)\n        cball.bind(\"<Return>\", cbinfo_onEnter)\n        cball.bind(\"<<ComboboxSelected>>\", cbinfo_onEnter)\n        cball['values']=(alllist)\n        cball.place(relx=0.115, rely=0.90)\n\n\n    #A testing command\n    def test(text):\n        print 'In development phase.'+text\n\n    def mydownloadf():\n        mydownloads()\n\n    def reportf():\n        report()\n\n    def search():\n        search = Tk()\n        search.geometry(\"336x93+518+273\")\n        search.title(\"Search\")\n        search.configure(background=\"#d9d9d9\")\n        search.wm_iconbitmap('images/icon.ico')\n        search.resizable(0,0)\n\n        SearchEntry = ttk.Entry(search)\n        SearchEntry.place(relx=0.12, rely=0.32, relheight=0.23, relwidth=0.55)\n        SearchEntry.configure(width=186)\n        SearchEntry.configure(takefocus=\"\")\n        SearchEntry.configure(cursor=\"ibeam\")\n\n        def tobesearch():\n            searchingtext = SearchEntry.get()\n            search.destroy()\n\n            def ok():\n                searching.destroy()\n                savedownloads(searchingtext)\n                startdownload()\n\n            def cancel():\n                searching.destroy()\n\n            def yes():\n                searching.destroy()\n                suggestions()\n\n            #print searchingtext\n            if searchingtext.lower() in alltools:\n                searching = Tk()\n                searching.geometry(\"322x155+456+155\")\n                searching.title(\"Search\")\n                searching.configure(background=\"#d9d9d9\")\n                #searching.wm_iconbitmap('images/icon.ico')\n                searching.resizable(0,0)\n\n                Searching = ttk.Label(searching)\n                Searching.place(relx=0.33, rely=0.13, height=29, width=186)\n                Searching.configure(background=\"#d9d9d9\")\n                Searching.configure(foreground=\"#000000\")\n                Searching.configure(relief=FLAT)\n                Searching.configure(text='''Awesome! We found''')\n                Searching.configure(width=186)\n\n                Searching2 = ttk.Label(searching)\n                Searching2.place(relx=0.4, rely=0.32, height=19, width=186)\n                Searching2.configure(background=\"#d9d9d9\")\n                Searching2.configure(foreground=\"#000000\")\n                Searching2.configure(relief=FLAT)\n                Searching2.configure(text=searchingtext)\n\n                SearchingButtono = ttk.Button(searching, command=ok)\n                SearchingButtono.place(relx=0.12, rely=0.65, height=25, width=76)\n                SearchingButtono.configure(takefocus=\"\")\n                SearchingButtono.configure(text='''Continue''')\n\n                SearchingButtonn = ttk.Button(searching, command=cancel)\n                SearchingButtonn.place(relx=0.59, rely=0.65, height=25, width=76)\n                SearchingButtonn.configure(takefocus=\"\")\n                SearchingButtonn.configure(text='''Cancel''')\n            else:\n                searching = Tk()\n                searching.geometry(\"322x155+456+155\")\n                searching.title(\"Oops! Can't found any tool\")\n                searching.configure(background=\"#d9d9d9\")\n                searching.wm_iconbitmap('images/icon.ico')\n                searching.resizable(0,0)\n\n                Searching = ttk.Label(searching)\n                Searching.place(relx=0.20, rely=0.13, height=29, width=186)\n                Searching.configure(background=\"#d9d9d9\")\n                Searching.configure(foreground=\"#000000\")\n                Searching.configure(relief=FLAT)\n                Searching.configure(text='''Wanna send us suggestion about''')\n                Searching.configure(width=186)\n\n                Searching2 = ttk.Label(searching)\n                Searching2.place(relx=0.4, rely=0.32, height=19, width=186)\n                Searching2.configure(background=\"#d9d9d9\")\n                Searching2.configure(foreground=\"#000000\")\n                Searching2.configure(relief=FLAT)\n                Searching2.configure(text=searchingtext)\n\n                SearchingButtono = ttk.Button(searching, command=yes)\n                SearchingButtono.place(relx=0.12, rely=0.65, height=25, width=76)\n                SearchingButtono.configure(takefocus=\"\")\n                SearchingButtono.configure(text='''Yes''')\n\n                SearchingButtonn = ttk.Button(searching, command=cancel)\n                SearchingButtonn.place(relx=0.59, rely=0.65, height=25, width=76)\n                SearchingButtonn.configure(takefocus=\"\")\n                SearchingButtonn.configure(text='''No''')\n\n        SearchButton = ttk.Button(search, command = tobesearch)\n        SearchButton.place(relx=0.71, rely=0.32, height=25, width=76)\n        SearchButton.configure(takefocus=\"\")\n        SearchButton.configure(text='''Search''')\n\n\n\n    #Here is the top menubar\n    menubar = Menu(root)\n\n    homemenu = Menu(menubar, tearoff=0)\n    homemenu.add_command(label=\"Download Section\", command=downloadsection)\n    homemenu.add_command(label=\"My Downloads\", command=mydownloadf)\n    homemenu.add_separator()\n    homemenu.add_command(label=\"About me\", command=aboutme)\n    homemenu.add_separator()\n    homemenu.add_command(label=\"Contact\", command=contact)\n    menubar.add_cascade(label = \"Home\", menu=homemenu)\n\n    aboutmenu = Menu(menubar, tearoff=0)\n    aboutmenu.add_command(label=\"About this Tool\", command=about)\n    aboutmenu.add_command(label=\"Licenses\", command=licenses)\n    aboutmenu.add_separator()\n    aboutmenu.add_command(label=\"Check for Updates\", command=checkupdates)\n    aboutmenu.add_separator()\n    aboutmenu.add_command(label=\"Contributors\", command=contributions)\n    aboutmenu.add_command(label=\"Send me suggestions\", command=suggestions)\n    aboutmenu.add_command(label=\"Report a tool\", command=reportf)\n    menubar.add_cascade(label=\"About\", menu=aboutmenu)\n\n    menubar.add_command(label=\"Search\",command=search)\n\n    menubar.add_command(label = \"Quit\", command = sys.exit)\n\n    root.config(menu=menubar)\n\n    #Here menu bar ends.\n\n    #Here the programs starts\n    downloadsection()\n\n    root.mainloop()\n\natexit.register(atgexit)\n\nif __name__ == '__main__':\n    mainbody()\n"
  },
  {
    "path": "core/updates.py",
    "content": "#! /usr/bin/env python\n__author__ = \"Rajesh Majumdar\"\n__version__ = \"1.5\"\n\ntry:\n    from tkinter import *\n    import tkinter.scrolledtext as sctx\nexcept:\n    from Tkinter import *\n    import ScrolledText as sctx\n\n\ntry:\n    import ttk\nexcept ImportError:\n    from tkinter.ttk import ttk\n\nimport urllib2\nimport webbrowser\nimport os\n\ndef checkupdates():\n    checking = Toplevel()\n    checking.geometry(\"270x192+454+143\")\n    checking.title(\"Software Update\")\n    checking.configure(background='#ffffff')\n    #checking.wm_iconbitmap('images/icon.ico')\n\n    def errorbox():\n        error = Tk()\n        error.geometry(\"268x82+482+242\")\n        error.title(\"Error!\")\n        error.configure(background=\"#ffffff\")\n        #error.wm_iconbitmap('images/icon.ico')\n\n        Label1 = Label(error)\n        Label1.place(relx=0.04, rely=0.24, height=21, width=244)\n        Label1.configure(background=\"#ffffff\")\n        Label1.configure(disabledforeground=\"#a3a3a3\")\n        Label1.configure(foreground=\"#000000\")\n        Label1.configure(text='''Oops! I think you''')\n        Label1.configure(width=244)\n\n        Label2 = Label(error)\n        Label2.place(relx=0.07, rely=0.49, height=21, width=230)\n        Label2.configure(background=\"#ffffff\")\n        Label2.configure(disabledforeground=\"#a3a3a3\")\n        Label2.configure(foreground=\"#000000\")\n        Label2.configure(text='''don't have a working internet connection !''')\n\n        error.mainloop()\n\n    try:\n        versionfile = urllib2.urlopen('https://raw.githubusercontent.com/rajeshmajumdar/PloitKit/master/core/version.txt').read()\n        if float(versionfile) > float(__version__):\n            checking.quit()\n            updatefunc()\n        else:\n            lbl = Label(checking)\n            lbl.place(relx=0.04, rely=0.24, height=21, width=244)\n            lbl.configure(background=\"#ffffff\")\n            lbl.configure(disabledforeground=\"#a3a3a3\")\n            lbl.configure(foreground=\"#000000\")\n            lbl.configure(text='''Your already have an updated PloitKit.''')\n            lbl.configure(width=244)\n    except Exception as e:\n        errorbox()\n\n    checking.mainloop()\n\ndef updatefunc():\n\n    update = Tk()\n\n    update.geometry(\"270x192+454+143\")\n    update.title(\"Software Update\")\n    update.configure(background='#d9d9d9')\n    #update.wm_iconbitmap('images/icon.ico')\n\n    def yes():\n        if os.name == 'nt':\n            webbrowser.open_new_tab('https://github.com/rajeshmajumdar/PloitKit/archive/master.zip')\n            update.destroy()\n        else:\n            os.system('git clone https://github.com/rajeshmajumdar/PloitKit.git')\n            update.destroy()\n    def no():\n        print 'This thing is also working.'\n        update.destroy()\n\n    Label1 = Label(update)\n    Label1.place(relx=0.07, rely=0.1, height=21, width=224)\n    Label1.configure(background=\"#d9d9d9\")\n    Label1.configure(disabledforeground=\"#a3a3a3\")\n    Label1.configure(foreground=\"#000000\")\n    Label1.configure(text='''PloitKit got a new update !''')\n    Label1.configure(width=224)\n\n    Button1 = Button(update, command=yes)\n    Button1.place(relx=0.19, rely=0.57, height=24, width=69)\n    Button1.configure(activebackground=\"#ffffff\")\n    Button1.configure(activeforeground=\"#000000\")\n    Button1.configure(background=\"#d9d9d9\")\n    Button1.configure(disabledforeground=\"#a3a3a3\")\n    Button1.configure(foreground=\"#000000\")\n    Button1.configure(highlightbackground=\"#d9d9d9\")\n    Button1.configure(highlightcolor=\"black\")\n    Button1.configure(pady=\"0\")\n    Button1.configure(text='''Yes''')\n    Button1.configure(width=69)\n\n    Button2 = Button(update, command=no)\n    Button2.place(relx=0.52, rely=0.57, height=24, width=67)\n    Button2.configure(activebackground=\"#ffffff\")\n    Button2.configure(activeforeground=\"#000000\")\n    Button2.configure(background=\"#d9d9d9\")\n    Button2.configure(disabledforeground=\"#a3a3a3\")\n    Button2.configure(foreground=\"#000000\")\n    Button2.configure(highlightbackground=\"#d9d9d9\")\n    Button2.configure(highlightcolor=\"black\")\n    Button2.configure(pady=\"0\")\n    Button2.configure(text='''No''')\n    Button2.configure(width=67)\n\n    Label2 = Label(update)\n    Label2.place(relx=0.07, rely=0.31, height=21, width=213)\n    Label2.configure(background=\"#d9d9d9\")\n    Label2.configure(disabledforeground=\"#a3a3a3\")\n    Label2.configure(foreground=\"#000000\")\n    Label2.configure(text='''Do you want to download this update ?''')\n\n    update.mainloop()\n"
  },
  {
    "path": "core/version.txt",
    "content": "1.5\n"
  },
  {
    "path": "ploitkit.py",
    "content": "#!/usr/bin/env python\n__author__ = \"Rajesh Majumdar\"\n\nimport os\ntry:\n    import urllib.request as urllib2\nexcept:\n    import urllib2\n\ndef main():\n    path = os.getcwd()\n    command = path+'/core/background.py'\n    if os.name == 'nt':\n        os.system(command)\n    else:\n        os.system('python '+command)\nmain()\n"
  },
  {
    "path": "screenshots/version.txt",
    "content": "1.0\n"
  }
]