ctf-party 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/bin/ctf_party_console +0 -0
  3. data/lib/ctf_party.rb +1 -0
  4. data/lib/ctf_party/base64.rb +2 -10
  5. data/lib/ctf_party/digest.rb +12 -10
  6. data/lib/ctf_party/flag.rb +1 -1
  7. data/lib/ctf_party/hex.rb +134 -0
  8. data/lib/ctf_party/rot.rb +2 -2
  9. data/lib/ctf_party/version.rb +1 -1
  10. metadata +17 -63
  11. data/.rubocop.yml +0 -29
  12. data/.yardopts +0 -4
  13. data/.yardopts-dev +0 -6
  14. data/Gemfile +0 -6
  15. data/Gemfile.lock +0 -52
  16. data/README.md +0 -57
  17. data/Rakefile +0 -11
  18. data/bin/ctf_party_setup +0 -6
  19. data/docs/.nojekyll +0 -0
  20. data/docs/About.md +0 -5
  21. data/docs/CHANGELOG.md +0 -5
  22. data/docs/README.md +0 -52
  23. data/docs/_coverpage.md +0 -10
  24. data/docs/_media/logo.png +0 -0
  25. data/docs/_navbar.md +0 -3
  26. data/docs/_sidebar.md +0 -13
  27. data/docs/index.html +0 -31
  28. data/docs/pages/documentation.md +0 -30
  29. data/docs/pages/install.md +0 -84
  30. data/docs/pages/publishing.md +0 -39
  31. data/docs/pages/quick-start.md +0 -23
  32. data/docs/pages/usage.md +0 -61
  33. data/docs/vendor/docsify.js +0 -1
  34. data/docs/vendor/plugins/emoji.min.js +0 -1
  35. data/docs/vendor/plugins/search.min.js +0 -1
  36. data/docs/vendor/prismjs/components/prism-ruby.min.js +0 -1
  37. data/docs/vendor/themes/vue.css +0 -1
  38. data/docs/yard/String.html +0 -2909
  39. data/docs/yard/Version.html +0 -121
  40. data/docs/yard/_index.html +0 -123
  41. data/docs/yard/class_list.html +0 -51
  42. data/docs/yard/css/common.css +0 -1
  43. data/docs/yard/css/full_list.css +0 -58
  44. data/docs/yard/css/style.css +0 -496
  45. data/docs/yard/file.LICENSE.html +0 -70
  46. data/docs/yard/file.README.html +0 -124
  47. data/docs/yard/file_list.html +0 -61
  48. data/docs/yard/frames.html +0 -17
  49. data/docs/yard/index.html +0 -124
  50. data/docs/yard/js/app.js +0 -303
  51. data/docs/yard/js/full_list.js +0 -216
  52. data/docs/yard/js/jquery.js +0 -4
  53. data/docs/yard/method_list.html +0 -275
  54. data/docs/yard/top-level-namespace.html +0 -112
  55. data/test/test_string.rb +0 -134
@@ -1,112 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Top Level Namespace
8
-
9
- &mdash; Documentation by YARD 0.9.20
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "";
19
- relpath = '';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="_index.html">Index</a> &raquo;
40
-
41
-
42
- <span class="title">Top Level Namespace</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Top Level Namespace
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- </div>
80
-
81
- <h2>Defined Under Namespace</h2>
82
- <p class="children">
83
-
84
-
85
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="Version.html" title="Version (module)">Version</a></span>
86
-
87
-
88
-
89
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="String.html" title="String (class)">String</a></span>
90
-
91
-
92
- </p>
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
- </div>
103
-
104
- <div id="footer">
105
- Generated on Wed Nov 20 19:33:26 2019 by
106
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
- 0.9.20 (ruby-2.6.2).
108
- </div>
109
-
110
- </div>
111
- </body>
112
- </html>
@@ -1,134 +0,0 @@
1
- # frozen_string_literal: false
2
-
3
- require 'minitest/autorun'
4
- require 'ctf_party'
5
-
6
- class CTFPartyTest < Minitest::Test
7
- # base64 tests currently doesn't check options
8
- def test_base64_to_b64
9
- assert_equal('U3VwZXIgbGliIQ==', 'Super lib!'.to_b64)
10
- end
11
-
12
- def test_base64_to_b64!
13
- my_str = 'Ruby'
14
- my_str.to_b64!
15
- assert_equal('UnVieQ==', my_str)
16
- end
17
-
18
- def test_base64_from_b64
19
- assert_equal('Ruby', 'UnVieQ=='.from_b64)
20
- end
21
-
22
- def test_base64_from_b64!
23
- a = 'SGVsbG8gd29ybGQh'
24
- a.from_b64!
25
- assert_equal('Hello world!', a)
26
- end
27
-
28
- def test_base64_b64?
29
- assert('SGVsbG8gd29ybGQh'.b64?)
30
- refute('SGVsbG8g@@d29ybGQh'.b64?)
31
- end
32
-
33
- def test_digest_md5
34
- assert_equal('556cc23863fef20fab5c456db166bc6e', 'noraj'.md5)
35
- end
36
-
37
- def test_digest_md5!
38
- a = '\o/'
39
- a.md5!
40
- assert_equal('881419964e480e66162da521ccc25ebf', a)
41
- end
42
-
43
- def test_digest_sha1
44
- assert_equal('5a64f3bc491d0977e1e3578a48c65a89a16a5fe8', 'ctf-party'.sha1)
45
- end
46
-
47
- def test_digest_sha1!
48
- bob = 'alice'
49
- bob.sha1!
50
- assert_equal('522b276a356bdf39013dfabea2cd43e141ecc9e8', bob)
51
- end
52
-
53
- def test_digest_sha2
54
- assert_equal('5321ff2d4b1389b3a350dfe8ca77e3889dc6259bb233adfd069f0f6c474ba128', 'try harder'.sha2)
55
- end
56
-
57
- def test_digest_sha2!
58
- th = 'try harder'
59
- th.sha2!(bitlen: 384)
60
- assert_equal('bb7f60b9562a19c3a83c23791440af11591c42ede9988334cdfd7efa4261a3d493d594d08aae5c3b63c7680297ea8f16', th)
61
- end
62
-
63
- def test_digest_sha2_256
64
- assert_equal(''.sha2, ''.sha2_256)
65
- end
66
-
67
- def test_digest_sha2_256!
68
- # skip
69
- end
70
-
71
- def test_digest_sha2_384
72
- assert_equal(''.sha2(bitlen: 384), ''.sha2_384)
73
- end
74
-
75
- def test_digest_sha2_384!
76
- # skip
77
- end
78
-
79
- def test_digest_sha2_512
80
- assert_equal(''.sha2(bitlen: 512), ''.sha2_512)
81
- end
82
-
83
- def test_digest_sha2_512!
84
- # skip
85
- end
86
-
87
- def test_digest_rmd160
88
- assert_equal('3c6255c112d409dafdb84d5b0edba98dfd27b44f', 'payload'.rmd160)
89
- end
90
-
91
- def test_digest_rmd160!
92
- pl = 'payload'
93
- pl.rmd160!
94
- assert_equal('3c6255c112d409dafdb84d5b0edba98dfd27b44f', pl)
95
- end
96
-
97
- def test_flag_flag
98
- hash = { prefix: 'sigsegv', suffix: '', enclosing: ['{', '}'], digest: 'md5' }
99
- String.flag = hash
100
- assert_equal(hash, String.flag)
101
- assert_equal('sigsegv{a5bec9e2a86b6b70d288451eb38dfec8}', 'this_1s_a_fl4g'.flag)
102
- end
103
-
104
- def test_flag_flag?
105
- String.flag = { prefix: 'flag', suffix: '', enclosing: ['{', '}'], digest: nil }
106
- flag = 'Brav0!'
107
- flag.flag!
108
- assert_equal('flag{Brav0!}', flag)
109
- assert(flag.flag?)
110
- flag = 'ctf{Brav0!}'
111
- refute(flag.flag?)
112
- end
113
-
114
- def test_rot_rot
115
- assert_equal('Uryyb jbeyq!', 'Hello world!'.rot)
116
- assert_equal('Spwwz hzcwo!', 'Hello world!'.rot(shift: 11))
117
- assert_equal('Hello world!', 'Uryyb jbeyq!'.rot)
118
- assert_equal('Hello world!', 'Spwwz hzcwo!'.rot(shift: 26 - 11))
119
- end
120
-
121
- def test_rot_rot!
122
- a = 'Bonjour le monde !'
123
- a.rot!
124
- assert_equal('Obawbhe yr zbaqr !', a)
125
- end
126
-
127
- def test_rot_rot13
128
- assert_equal('Ab'.rot, 'Ab'.rot13)
129
- end
130
-
131
- def test_rot_rot13!
132
- # skip
133
- end
134
- end