cobreak 0.0.6 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,7 @@
1
1
  #!/bin/env ruby
2
+ require 'ruby_figlet'
2
3
  require 'cobreak/version'
4
+ using RubyFiglet
3
5
  module CoBreak
4
6
  class BruteForze
5
7
  def initialize(options)
@@ -13,21 +15,24 @@ module CoBreak
13
15
  abort "reinstall gem new"
14
16
  end
15
17
  def banner_wordlist()
16
- puts "\e[32m╭─[\e[0m CoBreak: #{CoBreak.version}"
18
+ puts "\e[0;31m"
19
+ puts "cobreak".art("Bloody")
20
+ puts "\e[0m"
21
+ puts "\e[1;32m╭─[\e[37m CoBreak: #{CoBreak.version}"
17
22
  if (File.exists?(@options.wordlist.to_s))
18
- puts "\e[32m├─[\e[0m Wordlist: #{File.expand_path(@options.wordlist)}"
23
+ puts "\e[1;32m├─[\e[37m Wordlist: #{File.expand_path(@options.wordlist)}"
19
24
  else
20
- puts "\e[31m├─[\e[0m WordList Not Found"
25
+ puts "\e[1;31m├─[\e[37m WordList Not Found"
21
26
  end
22
27
  if (@hash.include?(@options.bruteforce.to_s.upcase))
23
- puts "\e[32m├─[\e[0m Type Hash: #{@options.bruteforce.upcase}"
28
+ puts "\e[1;32m├─[\e[37m Type Hash: #{@options.bruteforce.upcase}"
24
29
  else
25
- puts "\e[31m├─[\e[0m Type Hash Not Found"
30
+ puts "\e[1;31m├─[\e[37m Type Hash Not Found"
26
31
  end
27
32
  unless (@options.algo.nil?) or (@options.algo.empty?)
28
- puts "\e[32m╰─[\e[0m Hash: #{@options.algo}\n\n"
33
+ puts "\e[1;32m╰─[\e[37m Hash: #{@options.algo}\n\n"
29
34
  else
30
- puts "\e[31m╰─[\e[0m Hash Not Found"
35
+ puts "\e[1;31m╰─[\e[37m Hash Not Found"
31
36
  end
32
37
  end
33
38
  def wordlist()
@@ -38,41 +43,13 @@ module CoBreak
38
43
  if (File.exists?(@options.algo.to_s))
39
44
  IO.foreach(@options.algo.to_s){|line|
40
45
  line.chomp!
41
- if (@options.bruteforce.to_s.downcase.eql?('md4'))
42
- ForzeBrute::md4(line, @options.wordlist)
43
- elsif (@options.bruteforce.to_s.downcase.eql?('md5'))
44
- ForzeBrute::md5(line, @options.wordlist)
45
- elsif (@options.bruteforce.to_s.downcase.eql?('sha1'))
46
- ForzeBrute::sha1(line, @options.wordlist)
47
- elsif (@options.bruteforce.to_s.downcase.eql?('sha224'))
48
- ForzeBrute::sha224(line, @options.wordlist)
49
- elsif (@options.bruteforce.to_s.downcase.eql?('sha256'))
50
- ForzeBrute::sha256(line, @options.wordlist)
51
- elsif (@options.bruteforce.to_s.downcase.eql?('sha384'))
52
- ForzeBrute::sha384(line, @options.wordlist)
53
- elsif (@options.bruteforce.to_s.downcase.eql?('sha512'))
54
- ForzeBrute::sha512(line, @options.wordlist)
55
- elsif (@options.bruteforce.to_s.downcase.eql?('ripemd160'))
56
- ForzeBrute::ripemd160(line, @options.wordlist)
46
+ if (@hash.include?(@options.bruteforce.to_s.upcase))
47
+ ForzeBrute::word(line, @options.wordlist, @options.bruteforce.to_s)
57
48
  end
58
49
  }
59
50
  else
60
- if (@options.bruteforce.to_s.downcase.eql?('md4'))
61
- ForzeBrute::md4(@options.algo.to_s, @options.wordlist)
62
- elsif (@options.bruteforce.to_s.downcase.eql?('md5'))
63
- ForzeBrute::md5(@options.algo.to_s, @options.wordlist)
64
- elsif (@options.bruteforce.to_s.downcase.eql?('sha1'))
65
- ForzeBrute::sha1(@options.algo.to_s, @options.wordlist)
66
- elsif (@options.bruteforce.to_s.downcase.eql?('sha224'))
67
- ForzeBrute::sha224(@options.algo.to_s, @options.wordlist)
68
- elsif (@options.bruteforce.to_s.downcase.eql?('sha256'))
69
- ForzeBrute::sha256(@options.algo.to_s, @options.wordlist)
70
- elsif (@options.bruteforce.to_s.downcase.eql?('sha384'))
71
- ForzeBrute::sha384(@options.algo.to_s, @options.wordlist)
72
- elsif (@options.bruteforce.to_s.downcase.eql?('sha512'))
73
- ForzeBrute::sha512(@options.algo.to_s, @options.wordlist)
74
- elsif (@options.bruteforce.to_s.downcase.eql?('ripemd160'))
75
- ForzeBrute::ripemd160(@options.algo.to_s, @options.wordlist)
51
+ if (@hash.include?(@options.bruteforce.upcase.to_s))
52
+ ForzeBrute::word(@options.algo.to_s, @options.wordlist, @options.bruteforce.to_s, @options.out, @options.verbose)
76
53
  end
77
54
  end
78
55
  end
@@ -0,0 +1,54 @@
1
+ require 'ostruct'
2
+ require 'ruby_figlet'
3
+ using RubyFiglet
4
+ module CoBreak
5
+ class BruteChars
6
+ def initialize(options)
7
+ @options = options
8
+ @hash = %w[MD4 MD5 SHA1 SHA224 SHA256 SHA384 SHA512 RIPEMD160]
9
+ end
10
+ def banner_chars()
11
+ puts "\e[0;31m"
12
+ puts "cobreak".art("Bloody")
13
+ puts "\e[0m"
14
+ puts "\e[1;32m╭─[\e[1;37m CoBreak: #{CoBreak.version}"
15
+ unless (@options.range.nil?)
16
+ puts "\e[32m├─[\e[1;37m Range: #{@options.range[0]} #{@options.range[1]}"
17
+ else
18
+ puts "\e[31m├─[\e[1;37m Range Not Found"
19
+ end
20
+ unless (@options.chars.nil?) or (@options.chars.empty?)
21
+ puts "\e[32m├─[\e[1;37m Characters: #{@options.chars}"
22
+ else
23
+ puts "\e[31m├─[\e[1;37m Characters Not Found"
24
+ end
25
+ if (@hash.include?(@options.bruteforce.to_s.upcase))
26
+ puts "\e[32m├─[\e[1;37m Type Hash: #{@options.bruteforce.upcase}"
27
+ else
28
+ puts "\e[31m├─[\e[1;37m Type Hash Not Found"
29
+ end
30
+ unless (@options.algo.nil?) or (@options.algo.empty?)
31
+ puts "\e[32m╰─[\e[1;37m Hash: #{@options.algo}\n\n"
32
+ else
33
+ puts "\e[31m╰─[\e[1;37m Hash Not Found"
34
+ end
35
+ end
36
+ def chars()
37
+ # if (@options.range.empty?) or (@options.chars.nil?) or (@param.algo.nil?)
38
+ # abort "\n"
39
+ # end
40
+ if (@hash.include?(@options.bruteforce.upcase))
41
+ if (File.exists?(@options.algo.to_s))
42
+ IO.foreach(@options.algo){|line|
43
+ line.chomp!
44
+ ForzeBrute::chars(line, @options.range, @options.chars, @options.bruteforce, @options.out, @options.verbose)
45
+ }
46
+ else
47
+ if (@hash.include?(@options.bruteforce.upcase))
48
+ ForzeBrute::chars(@options.algo, @options.range, @options.chars, @options.bruteforce, @options.out, @options.verbose)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,4 +1,3 @@
1
- require 'fileutils'
2
1
  require 'sequel'
3
2
  class DataBase
4
3
  $db = Sequel.sqlite
@@ -1,5 +1,3 @@
1
- require 'fileutils'
2
- require 'sequel'
3
1
  require 'cobreak/version'
4
2
  class BaseDato
5
3
  $db = Sequel.sqlite
@@ -0,0 +1 @@
1
+
File without changes
@@ -2,17 +2,17 @@ module CoBreak
2
2
  class List
3
3
  #all list formats and types
4
4
  def initialize(options)
5
- type = Array.new
6
- type << "Base64" << "Base32" << "Base16" << "Ascii85" << "Binary" << "Cesar"
5
+ all = Array.new
6
+ all << "Base64" << "Base32" << "Base16" << "Ascii85" << "Binary" << "Cesar"
7
7
  if (options.list.eql?("type"))
8
8
  puts "\nMode Cipher:"
9
- puts type
9
+ puts all
10
10
  end
11
- format = Array.new
12
- format << "MD4" << "MD5" << "SHA1" << "SHA224" << "SHA256" << "SHA384" << "SHA512" << "RIPEMD160"
11
+ all.clear
12
+ all << "MD4" << "MD5" << "SHA1" << "SHA224" << "SHA256" << "SHA384" << "SHA512" << "RIPEMD160"
13
13
  if (options.list.eql?("format"))
14
14
  puts "\nMode Cryptography:"
15
- puts format
15
+ puts all
16
16
  end
17
17
  end
18
18
  end
@@ -1,31 +1,52 @@
1
- require 'optparse'
2
1
  require 'cobreak/cobreak'
3
2
  require 'cobreak/force_brute'
3
+ require 'cobreak/force_chars'
4
4
  require 'cobreak/version'
5
5
  require 'cobreak/list_all'
6
+ require 'sequel'
7
+ require 'openssl'
6
8
  module CoBreak
7
9
  class ParseOPT
8
10
  def self.optparse(options)
9
11
  begin
10
12
  OptionParser.new do|param|
11
- param.banner = "Usage: CoBreak.rb [--options] [text or file]"
13
+ param.banner = "Usage: cobreak [--mode] [--options] [--input text or file]"
12
14
  param.separator ''
13
15
  param.separator "Mode Cipher:"
14
- param.on('--encoding=[TYPE]', String, 'encoding parameter'){|en_co| options.enc = en_co}
15
- param.on('--decoding=[TYPE]', String, 'decoding parameter'){|de_co| options.dec = de_co}
16
+ param.on('--encoding=[TYPE]', String, 'encoding input text or file'){|en_co| options.enc = en_co}
17
+ param.on('--decoding=[TYPE]', String, 'decoding input text or file'){|de_co| options.dec = de_co}
16
18
  param.separator "Mode Cryptography"
17
19
  param.on('--encrypt=[FORMAT]', String, 'encrypt parameter'){|en_en| options.encrypt = en_en}
18
- param.on('--decrypt=[FORMAT]', String, 'decrypt parameter'){|de_en| options.decrypt = de_en}
19
20
  param.separator "Mode BruteForce"
20
- param.on('--bruteforce=[FORMAT]', String, 'brute force mode to crack a hash'){|modeforce| options.bruteforce = modeforce}
21
+ param.on('--bruteforce=[FORMAT]', String, 'brute force mode to crack a hash'){|modeforce|options.bruteforce = modeforce}
21
22
  param.separator ""
22
23
  param.separator "Options:"
23
24
  param.on('-l', '--list=TYPE or FORMAT', String, 'list cipher types of hash formats'){|lin| options.list = lin}
24
- param.on('-r', '--range MIN MAX', Integer, "word chars length"){|min| options.min = min}
25
- param.on('-c', '--chars CHARACTERS', 'character input to generate word lists'){|chars| options.chars = chars}
25
+ param.on('-r', '--range MIN MAX', Array, "word chars length"){|rang| options.range = rang}
26
+ param.on('-c', '--chars CHARACTERS', String, 'character input to generate word lists'){|chars| options.chars = chars}
26
27
  param.on('-w', '--wordlist=WORDLIST', 'Wordlist mode, read words from FILE or stadin (default: diccionario.txt)'){|wordlist| options.wordlist = wordlist}
28
+ param.on('--show=[FORMAT]', String, 'show decrypted specific hash'){|de_en| options.decrypt = de_en}
27
29
  param.on('-i', '--input FILE or TEXT', String, 'take file or text to carry out the process'){|alg| options.algo = alg}
28
- param.on_tail('-v', '--version', 'show version'){puts "CoBreak version #{CoBreak.version}"; exit}
30
+ param.on('-o', '--output FILe', String, 'output the software'){|out| options.out = out}
31
+ param.on('-v', '--verbose', 'verbose mode'){options.verbose = true}
32
+ param.on('--usage', 'show examples of use of this tool')do
33
+ puts "usage: cobreak [--mode] [--options] [--input] text or file"
34
+ puts ""
35
+ puts "cipher:"
36
+ puts ""
37
+ puts "cobreak --encoding=[TYPE] --input text or file"
38
+ puts "cobreak --decoding=[TYPE] --input text or file"
39
+ puts ""
40
+ puts "note that the cesar cipher mode has to have a number in front to know the rotations"
41
+ puts "examples: --encoding=cesar 5 --input hola"
42
+ puts ""
43
+ puts "bruteforce:"
44
+ puts ""
45
+ puts "cobreak --bruteforce=[FORMAT] --wordlist=[WORDLIST] --input text or file"
46
+ puts "cobreak --bruteforce=[FORMAT] --chars [CHARACTERS] --range MIN MAX --input text or file"
47
+ puts ""
48
+ end
49
+ param.on_tail('-V', '--version', 'show version'){puts "CoBreak version #{CoBreak.version}"; exit}
29
50
  param.on_tail('-h', '--help', 'command to view help parameters'){puts param; exit}
30
51
  param.separator ''
31
52
  end.parse!
@@ -45,15 +66,24 @@ module CoBreak
45
66
  end
46
67
  end
47
68
  CoBreak::Box.var(options)
48
- CoBreak::Box::Cipher.coding()
49
- CoBreak::Box::Cryptgraphy.crypt()
69
+ if !(options.enc.nil?) or !(options.dec.nil?)
70
+ CoBreak::Box::Cipher.coding()
71
+ end
72
+ if !(options.encrypt.nil?) or !(options.decrypt.nil?)
73
+ CoBreak::Box::Cryptgraphy.crypt()
74
+ end
50
75
  CoBreak::List.new(options)
51
76
  unless (options.wordlist.nil?) or (options.wordlist.empty?)
52
77
  bruteforce = CoBreak::BruteForze.new(options)
53
78
  bruteforce.banner_wordlist()
54
79
  bruteforce.wordlist
55
80
  end
81
+ unless (options.chars.nil?) or (options.chars.empty?)
82
+ options.range << ARGV[0].to_i
83
+ brutechars = CoBreak::BruteChars.new(options)
84
+ brutechars.banner_chars()
85
+ brutechars.chars()
86
+ end
56
87
  end
57
88
  end
58
89
  end
59
-
data/lib/cobreak/run.rb CHANGED
File without changes
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -1,5 +1,5 @@
1
1
  module CoBreak
2
2
  def self.version()
3
- return '0.0.6'
3
+ return '1.0.2'
4
4
  end
5
5
  end
data/outputs.txt ADDED
@@ -0,0 +1,17 @@
1
+ ==================================================
2
+ software: CoBreak 1.0.2
3
+ Type Hash: md5
4
+ aaaaaaaaaa
5
+ :a73c45107081c08dd4560206b8ef8205
6
+ ==================================================
7
+ ==================================================
8
+ software: CoBreak 1.0.2
9
+ Type Hash: md5
10
+ aaaaaaaaaa
11
+ :e09c80c42fda55f9d992e59ca6b3307d
12
+ ==================================================
13
+ ==================================================
14
+ software: CoBreak 1.0.2
15
+ Type Hash: md5
16
+ aaaaaaaaaa:a73c45107081c08dd4560206b8ef8205
17
+ ==================================================
data/prueba.txt ADDED
@@ -0,0 +1,4 @@
1
+ ==================================================
2
+ software: CoBreak 1.0.2
3
+ Type Hash: md5
4
+ ==================================================
metadata CHANGED
@@ -1,51 +1,199 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cobreak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - BreakerBox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-30 00:00:00.000000000 Z
11
+ date: 2021-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: Digest
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: openssl
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.2.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.2.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: sequel
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ">="
45
+ - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '0'
47
+ version: 5.44.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 5.44.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: sqlite3
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.4.2
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.4.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: sequel
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 5.45.0
38
76
  - - ">="
39
77
  - !ruby/object:Gem::Version
40
- version: '0'
78
+ version: 2.0.0
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: 5.45.0
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 2.0.0
41
89
  - !ruby/object:Gem::Dependency
42
90
  name: sqlite3
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 1.4.2
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.4.0
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 1.4.2
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 1.4.0
109
+ - !ruby/object:Gem::Dependency
110
+ name: base16
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: 0.0.2
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: 0.0.1
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: 0.0.2
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: 0.0.1
129
+ - !ruby/object:Gem::Dependency
130
+ name: base32
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: 0.3.4
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.3.0
139
+ type: :runtime
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.3.4
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: 0.3.0
149
+ - !ruby/object:Gem::Dependency
150
+ name: base64
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: 0.1.0
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 0.0.1
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: 0.1.0
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 0.0.1
169
+ - !ruby/object:Gem::Dependency
170
+ name: Ascii85
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: 1.1.0
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 1.0.0
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: 1.1.0
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: 1.0.0
189
+ - !ruby/object:Gem::Dependency
190
+ name: ruby_figlet
43
191
  requirement: !ruby/object:Gem::Requirement
44
192
  requirements:
45
193
  - - ">="
46
194
  - !ruby/object:Gem::Version
47
195
  version: '0'
48
- type: :development
196
+ type: :runtime
49
197
  prerelease: false
50
198
  version_requirements: !ruby/object:Gem::Requirement
51
199
  requirements:
@@ -56,25 +204,31 @@ description: The CoBreak script is an cipher and cryptography tool
56
204
  email: breakerhtb@gmail.com
57
205
  executables:
58
206
  - cobreak
207
+ - cbrdb
59
208
  extensions: []
60
209
  extra_rdoc_files: []
61
210
  files:
62
211
  - Gemfile
63
- - LICENSE
64
212
  - README.md
213
+ - bin/cbrdb
65
214
  - bin/cobreak
66
215
  - cobreak.gemspec
67
216
  - diccionario.txt
217
+ - hash.txt
218
+ - hola.txt
68
219
  - lib/cobreak.rb
69
- - lib/cobreak/Cesar.rb
220
+ - lib/cobreak/binary.rb
221
+ - lib/cobreak/cesar.rb
70
222
  - lib/cobreak/cifrado.rb
71
223
  - lib/cobreak/cobreak.rb
224
+ - lib/cobreak/config/database.db
72
225
  - lib/cobreak/decifrado.rb
73
226
  - lib/cobreak/decrypt.rb
74
227
  - lib/cobreak/details.rb
75
228
  - lib/cobreak/encrypt.rb
76
229
  - lib/cobreak/force.rb
77
230
  - lib/cobreak/force_brute.rb
231
+ - lib/cobreak/force_chars.rb
78
232
  - lib/cobreak/function_db.rb
79
233
  - lib/cobreak/function_hash.rb
80
234
  - lib/cobreak/hash/hash.db
@@ -91,11 +245,12 @@ files:
91
245
  - lib/cobreak/show/sha384.db
92
246
  - lib/cobreak/show/sha512.db
93
247
  - lib/cobreak/version.rb
94
- homepage: https://rubygeminfo.org/breakerbox/cobreak
248
+ - outputs.txt
249
+ - prueba.txt
250
+ homepage: https://github.com/BreakerBox/CoBreak
95
251
  licenses:
96
252
  - MIT
97
- metadata:
98
- source_code_uri: https://github.com/BreakerBox/CoBreak
253
+ metadata: {}
99
254
  post_install_message: thanks for installing my gem
100
255
  rdoc_options: []
101
256
  require_paths:
@@ -111,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
266
  - !ruby/object:Gem::Version
112
267
  version: '0'
113
268
  requirements: []
114
- rubygems_version: 3.2.15
269
+ rubygems_version: 3.2.5
115
270
  signing_key:
116
271
  specification_version: 4
117
272
  summary: Force Brute, Cipher, Cryptography