{"id":18974544,"url":"https://github.com/m7a/bo-bruteforce","last_synced_at":"2026-04-08T15:30:20.537Z","repository":{"id":164554562,"uuid":"227442598","full_name":"m7a/bo-bruteforce","owner":"m7a","description":"Java-based CPU benchmark","archived":false,"fork":false,"pushed_at":"2024-04-28T19:29:20.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T09:08:17.618Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m7a.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-11T19:21:05.000Z","updated_at":"2024-04-28T19:29:23.000Z","dependencies_parsed_at":"2024-04-28T20:30:52.329Z","dependency_job_id":"eda488ac-af69-4d37-a964-bf1611435ea1","html_url":"https://github.com/m7a/bo-bruteforce","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-bruteforce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-bruteforce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-bruteforce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m7a%2Fbo-bruteforce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m7a","download_url":"https://codeload.github.com/m7a/bo-bruteforce/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239972108,"owners_count":19727307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T15:15:23.488Z","updated_at":"2026-04-08T15:30:20.465Z","avatar_url":"https://github.com/m7a.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\nx-masysma-name: bruteforce3\nsection: 32\ntitle: Ma_Sys.ma Brute Force Programme\nauthor: [\"Linux-Fan, Ma_Sys.ma (Ma_Sys.ma@web.de)\"]\nkeywords: [\"bruteforce\", \"brouteforce\", \"benchmark\"]\ndate: 2019/12/11 13:18:01\nlang: de-DE\nx-masysma-repository: https://www.github.com/m7a/bo-bruteforce\nx-masysma-website: https://masysma.net/32/bruteforce3.xhtml\nx-masysma-owned: 1\nx-masysma-copyright: |\n  Copyright (c) 2014, 2019 Ma_Sys.ma.\n  For further info send an e-mail to Ma_Sys.ma@web.de.\n---\nRepository\n==========\n\nDieses Repository enthält alle Versionen der Programme, standardmäßig wird im\nJAR file aber nur die neuste Version (3) integriert. Kompilieren erfolgt durch\nEingabe von `ant`.\n\nBeschreibung\n============\n\nDer Versionssprung kam dadurch zu Stande, dass der Quelltext von Broute Force\n1.1 `BrouteForce2.java` hieß. Deshalb wurde diese Version `BrouteForce3.java`\ngenannt, weshalb auch in der Versionsangabe „Version 3.0“ steht.\n\nAnstatt einer kompletten Neuentwicklung handelt es sich um eine\nWeiterentwicklung des alten Konzeptes, dass man ein Array verwendet, um eine\nKombination abzubilden, die dann erst in eine Zeichenkette konvertiert wird.\n\nAls Neuerung enthält das Programm jetzt eine dedizierte Benchmark-Funktion und\nverzichtet auf Optionen wie das Schreiben der Ausgabe in eine Datei. Es\ngibt ein Diagramm, welches anders als beim alten ComputerInfo auch unter Windows\nfunktionieren sollte.\n\nUm die Betriebssystemkompatibilität noch weiter voranzutreiben, gibt es in\ndieser Version auch keine weiße Statuszeile mehr, sondern diese wird nicht mehr\nvom Hintergrund hervorgehoben.\n\nAußerdem wurde die Suchweise des Programmes geändert: Man kann neuerdings\nMD5-Summen „cracken“. Das geht im Test bei bis zu fünf Zeichen relativ schnell.\nAndererseits wurde auch das Verteilen auf mehrere Kerne optimiert.\nJeder Thread hat seine eigene Zählvariable, wordurch die Genauigkeit der\nGeschwindigkeitsmessung deutlich stieg, weshalb die Vorversionen auch nicht zur\nGeschwindigkeitsmessung zu empfehlen sind.\n\nMan muss jetzt keine Passwortlänge mehr angeben, das Programm versucht\neinfach alle Passwörter (angefangen von nur ein Zeichen Länge immer weiter)\nund bricht erst beim Ergebnis ab. Dadurch wurde auch das System geändert,\nnach dem die Threads arbeiteten: Vorher war ein Thread jeweils für einen\nTeilbereich zuständig (bei Buchstaben von a bis z waren daher maximal 26 Kerne\nauslastbar). Mit dem neuen Programm werden unterschiedliche Passwortlängen auf\ndie Kerne verteilt. Immer wenn einer der Threads fertig ist, holt er sich\nbei der Hauptklasse eine neue Passwortlänge, die er in Angriff nimmt.\nDadurch fängt das Programm bei vier Kernen an, gleichzeitig nach Passwörtern mit\neinem, zwei, drei und vier Zeichen zu suchen. Alle diese Threads sind schnell\nfertig und der erste (der Passwörter mit nur einem Zeichen gesucht hat) bekommt\ndie „fünfstelligen“ Passwörter zugewiesen.\n\nDer Nachteil dieser Idee ist natürlich, dass wenn das Programm auf z.B. 32\nKernen rechnet, ein Thread von vorn herein mit dem Suchen von 32-stelligen\nPasswörtern beschäftigt ist. Dadurch, dass die wenigsten Nutzer solch lange\nPasswörter benutzen, ist dies wohl in den meisten Fällen\nRechenzeitverschwendung. Andererseits ist das Programm aber nicht hauptsächlich\nfür das Knacken von Passwörtern sondern viel mehr für Benchmarks und Tests\nzuständig, weshalb man bspw. bei dieser Version das Alphabet nicht mehr ändern\nkann. Der Nutzen, extrem kurze Passwörter (bspw vier oder fünfstellig)\nvollständig abzusuchen, kann aber immernoch helfen, um plakativ zu\nzeigen, warum man beim Speichern von Passwörtern nicht einfach nur\n`MD5(PASSWORT)` rechnet.\n\n## Beispielausgabe\n\n\t~$ bruteforce3 --md5 testx\n\tBroute Force 3.0, Copyright (c) 2012 Ma_Sys.ma.\n\tFor further info send an e-mail to Ma_Sys.ma@web.de.\n\t\n\t259aa0dd6cd9465e193e753c6dcf38c4\n\t\n\t~$ bruteforce3 --crack 259aa0dd6cd9465e193e753c6dcf38c4\n\tBroute Force 3.0, Copyright (c) 2012 Ma_Sys.ma.\n\tFor further info send an e-mail to Ma_Sys.ma@web.de.\n\t\n\tTrying to crack 259aa0dd6cd9465e193e753c6dcf38c4...\n\tUsing 8 Threads to search.\n\tCreating and starting threads...\n\t\n\tSTATUS speed=11646640/s strlen=13\n\tCombination found:  testx\n\tStatus Display Thread interrupted.\n\t\n\tStatistics\n\t\tTime:                823484 ms.\n\t\tCombinations total:  9433326460\n\t\tAvg Combinations/ms: 11455\n\t\tStrlen:              20\n\t\tFully searched:      5\n\t\tMax Combinations/ms  14165\n\t\n\t _____#________________________________________________________________________\n\t _____#________________________________________________________________________\n\t ____##___________________#____________________________________________________\n\t #######################_############_#_#_#####_###########_######__###########\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t ##############################################################################\n\t\n\tPress enter to exit...\n\t\n\t~$\n\nBeschreibung Bruteforce 1\n=========================\n\nIn der ersten Version konnte ein „Alphabet“ ausgewählt werden (z.B. A-Z,\n1-F, ö.Ä.), um anzugeben, welche Zeichen durchprobiert werden sollten.\nAußerdem zeigte das Programm unter Linux den Fortschritt in einer weißen Zeile\nan.\n\n![Brute Force 1 unter Linux](bruteforce3_att/screenshot.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm7a%2Fbo-bruteforce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm7a%2Fbo-bruteforce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm7a%2Fbo-bruteforce/lists"}