ronin-support 1.0.0.beta2 → 1.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/.yardopts +1 -1
  4. data/ChangeLog.md +5 -3
  5. data/Gemfile +2 -2
  6. data/README.md +139 -69
  7. data/gemspec.yml +3 -2
  8. data/lib/ronin/support/archive/core_ext/file.rb +1 -1
  9. data/lib/ronin/support/archive/core_ext.rb +1 -1
  10. data/lib/ronin/support/archive/mixin.rb +1 -1
  11. data/lib/ronin/support/archive/tar/reader.rb +1 -1
  12. data/lib/ronin/support/archive/tar/writer.rb +1 -1
  13. data/lib/ronin/support/archive/tar.rb +1 -1
  14. data/lib/ronin/support/archive/zip/reader/entry.rb +1 -1
  15. data/lib/ronin/support/archive/zip/reader/statistics.rb +1 -1
  16. data/lib/ronin/support/archive/zip/reader.rb +1 -1
  17. data/lib/ronin/support/archive/zip/writer.rb +1 -1
  18. data/lib/ronin/support/archive/zip.rb +1 -1
  19. data/lib/ronin/support/archive.rb +10 -1
  20. data/lib/ronin/support/binary/array.rb +1 -1
  21. data/lib/ronin/support/binary/bit_flip/core_ext/integer.rb +79 -0
  22. data/lib/ronin/support/binary/bit_flip/core_ext/string.rb +61 -0
  23. data/lib/ronin/support/binary/{hexdump.rb → bit_flip/core_ext.rb} +3 -3
  24. data/lib/ronin/support/binary/bit_flip.rb +18 -1
  25. data/lib/ronin/support/binary/buffer.rb +1 -1
  26. data/lib/ronin/support/binary/byte_slice.rb +1 -1
  27. data/lib/ronin/support/binary/core_ext/array.rb +1 -1
  28. data/lib/ronin/support/binary/core_ext/float.rb +1 -1
  29. data/lib/ronin/support/binary/core_ext/integer.rb +1 -58
  30. data/lib/ronin/support/binary/core_ext/io.rb +1 -1
  31. data/lib/ronin/support/binary/core_ext/string.rb +1 -40
  32. data/lib/ronin/support/binary/core_ext.rb +3 -1
  33. data/lib/ronin/support/binary/cstring.rb +1 -1
  34. data/lib/ronin/support/binary/ctypes/aggregate_type.rb +1 -1
  35. data/lib/ronin/support/binary/ctypes/arch/arm/big_endian.rb +1 -1
  36. data/lib/ronin/support/binary/ctypes/arch/arm.rb +1 -1
  37. data/lib/ronin/support/binary/ctypes/arch/arm64/big_endian.rb +1 -1
  38. data/lib/ronin/support/binary/ctypes/arch/arm64.rb +1 -1
  39. data/lib/ronin/support/binary/ctypes/arch/mips/little_endian.rb +1 -1
  40. data/lib/ronin/support/binary/ctypes/arch/mips.rb +1 -1
  41. data/lib/ronin/support/binary/ctypes/arch/mips64/little_endian.rb +1 -1
  42. data/lib/ronin/support/binary/ctypes/arch/mips64.rb +1 -1
  43. data/lib/ronin/support/binary/ctypes/arch/ppc.rb +1 -1
  44. data/lib/ronin/support/binary/ctypes/arch/ppc64.rb +1 -1
  45. data/lib/ronin/support/binary/ctypes/arch/x86.rb +1 -1
  46. data/lib/ronin/support/binary/ctypes/arch/x86_64.rb +1 -1
  47. data/lib/ronin/support/binary/ctypes/arch.rb +1 -1
  48. data/lib/ronin/support/binary/ctypes/array_object_type.rb +1 -1
  49. data/lib/ronin/support/binary/ctypes/array_type.rb +1 -1
  50. data/lib/ronin/support/binary/ctypes/big_endian.rb +1 -1
  51. data/lib/ronin/support/binary/ctypes/char_type.rb +1 -1
  52. data/lib/ronin/support/binary/ctypes/char_types.rb +1 -1
  53. data/lib/ronin/support/binary/ctypes/enum_type.rb +1 -1
  54. data/lib/ronin/support/binary/ctypes/float32_type.rb +1 -1
  55. data/lib/ronin/support/binary/ctypes/float64_type.rb +1 -1
  56. data/lib/ronin/support/binary/ctypes/float_type.rb +1 -1
  57. data/lib/ronin/support/binary/ctypes/int16_type.rb +1 -1
  58. data/lib/ronin/support/binary/ctypes/int32_type.rb +1 -1
  59. data/lib/ronin/support/binary/ctypes/int64_type.rb +1 -1
  60. data/lib/ronin/support/binary/ctypes/int8_type.rb +1 -1
  61. data/lib/ronin/support/binary/ctypes/int_type.rb +1 -1
  62. data/lib/ronin/support/binary/ctypes/little_endian.rb +1 -1
  63. data/lib/ronin/support/binary/ctypes/mixin.rb +1 -1
  64. data/lib/ronin/support/binary/ctypes/native.rb +1 -1
  65. data/lib/ronin/support/binary/ctypes/network.rb +1 -1
  66. data/lib/ronin/support/binary/ctypes/object_type.rb +1 -1
  67. data/lib/ronin/support/binary/ctypes/os/bsd.rb +1 -1
  68. data/lib/ronin/support/binary/ctypes/os/freebsd.rb +1 -1
  69. data/lib/ronin/support/binary/ctypes/os/linux.rb +1 -1
  70. data/lib/ronin/support/binary/ctypes/os/macos.rb +1 -1
  71. data/lib/ronin/support/binary/ctypes/os/netbsd.rb +1 -1
  72. data/lib/ronin/support/binary/ctypes/os/openbsd.rb +1 -1
  73. data/lib/ronin/support/binary/ctypes/os/unix.rb +1 -1
  74. data/lib/ronin/support/binary/ctypes/os/windows.rb +1 -1
  75. data/lib/ronin/support/binary/ctypes/os.rb +1 -1
  76. data/lib/ronin/support/binary/ctypes/scalar_type.rb +1 -1
  77. data/lib/ronin/support/binary/ctypes/string_type.rb +1 -1
  78. data/lib/ronin/support/binary/ctypes/struct_object_type.rb +1 -1
  79. data/lib/ronin/support/binary/ctypes/struct_type.rb +1 -1
  80. data/lib/ronin/support/binary/ctypes/type.rb +1 -1
  81. data/lib/ronin/support/binary/ctypes/type_resolver.rb +1 -1
  82. data/lib/ronin/support/binary/ctypes/uint16_type.rb +1 -1
  83. data/lib/ronin/support/binary/ctypes/uint32_type.rb +1 -1
  84. data/lib/ronin/support/binary/ctypes/uint64_type.rb +1 -1
  85. data/lib/ronin/support/binary/ctypes/uint8_type.rb +1 -1
  86. data/lib/ronin/support/binary/ctypes/uint_type.rb +1 -1
  87. data/lib/ronin/support/binary/ctypes/unbounded_array_type.rb +1 -1
  88. data/lib/ronin/support/binary/ctypes/union_object_type.rb +1 -1
  89. data/lib/ronin/support/binary/ctypes/union_type.rb +1 -1
  90. data/lib/ronin/support/binary/ctypes.rb +1 -1
  91. data/lib/ronin/support/binary/memory.rb +1 -1
  92. data/lib/ronin/support/binary/packet.rb +1 -1
  93. data/lib/ronin/support/binary/stack.rb +1 -1
  94. data/lib/ronin/support/binary/stream/methods.rb +1 -1
  95. data/lib/ronin/support/binary/stream.rb +1 -1
  96. data/lib/ronin/support/binary/struct/member.rb +1 -1
  97. data/lib/ronin/support/binary/struct.rb +1 -1
  98. data/lib/ronin/support/binary/template.rb +1 -1
  99. data/lib/ronin/support/binary/{hexdump → unhexdump}/core_ext/file.rb +16 -4
  100. data/lib/ronin/support/binary/{hexdump → unhexdump}/core_ext/string.rb +16 -4
  101. data/lib/ronin/support/binary/{hexdump → unhexdump}/core_ext.rb +3 -3
  102. data/lib/ronin/support/binary/{hexdump → unhexdump}/parser.rb +2 -2
  103. data/lib/ronin/support/binary/unhexdump.rb +37 -0
  104. data/lib/ronin/support/binary/union.rb +1 -1
  105. data/lib/ronin/support/binary.rb +28 -2
  106. data/lib/ronin/support/cli/ansi.rb +1 -1
  107. data/lib/ronin/support/cli/io_shell/core_ext/io.rb +1 -1
  108. data/lib/ronin/support/cli/io_shell/core_ext.rb +1 -1
  109. data/lib/ronin/support/cli/io_shell.rb +1 -1
  110. data/lib/ronin/support/cli/printing.rb +1 -1
  111. data/lib/ronin/support/cli.rb +1 -1
  112. data/lib/ronin/support/compression/core_ext/file.rb +1 -1
  113. data/lib/ronin/support/compression/core_ext/string.rb +1 -1
  114. data/lib/ronin/support/compression/core_ext.rb +1 -1
  115. data/lib/ronin/support/compression/gzip/reader.rb +2 -2
  116. data/lib/ronin/support/compression/gzip/writer.rb +2 -2
  117. data/lib/ronin/support/compression/gzip.rb +1 -1
  118. data/lib/ronin/support/compression/mixin.rb +1 -1
  119. data/lib/ronin/support/compression/zlib.rb +56 -1
  120. data/lib/ronin/support/compression.rb +14 -3
  121. data/lib/ronin/support/core_ext/enumerable.rb +1 -1
  122. data/lib/ronin/support/core_ext/file.rb +1 -1
  123. data/lib/ronin/support/core_ext/integer.rb +1 -1
  124. data/lib/ronin/support/core_ext/ipaddr.rb +1 -1
  125. data/lib/ronin/support/core_ext/kernel.rb +1 -1
  126. data/lib/ronin/support/core_ext/string.rb +1 -1
  127. data/lib/ronin/support/core_ext.rb +1 -2
  128. data/lib/ronin/support/crypto/cert.rb +1 -1
  129. data/lib/ronin/support/crypto/cert_chain.rb +1 -1
  130. data/lib/ronin/support/crypto/cipher/aes.rb +1 -1
  131. data/lib/ronin/support/crypto/cipher/aes128.rb +1 -1
  132. data/lib/ronin/support/crypto/cipher/aes256.rb +1 -1
  133. data/lib/ronin/support/crypto/cipher.rb +1 -1
  134. data/lib/ronin/support/crypto/core_ext/file.rb +1 -1
  135. data/lib/ronin/support/crypto/core_ext/string.rb +1 -1
  136. data/lib/ronin/support/crypto/core_ext.rb +1 -1
  137. data/lib/ronin/support/crypto/hmac.rb +1 -1
  138. data/lib/ronin/support/crypto/key/dh.rb +1 -1
  139. data/lib/ronin/support/crypto/key/dsa.rb +1 -1
  140. data/lib/ronin/support/crypto/key/ec.rb +1 -1
  141. data/lib/ronin/support/crypto/key/methods.rb +1 -1
  142. data/lib/ronin/support/crypto/key/rsa.rb +1 -1
  143. data/lib/ronin/support/crypto/key.rb +1 -1
  144. data/lib/ronin/support/crypto/mixin.rb +1 -1
  145. data/lib/ronin/support/crypto/openssl.rb +1 -1
  146. data/lib/ronin/support/crypto.rb +41 -1
  147. data/lib/ronin/support/encoding/base16/core_ext/string.rb +1 -1
  148. data/lib/ronin/support/encoding/base16/core_ext.rb +1 -1
  149. data/lib/ronin/support/encoding/base16.rb +6 -1
  150. data/lib/ronin/support/encoding/base32/core_ext/string.rb +1 -1
  151. data/lib/ronin/support/encoding/base32/core_ext.rb +1 -1
  152. data/lib/ronin/support/encoding/base32.rb +8 -3
  153. data/lib/ronin/support/encoding/base64/core_ext/string.rb +1 -1
  154. data/lib/ronin/support/encoding/base64/core_ext.rb +1 -1
  155. data/lib/ronin/support/encoding/base64.rb +9 -2
  156. data/lib/ronin/support/encoding/c/core_ext/integer.rb +1 -1
  157. data/lib/ronin/support/encoding/c/core_ext/string.rb +1 -1
  158. data/lib/ronin/support/encoding/c/core_ext.rb +1 -1
  159. data/lib/ronin/support/encoding/c.rb +11 -1
  160. data/lib/ronin/support/encoding/core_ext/string.rb +1 -1
  161. data/lib/ronin/support/encoding/core_ext.rb +1 -1
  162. data/lib/ronin/support/encoding/hex/core_ext/integer.rb +1 -1
  163. data/lib/ronin/support/encoding/hex/core_ext/string.rb +1 -1
  164. data/lib/ronin/support/encoding/hex/core_ext.rb +1 -1
  165. data/lib/ronin/support/encoding/hex.rb +13 -1
  166. data/lib/ronin/support/encoding/html/core_ext/integer.rb +1 -1
  167. data/lib/ronin/support/encoding/html/core_ext/string.rb +1 -1
  168. data/lib/ronin/support/encoding/html/core_ext.rb +1 -1
  169. data/lib/ronin/support/encoding/html.rb +10 -1
  170. data/lib/ronin/support/encoding/http/core_ext/integer.rb +1 -1
  171. data/lib/ronin/support/encoding/http/core_ext/string.rb +1 -1
  172. data/lib/ronin/support/encoding/http/core_ext.rb +1 -1
  173. data/lib/ronin/support/encoding/http.rb +10 -1
  174. data/lib/ronin/support/encoding/js/core_ext/integer.rb +1 -1
  175. data/lib/ronin/support/encoding/js/core_ext/string.rb +1 -1
  176. data/lib/ronin/support/encoding/js/core_ext.rb +1 -1
  177. data/lib/ronin/support/encoding/js.rb +12 -1
  178. data/lib/ronin/support/encoding/powershell/core_ext/integer.rb +1 -1
  179. data/lib/ronin/support/encoding/powershell/core_ext/string.rb +1 -1
  180. data/lib/ronin/support/encoding/powershell/core_ext.rb +1 -1
  181. data/lib/ronin/support/encoding/powershell.rb +12 -1
  182. data/lib/ronin/support/encoding/punycode/core_ext/string.rb +1 -1
  183. data/lib/ronin/support/encoding/punycode/core_ext.rb +1 -1
  184. data/lib/ronin/support/encoding/punycode.rb +6 -1
  185. data/lib/ronin/support/encoding/quoted_printable/core_ext/string.rb +1 -1
  186. data/lib/ronin/support/encoding/quoted_printable/core_ext.rb +1 -1
  187. data/lib/ronin/support/encoding/quoted_printable.rb +6 -1
  188. data/lib/ronin/support/encoding/ruby/core_ext/string.rb +1 -1
  189. data/lib/ronin/support/encoding/ruby/core_ext.rb +1 -1
  190. data/lib/ronin/support/encoding/ruby.rb +10 -1
  191. data/lib/ronin/support/encoding/shell/core_ext/integer.rb +1 -1
  192. data/lib/ronin/support/encoding/shell/core_ext/string.rb +1 -1
  193. data/lib/ronin/support/encoding/shell/core_ext.rb +1 -1
  194. data/lib/ronin/support/encoding/shell.rb +12 -1
  195. data/lib/ronin/support/encoding/smtp.rb +1 -1
  196. data/lib/ronin/support/encoding/sql/core_ext/string.rb +1 -1
  197. data/lib/ronin/support/encoding/sql/core_ext.rb +1 -1
  198. data/lib/ronin/support/encoding/sql.rb +13 -1
  199. data/lib/ronin/support/encoding/uri/core_ext/integer.rb +1 -1
  200. data/lib/ronin/support/encoding/uri/core_ext/string.rb +1 -1
  201. data/lib/ronin/support/encoding/uri/core_ext.rb +1 -1
  202. data/lib/ronin/support/encoding/uri.rb +16 -1
  203. data/lib/ronin/support/encoding/uuencoding/core_ext/string.rb +1 -1
  204. data/lib/ronin/support/encoding/uuencoding/core_ext.rb +1 -1
  205. data/lib/ronin/support/encoding/uuencoding.rb +6 -1
  206. data/lib/ronin/support/encoding/xml/core_ext/integer.rb +1 -1
  207. data/lib/ronin/support/encoding/xml/core_ext/string.rb +1 -1
  208. data/lib/ronin/support/encoding/xml/core_ext.rb +1 -1
  209. data/lib/ronin/support/encoding/xml.rb +10 -1
  210. data/lib/ronin/support/encoding.rb +1 -1
  211. data/lib/ronin/support/home.rb +1 -1
  212. data/lib/ronin/support/mixin.rb +1 -1
  213. data/lib/ronin/support/network/asn/dns_record.rb +1 -1
  214. data/lib/ronin/support/network/asn/list.rb +1 -1
  215. data/lib/ronin/support/network/asn/record.rb +1 -1
  216. data/lib/ronin/support/network/asn/record_set.rb +1 -1
  217. data/lib/ronin/support/network/asn.rb +1 -1
  218. data/lib/ronin/support/network/core_ext.rb +1 -1
  219. data/lib/ronin/support/network/dns/idn.rb +1 -1
  220. data/lib/ronin/support/network/dns/mixin.rb +1 -1
  221. data/lib/ronin/support/network/dns/resolver.rb +1 -1
  222. data/lib/ronin/support/network/dns.rb +1 -1
  223. data/lib/ronin/support/network/domain.rb +1 -1
  224. data/lib/ronin/support/network/email_address.rb +1 -1
  225. data/lib/ronin/support/network/esmtp/mixin.rb +1 -1
  226. data/lib/ronin/support/network/exceptions.rb +1 -1
  227. data/lib/ronin/support/network/ftp/mixin.rb +1 -1
  228. data/lib/ronin/support/network/host.rb +1 -1
  229. data/lib/ronin/support/network/http/cookie.rb +1 -1
  230. data/lib/ronin/support/network/http/core_ext/uri/http.rb +1 -1
  231. data/lib/ronin/support/network/http/core_ext.rb +1 -1
  232. data/lib/ronin/support/network/http/mixin.rb +1 -1
  233. data/lib/ronin/support/network/http/request.rb +1 -1
  234. data/lib/ronin/support/network/http/set_cookie.rb +1 -1
  235. data/lib/ronin/support/network/http/user_agents.rb +1 -1
  236. data/lib/ronin/support/network/http.rb +6 -1
  237. data/lib/ronin/support/network/imap/mixin.rb +1 -1
  238. data/lib/ronin/support/network/ip/mixin.rb +1 -1
  239. data/lib/ronin/support/network/ip.rb +1 -1
  240. data/lib/ronin/support/network/ip_range/cidr.rb +1 -1
  241. data/lib/ronin/support/network/ip_range/glob.rb +1 -1
  242. data/lib/ronin/support/network/ip_range/range.rb +1 -1
  243. data/lib/ronin/support/network/ip_range.rb +1 -1
  244. data/lib/ronin/support/network/mixin.rb +1 -1
  245. data/lib/ronin/support/network/packet.rb +6 -1
  246. data/lib/ronin/support/network/pop3/mixin.rb +1 -1
  247. data/lib/ronin/support/network/proxy.rb +1 -1
  248. data/lib/ronin/support/network/public_suffix/list.rb +1 -1
  249. data/lib/ronin/support/network/public_suffix/suffix.rb +1 -1
  250. data/lib/ronin/support/network/public_suffix/suffix_set.rb +1 -1
  251. data/lib/ronin/support/network/public_suffix.rb +1 -1
  252. data/lib/ronin/support/network/smtp/email.rb +1 -1
  253. data/lib/ronin/support/network/smtp/mixin.rb +1 -1
  254. data/lib/ronin/support/network/smtp.rb +1 -1
  255. data/lib/ronin/support/network/ssl/local_cert.rb +1 -1
  256. data/lib/ronin/support/network/ssl/local_key.rb +1 -1
  257. data/lib/ronin/support/network/ssl/mixin.rb +1 -1
  258. data/lib/ronin/support/network/ssl/openssl.rb +1 -1
  259. data/lib/ronin/support/network/ssl/proxy.rb +1 -1
  260. data/lib/ronin/support/network/ssl.rb +1 -1
  261. data/lib/ronin/support/network/tcp/mixin.rb +1 -1
  262. data/lib/ronin/support/network/tcp/proxy.rb +1 -1
  263. data/lib/ronin/support/network/tcp.rb +1 -1
  264. data/lib/ronin/support/network/telnet/mixin.rb +1 -1
  265. data/lib/ronin/support/network/telnet.rb +1 -1
  266. data/lib/ronin/support/network/tld/list.rb +1 -1
  267. data/lib/ronin/support/network/tld.rb +1 -1
  268. data/lib/ronin/support/network/tls/mixin.rb +1 -1
  269. data/lib/ronin/support/network/tls/proxy.rb +1 -1
  270. data/lib/ronin/support/network/tls.rb +1 -1
  271. data/lib/ronin/support/network/udp/mixin.rb +1 -1
  272. data/lib/ronin/support/network/udp/proxy.rb +1 -1
  273. data/lib/ronin/support/network/udp.rb +1 -1
  274. data/lib/ronin/support/network/unix/mixin.rb +1 -1
  275. data/lib/ronin/support/network.rb +1 -1
  276. data/lib/ronin/support/path.rb +1 -1
  277. data/lib/ronin/support/text/core_ext/regexp.rb +1 -1
  278. data/lib/ronin/support/text/core_ext/string.rb +1 -1
  279. data/lib/ronin/support/text/core_ext.rb +1 -1
  280. data/lib/ronin/support/text/entropy/core_ext/string.rb +1 -1
  281. data/lib/ronin/support/text/entropy/core_ext.rb +1 -1
  282. data/lib/ronin/support/text/entropy.rb +1 -1
  283. data/lib/ronin/support/text/erb/mixin.rb +1 -1
  284. data/lib/ronin/support/text/erb.rb +1 -1
  285. data/lib/ronin/support/text/homoglyph/core_ext/string.rb +1 -1
  286. data/lib/ronin/support/text/homoglyph/core_ext.rb +1 -1
  287. data/lib/ronin/support/text/homoglyph/exceptions.rb +1 -1
  288. data/lib/ronin/support/text/homoglyph/table.rb +1 -1
  289. data/lib/ronin/support/text/homoglyph.rb +10 -1
  290. data/lib/ronin/support/text/mixin.rb +1 -1
  291. data/lib/ronin/support/text/patterns/credentials.rb +1 -1
  292. data/lib/ronin/support/text/patterns/crypto.rb +1 -1
  293. data/lib/ronin/support/text/patterns/file_system.rb +1 -1
  294. data/lib/ronin/support/text/patterns/language.rb +1 -1
  295. data/lib/ronin/support/text/patterns/network/public_suffix.rb +1 -1
  296. data/lib/ronin/support/text/patterns/network.rb +1 -1
  297. data/lib/ronin/support/text/patterns/numeric.rb +1 -1
  298. data/lib/ronin/support/text/patterns/pii.rb +1 -1
  299. data/lib/ronin/support/text/patterns/source_code.rb +1 -1
  300. data/lib/ronin/support/text/patterns.rb +1 -1
  301. data/lib/ronin/support/text/random/mixin.rb +1 -1
  302. data/lib/ronin/support/text/random.rb +1 -1
  303. data/lib/ronin/support/text/typo/core_ext/string.rb +1 -1
  304. data/lib/ronin/support/text/typo/core_ext.rb +1 -1
  305. data/lib/ronin/support/text/typo/exceptions.rb +1 -1
  306. data/lib/ronin/support/text/typo/generator.rb +1 -1
  307. data/lib/ronin/support/text/typo.rb +12 -1
  308. data/lib/ronin/support/text.rb +1 -1
  309. data/lib/ronin/support/version.rb +2 -2
  310. data/lib/ronin/support.rb +1 -1
  311. data/ronin-support.gemspec +2 -2
  312. metadata +13 -10
  313. data/lib/ronin/support/core_ext/resolv.rb +0 -55
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -24,6 +24,12 @@ module Ronin
24
24
  #
25
25
  # Generates [homoglyph](http://homoglyphs.net/) typos.
26
26
  #
27
+ # ## Core-Ext Methods
28
+ #
29
+ # * {String#each_homoglyph}
30
+ # * {String#homoglyph}
31
+ # * {String#homoglyphs}
32
+ #
27
33
  # @since 1.0.0
28
34
  #
29
35
  # @api public
@@ -104,6 +110,7 @@ module Ronin
104
110
  # No homoglyph replaceable characters were found in the String.
105
111
  #
106
112
  # @see Table#substitute
113
+ # @see String#homoglyph
107
114
  #
108
115
  def self.substitute(word, char_set: nil)
109
116
  self.table(char_set).substitute(word)
@@ -130,6 +137,8 @@ module Ronin
130
137
  # If no block is given, an Enumerator object will be returned.
131
138
  #
132
139
  # @see Table#each_substitution
140
+ # @see String#each_homoglyph
141
+ # @see String#homoglyphs
133
142
  #
134
143
  def self.each_substitution(word, char_set: nil, &block)
135
144
  self.table(char_set).each_substitution(word,&block)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -24,6 +24,12 @@ module Ronin
24
24
  #
25
25
  # Generates typos in words.
26
26
  #
27
+ # ## Core-Ext Methods
28
+ #
29
+ # * {String#each_typo}
30
+ # * {String#typo}
31
+ # * {String#typos}
32
+ #
27
33
  # @api public
28
34
  #
29
35
  # @since 1.0.0
@@ -214,6 +220,8 @@ module Ronin
214
220
  # @return [String]
215
221
  # A random typo of the given word.
216
222
  #
223
+ # @see String#typo
224
+ #
217
225
  def self.substitute(word,**kwargs)
218
226
  generator(**kwargs).substitute(word)
219
227
  end
@@ -249,6 +257,9 @@ module Ronin
249
257
  # @return [Enumerator]
250
258
  # If no block is given, an Enumerator will be returned.
251
259
  #
260
+ # @see String#each_typo
261
+ # @see String#typos
262
+ #
252
263
  def self.each_substitution(word,**kwargs,&block)
253
264
  generator(**kwargs).each_substitution(word,&block)
254
265
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,6 +19,6 @@
19
19
  module Ronin
20
20
  module Support
21
21
  # ronin-support version
22
- VERSION = '1.0.0.beta2'
22
+ VERSION = '1.0.0.beta3'
23
23
  end
24
24
  end
data/lib/ronin/support.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -26,6 +26,8 @@ Gem::Specification.new do |gem|
26
26
 
27
27
  gem.files = `git ls-files`.split($/)
28
28
  gem.files = glob[gemspec['files']] if gemspec['files']
29
+ # exclude test files from the packages gem
30
+ gem.files -= glob[gemspec['test_files'] || 'spec/{**/}*']
29
31
 
30
32
  gem.executables = gemspec.fetch('executables') do
31
33
  glob['bin/*'].map { |path| File.basename(path) }
@@ -34,8 +36,6 @@ Gem::Specification.new do |gem|
34
36
 
35
37
  gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
36
38
  gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
37
- # exclude test files from the packages gem
38
- gem.files -= glob[gemspec['test_files'] || 'spec/{**/}*']
39
39
 
40
40
  gem.require_paths = Array(gemspec.fetch('require_paths') {
41
41
  %w[ext lib].select { |dir| File.directory?(dir) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta2
4
+ version: 1.0.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-09 00:00:00.000000000 Z
11
+ date: 2023-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chars
@@ -102,13 +102,14 @@ dependencies:
102
102
  version: '2.0'
103
103
  description: |
104
104
  ronin-support is a support library for ronin-rb. ronin-support provides
105
- many Core Extensions to Ruby's built-in classes as well as it's own
105
+ many Core Extensions to Ruby's built-in classes as well as its own
106
106
  Classes/Modules. ronin-support can be used by other Ruby libraries, tools, or
107
107
  scripts.
108
108
 
109
109
  It's like pwntools combined with activesupport.
110
110
 
111
- Ronin is a Ruby toolkit for security research and development.
111
+ ronin-support is part of the ronin-rb project, a Ruby toolkit for security
112
+ research and development.
112
113
  email: postmodern.mod3@gmail.com
113
114
  executables: []
114
115
  extensions: []
@@ -156,6 +157,9 @@ files:
156
157
  - lib/ronin/support/binary.rb
157
158
  - lib/ronin/support/binary/array.rb
158
159
  - lib/ronin/support/binary/bit_flip.rb
160
+ - lib/ronin/support/binary/bit_flip/core_ext.rb
161
+ - lib/ronin/support/binary/bit_flip/core_ext/integer.rb
162
+ - lib/ronin/support/binary/bit_flip/core_ext/string.rb
159
163
  - lib/ronin/support/binary/buffer.rb
160
164
  - lib/ronin/support/binary/byte_slice.rb
161
165
  - lib/ronin/support/binary/core_ext.rb
@@ -222,11 +226,6 @@ files:
222
226
  - lib/ronin/support/binary/ctypes/unbounded_array_type.rb
223
227
  - lib/ronin/support/binary/ctypes/union_object_type.rb
224
228
  - lib/ronin/support/binary/ctypes/union_type.rb
225
- - lib/ronin/support/binary/hexdump.rb
226
- - lib/ronin/support/binary/hexdump/core_ext.rb
227
- - lib/ronin/support/binary/hexdump/core_ext/file.rb
228
- - lib/ronin/support/binary/hexdump/core_ext/string.rb
229
- - lib/ronin/support/binary/hexdump/parser.rb
230
229
  - lib/ronin/support/binary/memory.rb
231
230
  - lib/ronin/support/binary/packet.rb
232
231
  - lib/ronin/support/binary/stack.rb
@@ -235,6 +234,11 @@ files:
235
234
  - lib/ronin/support/binary/struct.rb
236
235
  - lib/ronin/support/binary/struct/member.rb
237
236
  - lib/ronin/support/binary/template.rb
237
+ - lib/ronin/support/binary/unhexdump.rb
238
+ - lib/ronin/support/binary/unhexdump/core_ext.rb
239
+ - lib/ronin/support/binary/unhexdump/core_ext/file.rb
240
+ - lib/ronin/support/binary/unhexdump/core_ext/string.rb
241
+ - lib/ronin/support/binary/unhexdump/parser.rb
238
242
  - lib/ronin/support/binary/union.rb
239
243
  - lib/ronin/support/cli.rb
240
244
  - lib/ronin/support/cli/ansi.rb
@@ -257,7 +261,6 @@ files:
257
261
  - lib/ronin/support/core_ext/integer.rb
258
262
  - lib/ronin/support/core_ext/ipaddr.rb
259
263
  - lib/ronin/support/core_ext/kernel.rb
260
- - lib/ronin/support/core_ext/resolv.rb
261
264
  - lib/ronin/support/core_ext/string.rb
262
265
  - lib/ronin/support/crypto.rb
263
266
  - lib/ronin/support/crypto/cert.rb
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
- #
3
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
4
- #
5
- # ronin-support is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as published
7
- # by the Free Software Foundation, either version 3 of the License, or
8
- # (at your option) any later version.
9
- #
10
- # ronin-support is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
- #
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with ronin-support. If not, see <https://www.gnu.org/licenses/>.
17
- #
18
-
19
- require 'resolv'
20
-
21
- class Resolv
22
-
23
- # List of valid Top-Level-Domains
24
- TLDS = %w[
25
- aero arpa asia biz cat com coop edu gov info int jobs mil mobi museum net
26
- org pro tel travel xxx
27
-
28
- ac ad ae af ag ai al am an ao aq ar as at au aw ax az
29
- ba bb bd be bf bg bh bi bj bm bn bo br bs bt bv bw by bz
30
- ca cc cd cf cg ch ci ck cl cm cn co cr cs cu cv cx cy cz
31
- dd de dj dk dm do dz
32
- ec ee eg eh er es et eu
33
- fi fj fk fm fo fr
34
- ga gb gd ge gf gg gh gi gl gm gn gp gq gr gs gt gu gw gy
35
- hk hm hn hr ht hu
36
- id ie il im in io iq ir is it
37
- je jm jo jp
38
- ke kg kh ki km kn kp kr kw ky kz
39
- la lb lc li lk lr ls lt lu lv ly
40
- ma mc md me mg mh mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz
41
- na nc ne nf ng ni nl no np nr nu nz
42
- om
43
- pa pe pf pg ph pk pl pm pn pr ps pt pw py
44
- qa
45
- re ro rs ru rw
46
- sa sb sc sd se sg sh si sj sk sl sm sn so sr ss st su sv sy sz
47
- tc td tf tg th tj tk tl tm tn to tp tr tt tv tw tz
48
- ua ug ak us uy uz
49
- va vc ve vg vi vn vu
50
- wf ws
51
- ye yt
52
- za zm zw
53
- ]
54
-
55
- end