fuzzer 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NGQzMDJhMzE2ZjYzODhhYmIxNDA3N2EwNDE0Zjg5ZjIxYWYzYWJmZg==
5
+ data.tar.gz: !binary |-
6
+ ZWZkN2I0ODYyY2Y5YjJlNTJlNWI2NGE2NDkyMGJmYmY4Yjg5ZjBkNQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZTE4MGQ4NTY5YzQxNjZhYjA4MGNlYTlhMTJiNmI0ZTAyY2Q1OWM4MzlhMzI0
10
+ ZWU3OWJhZTEyNDM0ZTg2ODUzZDJjZGJiYzEzNzllYjhjZjA2ZTdkYWE4OGM3
11
+ MDRjOWE2YjExMjVjZjFlYzNhM2VlNWEwNDAwYzI1MzlmMWNjN2E=
12
+ data.tar.gz: !binary |-
13
+ YzY0OWFkYzQ3MmExYmU3ZjczMDc4MzQ0ZWU0NzkzMjUyOTRlN2QxMjdlMDVi
14
+ NDRmOGJmMDBjMTgzMGM0YjhlMDEyZjIyMjVhMGRjODU5MGMwNTVmNDdhZDA2
15
+ MjRjNjE2MWM4MDcxMmZhM2FhZWE0NmY0MWNkMDEzOWY4ODAzMGM=
data/bin/fuzzer CHANGED
@@ -1,5 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'fuzzer'
3
+ path = File.expand_path(__FILE__) + "/../.."
4
+ require "#{path}/lib/fuzzer"
5
+ require "#{path}/lib/fuzzer/version"
6
+ require "#{path}/lib/fuzzer/gzip"
7
+ require "#{path}/lib/fuzzer/cli"
4
8
 
5
9
  Fuzzer::CLI.start(ARGV)
data/lib/fuzzer/cli.rb CHANGED
@@ -1,10 +1,13 @@
1
+ require 'open-uri'
2
+ require 'yaml'
3
+
1
4
  module Fuzzer
2
5
 
3
6
  class CLI
4
7
  def self.start(argv)
5
8
  url = argv.shift
6
9
 
7
- data = YAML::load(File.read("config.yml"));
10
+ data = YAML::load_file("config.yml");
8
11
  if data['secret_access_key'].nil? || data['access_key_id'].nil?
9
12
  puts "In this directory, create a config.yml file with the Amazon secret_access_key: <value> and access_key_id: <value>"
10
13
  exit(1)
@@ -19,8 +22,8 @@ class CLI
19
22
  end
20
23
 
21
24
  begin
22
- file_name = CLI.download(url)
23
- short_name = CLI.gunzip(file_name)
25
+ file_name = download(url)
26
+ short_name = gunzip(file_name)
24
27
 
25
28
  # manipulate it
26
29
  puts "We can corrupt this database two ways:"
@@ -32,12 +35,13 @@ class CLI
32
35
  input = gets.chomp
33
36
  end while (input != "e" && input != "s")
34
37
 
38
+ puts "Working on it..."
35
39
  db = SQLite3::Database.new(short_name)
36
- CLI.fuzz_content(db)
37
- CLI.fuzz_integrity(db) if input == "s"
40
+ fuzz_content(db)
41
+ fuzz_integrity(db) if input == "s"
38
42
 
39
43
  # Query as to what should be broken?
40
- final_name = CLI.gzip(short_name)
44
+ final_name = gzip(short_name)
41
45
  upload(data, final_name)
42
46
  rescue Exception => e
43
47
  puts "Well, that didn't end well: #{e.message}"
@@ -87,7 +91,7 @@ class CLI
87
91
  short_name = file_name.gsub('.gz','')
88
92
  File.open(short_name, "w+") do |file|
89
93
  gunk = File.open(file_name, "rb")
90
- file.write( Zumobi::GzipReader.un_gzip(gunk.read))
94
+ file.write( Fuzzer::Gzip.ungzip(gunk.read))
91
95
  end
92
96
  FileUtils.rm(file_name)
93
97
  puts "Gunzipped the db: #{file_name}"
@@ -98,7 +102,7 @@ class CLI
98
102
  new_name = file_name.gsub(".db", ".#{Time.now.to_i.to_s}.db.gz")
99
103
  File.open(new_name, "w+") do |file|
100
104
  gunk = File.open(file_name, "rb")
101
- file.write( Zumobi::GzipWriter.gzip(gunk.read))
105
+ file.write( Fuzzer::Gzip.gzip(gunk.read))
102
106
  end
103
107
  FileUtils.rm(file_name)
104
108
  puts "Gzipped the db: #{new_name}"
@@ -0,0 +1,20 @@
1
+ module Fuzzer
2
+ class Gzip
3
+ def self.ungzip(string)
4
+ strio = StringIO.open(string, 'r')
5
+ gz = Zlib::GzipReader.new(strio)
6
+ unzipped = gz.read
7
+ gz.close
8
+ unzipped
9
+ end
10
+
11
+ def self.gzip(string)
12
+ #http://devblog.famundo.com/articles/2007/03/02/serving-compressed-content-from-amazons-s3
13
+ strio = StringIO.open('', 'w')
14
+ gz = Zlib::GzipWriter.new(strio)
15
+ gz.write(string)
16
+ gz.close
17
+ strio.string
18
+ end
19
+ end
20
+ end
@@ -1,3 +1,3 @@
1
1
  module Fuzzer
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/fuzzer.rb CHANGED
@@ -1,10 +1,6 @@
1
1
  module Fuzzer
2
2
  end
3
3
 
4
- require 'open-uri'
5
4
  require 'right_aws'
6
5
  require 'sqlite3'
7
- require 'yaml'
8
- require 'zumobi'
9
- require 'fuzzer/version'
10
- require 'fuzzer/cli'
6
+ require 'zlib'
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fuzzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alx Dark
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-29 00:00:00.000000000 Z
11
+ date: 2013-07-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: right_aws
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,23 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: zumobi
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
23
  requirements:
43
24
  - - ! '>='
44
25
  - !ruby/object:Gem::Version
@@ -46,7 +27,6 @@ dependencies:
46
27
  - !ruby/object:Gem::Dependency
47
28
  name: sqlite3
48
29
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
30
  requirements:
51
31
  - - ! '>='
52
32
  - !ruby/object:Gem::Version
@@ -54,7 +34,6 @@ dependencies:
54
34
  type: :runtime
55
35
  prerelease: false
56
36
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
37
  requirements:
59
38
  - - ! '>='
60
39
  - !ruby/object:Gem::Version
@@ -67,33 +46,31 @@ extensions: []
67
46
  extra_rdoc_files: []
68
47
  files:
69
48
  - lib/fuzzer/cli.rb
49
+ - lib/fuzzer/gzip.rb
70
50
  - lib/fuzzer/version.rb
71
51
  - lib/fuzzer.rb
72
- - test/test_fuzzer.rb
73
52
  - bin/fuzzer
74
53
  homepage: ''
75
54
  licenses: []
55
+ metadata: {}
76
56
  post_install_message:
77
57
  rdoc_options: []
78
58
  require_paths:
79
59
  - lib
80
60
  required_ruby_version: !ruby/object:Gem::Requirement
81
- none: false
82
61
  requirements:
83
62
  - - ! '>='
84
63
  - !ruby/object:Gem::Version
85
64
  version: '0'
86
65
  required_rubygems_version: !ruby/object:Gem::Requirement
87
- none: false
88
66
  requirements:
89
67
  - - ! '>='
90
68
  - !ruby/object:Gem::Version
91
69
  version: '0'
92
70
  requirements: []
93
71
  rubyforge_project:
94
- rubygems_version: 1.8.23
72
+ rubygems_version: 2.0.6
95
73
  signing_key:
96
- specification_version: 3
74
+ specification_version: 4
97
75
  summary: Fuzzes client sqlite dbs.
98
- test_files:
99
- - test/test_fuzzer.rb
76
+ test_files: []
data/test/test_fuzzer.rb DELETED
@@ -1,9 +0,0 @@
1
- require 'test/unit'
2
- require 'rubygems' # Tests don't run without this, in 1.8.7 at least.
3
- require 'fuzzer'
4
-
5
- class FuzzerTest < Test::Unit::TestCase
6
- def test_output
7
- # assert_equal "This is my task".colorize(:color => :green), Fuzzer.new.generate()
8
- end
9
- end