Skip to content

Adding new searchers

Jayy001 edited this page Feb 8, 2021 · 5 revisions
  1. Git Clone the repo
  2. Find this file:

https://github.com/HashPals/HashSearch/blob/main/search_that_hash/cracker/online_mod/online.py

Now copy this template:

class <NAME>:
    supports = set(<FILL_OUT>)

    def crack(self, hash):
        <API_HERE>

Fill out the name with the name of the service, supports is a set of strings where each string is the hash type it supports, and crack is the API call to make it happen.

The "Hash" variable is a named_tupel, here is an example of what it might look like:

Hash_input(text='48bb6e862e54f2a795ffc4e541caed4d', types=["MD5", "MD4", "NTLM"], hashcat_types=[0, 900, 1000], api_keys=None, timeout=1, greppable=False, wordlist=None, hashcat_binary=None, api=None)

Return just the plaintext by its self as a string, return "Not connected" if it cannot connect to the API else return "Failed".

For example, here's one from our source code:

class md5_grom:

    supports = set(["md5"])

    def crack(self, hash):
        try:
            out = requests.get(
                f"https://md5.gromweb.com/?md5={hash[0]}", timeout=hash[3]
            ).text
            text = "".join(
                out.split(
                    '<input class="field" id="form_string_to_hash_string" type="search" name="string" value="'
                )[1]
            ).split('"')[0]
            if not text:
                return "Failed"
            return text
        except:
            return "Not connected"

Now to make your searcher work, go to this file:

https://github.com/HashPals/HashSearch/blob/main/search_that_hash/cracker/cracking.py

and add <name()> to the self.searchers_online list.

Congrats, you have now added your searcher to sth!

Clone this wiki locally