-
-
Notifications
You must be signed in to change notification settings - Fork 92
Adding new searchers
- Git Clone the repo
- 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!