ronin 2.0.5 → 2.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +3 -3
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +5 -1
  5. data/ChangeLog.md +56 -1
  6. data/Gemfile +66 -29
  7. data/README.md +162 -17
  8. data/Rakefile +9 -0
  9. data/data/completions/ronin +655 -0
  10. data/data/templates/dns_proxy.rb.erb +35 -0
  11. data/gemspec.yml +27 -13
  12. data/lib/ronin/cli/binary_template.rb +124 -0
  13. data/lib/ronin/cli/commands/archive.rb +104 -0
  14. data/lib/ronin/cli/commands/banner_grab.rb +2 -0
  15. data/lib/ronin/cli/commands/bitflip.rb +1 -1
  16. data/lib/ronin/cli/commands/bitsquat.rb +119 -0
  17. data/lib/ronin/cli/commands/cert_dump.rb +20 -4
  18. data/lib/ronin/cli/commands/cert_gen.rb +9 -19
  19. data/lib/ronin/cli/commands/cert_grab.rb +4 -3
  20. data/lib/ronin/cli/commands/completion.rb +115 -0
  21. data/lib/ronin/cli/commands/dns_proxy.rb +235 -0
  22. data/lib/ronin/cli/commands/http.rb +80 -8
  23. data/lib/ronin/cli/commands/ip.rb +101 -0
  24. data/lib/ronin/cli/commands/iprange.rb +25 -8
  25. data/lib/ronin/cli/commands/netcat.rb +2 -0
  26. data/lib/ronin/cli/commands/new/dns_listener.rb +37 -0
  27. data/lib/ronin/cli/commands/new/dns_proxy.rb +99 -0
  28. data/lib/ronin/cli/commands/new/exploit.rb +34 -0
  29. data/lib/ronin/cli/commands/new/http_listener.rb +37 -0
  30. data/lib/ronin/cli/commands/new/nokogiri.rb +33 -0
  31. data/lib/ronin/cli/commands/new/payload.rb +34 -0
  32. data/lib/ronin/cli/commands/new/project.rb +1 -1
  33. data/lib/ronin/cli/commands/new/script.rb +1 -1
  34. data/lib/ronin/cli/commands/new/web_app.rb +37 -0
  35. data/lib/ronin/cli/commands/new/web_server.rb +37 -0
  36. data/lib/ronin/cli/commands/new/web_spider.rb +37 -0
  37. data/lib/ronin/cli/commands/new.rb +3 -1
  38. data/lib/ronin/cli/commands/pack.rb +339 -0
  39. data/lib/ronin/cli/commands/public_suffix_list.rb +2 -0
  40. data/lib/ronin/cli/commands/tld_list.rb +2 -0
  41. data/lib/ronin/cli/commands/unarchive.rb +128 -0
  42. data/lib/ronin/cli/commands/unhexdump.rb +3 -1
  43. data/lib/ronin/cli/commands/unpack.rb +195 -0
  44. data/lib/ronin/cli/commands/url.rb +2 -0
  45. data/lib/ronin/cli/http_shell.rb +25 -0
  46. data/lib/ronin/cli.rb +10 -0
  47. data/lib/ronin/version.rb +1 -1
  48. data/man/ronin-archive.1.md +49 -0
  49. data/man/ronin-asn.1 +60 -77
  50. data/man/ronin-asn.1.md +25 -21
  51. data/man/ronin-banner-grab.1 +10 -21
  52. data/man/ronin-banner-grab.1.md +9 -5
  53. data/man/ronin-bitflip.1 +35 -61
  54. data/man/ronin-bitflip.1.md +30 -26
  55. data/man/ronin-bitsquat.1 +40 -0
  56. data/man/ronin-bitsquat.1.md +43 -0
  57. data/man/ronin-cert-dump.1 +44 -54
  58. data/man/ronin-cert-dump.1.md +18 -14
  59. data/man/ronin-cert-gen.1 +73 -94
  60. data/man/ronin-cert-gen.1.md +38 -34
  61. data/man/ronin-cert-grab.1 +29 -37
  62. data/man/ronin-cert-grab.1.md +12 -8
  63. data/man/ronin-completion.1 +78 -0
  64. data/man/ronin-completion.1.md +80 -0
  65. data/man/ronin-decode.1 +32 -63
  66. data/man/ronin-decode.1.md +29 -25
  67. data/man/ronin-decrypt.1 +42 -57
  68. data/man/ronin-decrypt.1.md +20 -16
  69. data/man/ronin-dns-proxy.1 +100 -0
  70. data/man/ronin-dns-proxy.1.md +70 -0
  71. data/man/ronin-dns.1 +10 -21
  72. data/man/ronin-dns.1.md +9 -5
  73. data/man/ronin-email-addr.1 +27 -40
  74. data/man/ronin-email-addr.1.md +15 -11
  75. data/man/ronin-encode.1 +93 -63
  76. data/man/ronin-encode.1.md +64 -26
  77. data/man/ronin-encrypt.1 +42 -57
  78. data/man/ronin-encrypt.1.md +20 -16
  79. data/man/ronin-entropy.1 +11 -21
  80. data/man/ronin-entropy.1.md +8 -4
  81. data/man/ronin-escape.1 +22 -46
  82. data/man/ronin-escape.1.md +22 -18
  83. data/man/ronin-extract.1 +74 -149
  84. data/man/ronin-extract.1.md +73 -69
  85. data/man/ronin-grep.1 +77 -155
  86. data/man/ronin-grep.1.md +76 -72
  87. data/man/ronin-help.1 +3 -14
  88. data/man/ronin-help.1.md +2 -2
  89. data/man/ronin-hexdump.1 +249 -265
  90. data/man/ronin-hexdump.1.md +93 -89
  91. data/man/ronin-highlight.1 +8 -18
  92. data/man/ronin-highlight.1.md +8 -4
  93. data/man/ronin-hmac.1 +17 -30
  94. data/man/ronin-hmac.1.md +14 -10
  95. data/man/ronin-homoglyph.1 +11 -22
  96. data/man/ronin-homoglyph.1.md +10 -6
  97. data/man/ronin-host.1 +23 -47
  98. data/man/ronin-host.1.md +22 -18
  99. data/man/ronin-http.1 +40 -69
  100. data/man/ronin-http.1.md +40 -30
  101. data/man/ronin-ip.1 +70 -80
  102. data/man/ronin-ip.1.md +44 -28
  103. data/man/ronin-iprange.1 +14 -22
  104. data/man/ronin-iprange.1.md +12 -5
  105. data/man/ronin-irb.1 +9 -17
  106. data/man/ronin-irb.1.md +7 -3
  107. data/man/ronin-md5.1 +13 -24
  108. data/man/ronin-md5.1.md +11 -7
  109. data/man/ronin-netcat.1 +25 -51
  110. data/man/ronin-netcat.1.md +25 -21
  111. data/man/ronin-new-dns-proxy.1 +45 -0
  112. data/man/ronin-new-dns-proxy.1.md +44 -0
  113. data/man/ronin-new-project.1 +32 -45
  114. data/man/ronin-new-project.1.md +11 -11
  115. data/man/ronin-new-script.1 +10 -22
  116. data/man/ronin-new-script.1.md +4 -4
  117. data/man/ronin-new.1 +56 -31
  118. data/man/ronin-new.1.md +48 -8
  119. data/man/ronin-pack.1 +977 -0
  120. data/man/ronin-pack.1.md +929 -0
  121. data/man/ronin-proxy.1 +37 -63
  122. data/man/ronin-proxy.1.md +29 -25
  123. data/man/ronin-public-suffix-list.1 +16 -32
  124. data/man/ronin-public-suffix-list.1.md +13 -9
  125. data/man/ronin-quote.1 +17 -36
  126. data/man/ronin-quote.1.md +17 -13
  127. data/man/ronin-rot.1 +26 -39
  128. data/man/ronin-rot.1.md +15 -11
  129. data/man/ronin-sha1.1 +13 -24
  130. data/man/ronin-sha1.1.md +11 -7
  131. data/man/ronin-sha256.1 +13 -24
  132. data/man/ronin-sha256.1.md +11 -7
  133. data/man/ronin-sha512.1 +13 -24
  134. data/man/ronin-sha512.1.md +11 -7
  135. data/man/ronin-strings.1 +30 -55
  136. data/man/ronin-strings.1.md +27 -23
  137. data/man/ronin-tips.1 +8 -16
  138. data/man/ronin-tips.1.md +7 -3
  139. data/man/ronin-tld-list.1 +16 -32
  140. data/man/ronin-tld-list.1.md +13 -9
  141. data/man/ronin-typo.1 +14 -28
  142. data/man/ronin-typo.1.md +13 -9
  143. data/man/ronin-typosquat.1 +15 -32
  144. data/man/ronin-typosquat.1.md +15 -11
  145. data/man/ronin-unarchive.1.md +41 -0
  146. data/man/ronin-unescape.1 +22 -46
  147. data/man/ronin-unescape.1.md +22 -18
  148. data/man/ronin-unhexdump.1 +81 -91
  149. data/man/ronin-unhexdump.1.md +16 -12
  150. data/man/ronin-unpack.1 +978 -0
  151. data/man/ronin-unpack.1.md +920 -0
  152. data/man/ronin-unquote.1 +17 -36
  153. data/man/ronin-unquote.1.md +17 -13
  154. data/man/ronin-url.1 +19 -40
  155. data/man/ronin-url.1.md +19 -15
  156. data/man/ronin-xor.1 +14 -28
  157. data/man/ronin-xor.1.md +13 -9
  158. data/man/ronin.1 +208 -29
  159. data/man/ronin.1.md +156 -11
  160. data/scripts/setup +58 -0
  161. metadata +162 -73
  162. data/lib/ronin/config.rb +0 -95
  163. /data/data/{new → templates}/project/.gitignore +0 -0
  164. /data/data/{new → templates}/project/.ruby-version.erb +0 -0
  165. /data/data/{new → templates}/project/Dockerfile.erb +0 -0
  166. /data/data/{new → templates}/project/Gemfile.erb +0 -0
  167. /data/data/{new → templates}/project/Rakefile +0 -0
  168. /data/data/{new → templates}/project/project.rb.erb +0 -0
  169. /data/data/{new → templates}/script.rb.erb +0 -0
@@ -0,0 +1,929 @@
1
+ # ronin-pack 1 "2024-01-01" Ronin "User Manuals"
2
+
3
+ ## NAME
4
+
5
+ ronin-pack - Packs values into binary data.
6
+
7
+ ## SYNOPSIS
8
+
9
+ `ronin pack` [*options*] {*TYPE*`:`*VALUE* | *TYPE*`[`*NUM*`]`:*VALUE*[`,`*VALUE*...] [...]
10
+
11
+ ## DESCRIPTION
12
+
13
+ Packs the list of *VALUE*s into binary data based on their C *TYPE* name.
14
+
15
+ ## ARGUMENTS
16
+
17
+ *TYPE*
18
+ : The desired C type to pack the value as. See the **TYPES** section below for a
19
+ complete list of type names.
20
+
21
+ *VALUE*
22
+ : The value to pack.
23
+
24
+ Note: to specify an array type, put the array length in square brackets after
25
+ the *TYPE* and list multiple values as a comma separated list.
26
+
27
+ int32[4]:1,2,3,4
28
+
29
+ char[3]:a,b,c
30
+
31
+ ## OPTIONS
32
+
33
+ `-E`, `--endian` `little`\|`big`\|`net`
34
+ : Sets the endianness
35
+
36
+ `-A`, `--arch` `x86`\|`x86_64`\|`ppc`\|`ppc64`\|`mips`\|`mips_le`\|`mips_be`\|`mips64`\|`mips64_le`\|`mips64_be`\|`arm`\|`arm_le`\|`arm_be`\|`arm64`\|`arm64_le`\|`arm64_be`
37
+ : Sets the architecture.
38
+
39
+ `-O`, `--os` `linux`\|`macos`\|`windows`\|`android`\|`apple_ios`\|`bsd`\|`freebsd`\|`openbsd`\|`netbsd`
40
+ : Sets the OS.
41
+
42
+ `-x`, `--hexdump`
43
+ : Print a hexdump of the packed data.
44
+
45
+ Note: this option will disable `--output` and print a hexdump of the packed
46
+ data instead of writing it out to a file.
47
+
48
+ `--output` *PATH*
49
+ : Optional output file to write to.
50
+
51
+ `-h`, `--help`
52
+ : Prints help information.
53
+
54
+ ## TYPES
55
+
56
+ ```
57
+ char
58
+ uchar
59
+ byte
60
+ string
61
+ int
62
+ int8
63
+ int16
64
+ int32
65
+ int64
66
+ short
67
+ long
68
+ long_long
69
+ uint
70
+ uint8
71
+ uint16
72
+ uint32
73
+ uint64
74
+ ushort
75
+ ulong
76
+ ulong_long
77
+ float
78
+ float32
79
+ float64
80
+ double
81
+ pointer
82
+ ```
83
+
84
+ ### Little Endian
85
+
86
+ ```
87
+ int_le
88
+ int16_le
89
+ int32_le
90
+ int64_le
91
+ short_le
92
+ long_le
93
+ long_long_le
94
+ uint_le
95
+ uint16_le
96
+ uint32_le
97
+ uint64_le
98
+ ushort_le
99
+ ulong_le
100
+ ulong_long_le
101
+ float_le
102
+ float32_le
103
+ float64_le
104
+ double_le
105
+ pointer_le
106
+ ```
107
+
108
+ ### Big Endian
109
+
110
+ ```
111
+ int_be
112
+ int16_be
113
+ int32_be
114
+ int64_be
115
+ short_be
116
+ long_be
117
+ long_long_be
118
+ uint_be
119
+ uint16_be
120
+ uint32_be
121
+ uint64_be
122
+ ushort_be
123
+ ulong_be
124
+ ulong_long_be
125
+ float_be
126
+ float32_be
127
+ float64_be
128
+ double_be
129
+ pointer_be
130
+ ```
131
+
132
+ ### Network Endian
133
+
134
+ ```
135
+ int_net
136
+ int16_net
137
+ int32_net
138
+ int64_net
139
+ short_net
140
+ long_net
141
+ long_long_net
142
+ uint_net
143
+ uint16_net
144
+ uint32_net
145
+ uint64_net
146
+ ushort_net
147
+ ulong_net
148
+ ulong_long_net
149
+ float_net
150
+ float32_net
151
+ float64_net
152
+ double_net
153
+ pointer_net
154
+ ```
155
+
156
+ ### Linux Types
157
+
158
+ ```
159
+ __blkcnt64_t
160
+ __blkcnt_t
161
+ __blksize_t
162
+ __caddr_t
163
+ __clock_t
164
+ __clockid_t
165
+ __daddr_t
166
+ __dev_t
167
+ __fd_mask
168
+ __fsblkcnt64_t
169
+ __fsblkcnt_t
170
+ __fsfilcnt64_t
171
+ __fsfilcnt_t
172
+ __fsword_t
173
+ __gid_t
174
+ __id_t
175
+ __ino64_t
176
+ __ino_t
177
+ __int16_t
178
+ __int32_t
179
+ __int64_t
180
+ __int8_t
181
+ __intmax_t
182
+ __intptr_t
183
+ __key_t
184
+ __loff_t
185
+ __mode_t
186
+ __nlink_t
187
+ __off64_t
188
+ __off_t
189
+ __pid_t
190
+ __priority_which_t
191
+ __quad_t
192
+ __rlim64_t
193
+ __rlim_t
194
+ __rlimit_resource_t
195
+ __rusage_who_t
196
+ __sig_atomic_t
197
+ __socklen_t
198
+ __ssize_t
199
+ __suseconds_t
200
+ __syscall_slong_t
201
+ __syscall_ulong_t
202
+ __time_t
203
+ __timer_t
204
+ __u_char
205
+ __u_int
206
+ __u_long
207
+ __u_quad_t
208
+ __u_short
209
+ __uid_t
210
+ __uint16_t
211
+ __uint32_t
212
+ __uint64_t
213
+ __uint8_t
214
+ __uintmax_t
215
+ __useconds_t
216
+ blkcnt_t
217
+ blksize_t
218
+ clock_t
219
+ clockid_t
220
+ daddr_t
221
+ dev_t
222
+ fd_mask
223
+ fsblkcnt_t
224
+ fsfilcnt_t
225
+ gid_t
226
+ id_t
227
+ in_addr_t
228
+ in_port_t
229
+ ino_t
230
+ int16_t
231
+ int32_t
232
+ int64_t
233
+ int8_t
234
+ int_fast16_t
235
+ int_fast32_t
236
+ int_fast64_t
237
+ int_fast8_t
238
+ int_least32_t
239
+ int_least64_t
240
+ int_least8_t
241
+ intmax_t
242
+ intptr_t
243
+ key_t
244
+ loff_t
245
+ mode_t
246
+ nlink_t
247
+ off_t
248
+ pid_t
249
+ pthread_key_t
250
+ pthread_once_t
251
+ pthread_t
252
+ ptrdiff_t
253
+ quad_t
254
+ register_t
255
+ rlim_t
256
+ sa_family_t
257
+ size_t
258
+ socklen_t
259
+ ssize_t
260
+ suseconds_t
261
+ time_t
262
+ timer_t
263
+ u_char
264
+ u_int
265
+ u_int16_t
266
+ u_int32_t
267
+ u_int64_t
268
+ u_int8_t
269
+ u_long
270
+ u_quad_t
271
+ u_short
272
+ uid_t
273
+ uint16_t
274
+ uint32_t
275
+ uint64_t
276
+ uint8_t
277
+ uint_fast16_t
278
+ uint_fast32_t
279
+ uint_fast64_t
280
+ uint_fast8_t
281
+ uint_least16_t
282
+ uint_least32_t
283
+ uint_least64_t
284
+ uint_least8_t
285
+ uintmax_t
286
+ uintptr_t
287
+ wchar_t
288
+ ```
289
+
290
+ ### macOS / iOS Types
291
+
292
+ ```
293
+ __darwin_blkcnt_t
294
+ __darwin_blksize_t
295
+ __darwin_clock_t
296
+ __darwin_ct_rune_t
297
+ __darwin_dev_t
298
+ __darwin_fsblkcnt_t
299
+ __darwin_fsfilcnt_t
300
+ __darwin_gid_t
301
+ __darwin_id_t
302
+ __darwin_ino64_t
303
+ __darwin_ino_t
304
+ __darwin_intptr_t
305
+ __darwin_mach_port_name_t
306
+ __darwin_mach_port_t
307
+ __darwin_mode_t
308
+ __darwin_natural_t
309
+ __darwin_off_t
310
+ __darwin_pid_t
311
+ __darwin_pthread_key_t
312
+ __darwin_ptrdiff_t
313
+ __darwin_rune_t
314
+ __darwin_sigset_t
315
+ __darwin_size_t
316
+ __darwin_socklen_t
317
+ __darwin_ssize_t
318
+ __darwin_suseconds_t
319
+ __darwin_time_t
320
+ __darwin_uid_t
321
+ __darwin_useconds_t
322
+ __darwin_uuid_string_t
323
+ __darwin_uuid_t
324
+ __darwin_wchar_t
325
+ __darwin_wint_t
326
+ __int16_t
327
+ __int32_t
328
+ __int64_t
329
+ __int8_t
330
+ __uint16_t
331
+ __uint32_t
332
+ __uint64_t
333
+ __uint8_t
334
+ blkcnt_t
335
+ blksize_t
336
+ caddr_t
337
+ clock_t
338
+ daddr_t
339
+ dev_t
340
+ errno_t
341
+ fd_mask
342
+ fixpt_t
343
+ fsblkcnt_t
344
+ fsfilcnt_t
345
+ gid_t
346
+ id_t
347
+ in_addr_t
348
+ in_port_t
349
+ ino64_t
350
+ ino_t
351
+ int16_t
352
+ int32_t
353
+ int64_t
354
+ int8_t
355
+ int_fast16_t
356
+ int_fast32_t
357
+ int_fast64_t
358
+ int_fast8_t
359
+ int_least16_t
360
+ int_least32_t
361
+ int_least64_t
362
+ int_least8_t
363
+ intmax_t
364
+ intptr_t
365
+ key_t
366
+ mode_t
367
+ nlink_t
368
+ off_t
369
+ pid_t
370
+ pthread_key_t
371
+ ptrdiff_t
372
+ qaddr_t
373
+ quad_t
374
+ register_t
375
+ rlim_t
376
+ rsize_t
377
+ sa_family_t
378
+ sae_associd_t
379
+ sae_connid_t
380
+ segsz_t
381
+ size_t
382
+ socklen_t
383
+ ssize_t
384
+ suseconds_t
385
+ swblk_t
386
+ syscall_arg_t
387
+ time_t
388
+ u_char
389
+ u_int
390
+ u_int16_t
391
+ u_int32_t
392
+ u_int64_t
393
+ u_int8_t
394
+ u_long
395
+ u_quad_t
396
+ u_short
397
+ uid_t
398
+ uint16_t
399
+ uint32_t
400
+ uint64_t
401
+ uint8_t
402
+ uint_fast16_t
403
+ uint_fast32_t
404
+ uint_fast64_t
405
+ uint_fast8_t
406
+ uint_least16_t
407
+ uint_least32_t
408
+ uint_least64_t
409
+ uint_least8_t
410
+ uintmax_t
411
+ uintptr_t
412
+ useconds_t
413
+ user_addr_t
414
+ user_long_t
415
+ user_off_t
416
+ user_size_t
417
+ user_ssize_t
418
+ user_time_t
419
+ user_ulong_t
420
+ wchar_t
421
+ ```
422
+
423
+ ### Windows Types
424
+
425
+ ```
426
+ __time32_t
427
+ __time64_t
428
+ _dev_t
429
+ _ino_t
430
+ _mode_t
431
+ _off64_t
432
+ _off_t
433
+ _pid_t
434
+ _sigset_t
435
+ dev_t
436
+ errno_t
437
+ ino_t
438
+ int16_t
439
+ int32_t
440
+ int64_t
441
+ int8_t
442
+ int_fast16_t
443
+ int_fast32_t
444
+ int_fast64_t
445
+ int_fast8_t
446
+ int_least16_t
447
+ int_least32_t
448
+ int_least64_t
449
+ int_least8_t
450
+ intmax_t
451
+ intptr_t
452
+ long
453
+ mode_t
454
+ off32_t
455
+ off64_t
456
+ off_t
457
+ pid_t
458
+ ptrdiff_t
459
+ rsize_t
460
+ size_t
461
+ ssize_t
462
+ time_t
463
+ uint16_t
464
+ uint64_t
465
+ uint8_t
466
+ uint_fast16_t
467
+ uint_fast32_t
468
+ uint_fast64_t
469
+ uint_fast8_t
470
+ uint_least16_t
471
+ uint_least64_t
472
+ uint_least8_t
473
+ uintmax_t
474
+ uintptr_t
475
+ ulong
476
+ useconds_t
477
+ wchar_t
478
+ wctype_t
479
+ wint_t
480
+ ```
481
+
482
+ ### FreeBSD Types
483
+
484
+ ```
485
+ __clock_t
486
+ __clockid_t
487
+ __cpuid_t
488
+ __dev_t
489
+ __fd_mask
490
+ __fixpt_t
491
+ __gid_t
492
+ __id_t
493
+ __in_addr_t
494
+ __in_port_t
495
+ __ino_t
496
+ __int16_t
497
+ __int32_t
498
+ __int64_t
499
+ __int8_t
500
+ __int_fast16_t
501
+ __int_fast32_t
502
+ __int_fast64_t
503
+ __int_fast8_t
504
+ __int_least16_t
505
+ __int_least32_t
506
+ __int_least64_t
507
+ __int_least8_t
508
+ __intmax_t
509
+ __intptr_t
510
+ __key_t
511
+ __mode_t
512
+ __nlink_t
513
+ __off_t
514
+ __paddr_t
515
+ __pid_t
516
+ __psize_t
517
+ __ptrdiff_t
518
+ __register_t
519
+ __rlim_t
520
+ __rune_t
521
+ __sa_family_t
522
+ __segsz_t
523
+ __size_t
524
+ __socklen_t
525
+ __ssize_t
526
+ __suseconds_t
527
+ __swblk_t
528
+ __time_t
529
+ __timer_t
530
+ __uid_t
531
+ __uint16_t
532
+ __uint32_t
533
+ __uint64_t
534
+ __uint8_t
535
+ __uint_fast16_t
536
+ __uint_fast32_t
537
+ __uint_fast64_t
538
+ __uint_fast8_t
539
+ __uint_least16_t
540
+ __uint_least32_t
541
+ __uint_least64_t
542
+ __uint_least8_t
543
+ __uintmax_t
544
+ __uintptr_t
545
+ __useconds_t
546
+ __vaddr_t
547
+ __vsize_t
548
+ __wchar_t
549
+ __wctrans_t
550
+ __wctype_t
551
+ __wint_t
552
+ caddr_t
553
+ clock_t
554
+ clockid_t
555
+ cpuid_t
556
+ daddr32_t
557
+ daddr64_t
558
+ daddr_t
559
+ dev_t
560
+ fixpt_t
561
+ gid_t
562
+ id_t
563
+ in_addr_t
564
+ in_port_t
565
+ ino_t
566
+ int16_t
567
+ int32_t
568
+ int64_t
569
+ int8_t
570
+ intptr_t
571
+ key_t
572
+ mode_t
573
+ nlink_t
574
+ off_t
575
+ paddr_t
576
+ pid_t
577
+ psize_t
578
+ qaddr_t
579
+ quad_t
580
+ register_t
581
+ rlim_t
582
+ sa_family_t
583
+ segsz_t
584
+ size_t
585
+ socklen_t
586
+ ssize_t
587
+ suseconds_t
588
+ swblk_t
589
+ time_t
590
+ timer_t
591
+ u_char
592
+ u_int
593
+ u_int16_t
594
+ u_int32_t
595
+ u_int64_t
596
+ u_int8_t
597
+ u_long
598
+ u_quad_t
599
+ u_short
600
+ uid_t
601
+ uint16_t
602
+ uint32_t
603
+ uint64_t
604
+ uint8_t
605
+ uintptr_t
606
+ ulong
607
+ unchar
608
+ useconds_t
609
+ vaddr_t
610
+ vsize_t
611
+ ```
612
+
613
+ ### OpenBSD Types
614
+
615
+ ```
616
+ __blkcnt_t
617
+ __blksize_t
618
+ __clock_t
619
+ __clockid_t
620
+ __cpuid_t
621
+ __dev_t
622
+ __fd_mask
623
+ __fixpt_t
624
+ __fsblkcnt_t
625
+ __fsfilcnt_t
626
+ __gid_t
627
+ __id_t
628
+ __in_addr_t
629
+ __in_port_t
630
+ __ino_t
631
+ __int16_t
632
+ __int32_t
633
+ __int64_t
634
+ __int8_t
635
+ __int_fast16_t
636
+ __int_fast32_t
637
+ __int_fast64_t
638
+ __int_fast8_t
639
+ __int_least16_t
640
+ __int_least32_t
641
+ __int_least64_t
642
+ __int_least8_t
643
+ __intmax_t
644
+ __intptr_t
645
+ __key_t
646
+ __mode_t
647
+ __nlink_t
648
+ __off_t
649
+ __paddr_t
650
+ __pid_t
651
+ __psize_t
652
+ __ptrdiff_t
653
+ __register_t
654
+ __rlim_t
655
+ __rune_t
656
+ __sa_family_t
657
+ __segsz_t
658
+ __size_t
659
+ __socklen_t
660
+ __ssize_t
661
+ __suseconds_t
662
+ __swblk_t
663
+ __time_t
664
+ __timer_t
665
+ __uid_t
666
+ __uint16_t
667
+ __uint32_t
668
+ __uint64_t
669
+ __uint8_t
670
+ __uint_fast16_t
671
+ __uint_fast32_t
672
+ __uint_fast64_t
673
+ __uint_fast8_t
674
+ __uint_least16_t
675
+ __uint_least32_t
676
+ __uint_least64_t
677
+ __uint_least8_t
678
+ __uintmax_t
679
+ __uintptr_t
680
+ __useconds_t
681
+ __vaddr_t
682
+ __vsize_t
683
+ __wchar_t
684
+ __wctrans_t
685
+ __wctype_t
686
+ __wint_t
687
+ blkcnt_t
688
+ blksize_t
689
+ caddr_t
690
+ clock_t
691
+ clockid_t
692
+ cpuid_t
693
+ daddr32_t
694
+ daddr_t
695
+ dev_t
696
+ fixpt_t
697
+ fsblkcnt_t
698
+ fsfilcnt_t
699
+ gid_t
700
+ id_t
701
+ in_addr_t
702
+ in_port_t
703
+ ino_t
704
+ int16_t
705
+ int32_t
706
+ int64_t
707
+ int8_t
708
+ key_t
709
+ mode_t
710
+ nlink_t
711
+ off_t
712
+ paddr_t
713
+ pid_t
714
+ psize_t
715
+ qaddr_t
716
+ quad_t
717
+ register_t
718
+ rlim_t
719
+ sa_family_t
720
+ segsz_t
721
+ sigset_t
722
+ size_t
723
+ socklen_t
724
+ ssize_t
725
+ suseconds_t
726
+ swblk_t
727
+ time_t
728
+ timer_t
729
+ u_char
730
+ u_int
731
+ u_int16_t
732
+ u_int32_t
733
+ u_int64_t
734
+ u_int8_t
735
+ u_long
736
+ u_quad_t
737
+ u_short
738
+ uid_t
739
+ uint16_t
740
+ uint32_t
741
+ uint64_t
742
+ uint8_t
743
+ ulong
744
+ unchar
745
+ useconds_t
746
+ vaddr_t
747
+ vsize_t
748
+ ```
749
+
750
+ ### NetBSD Types
751
+
752
+ ```
753
+ __clock_t
754
+ __clockid_t
755
+ __cpuid_t
756
+ __dev_t
757
+ __fd_mask
758
+ __fixpt_t
759
+ __gid_t
760
+ __id_t
761
+ __in_addr_t
762
+ __in_port_t
763
+ __ino_t
764
+ __int16_t
765
+ __int32_t
766
+ __int64_t
767
+ __int8_t
768
+ __int_fast16_t
769
+ __int_fast32_t
770
+ __int_fast64_t
771
+ __int_fast8_t
772
+ __int_least16_t
773
+ __int_least32_t
774
+ __int_least64_t
775
+ __int_least8_t
776
+ __intmax_t
777
+ __intptr_t
778
+ __key_t
779
+ __mode_t
780
+ __nlink_t
781
+ __off_t
782
+ __paddr_t
783
+ __pid_t
784
+ __psize_t
785
+ __ptrdiff_t
786
+ __register_t
787
+ __rlim_t
788
+ __rune_t
789
+ __sa_family_t
790
+ __segsz_t
791
+ __size_t
792
+ __socklen_t
793
+ __ssize_t
794
+ __suseconds_t
795
+ __swblk_t
796
+ __time_t
797
+ __timer_t
798
+ __uid_t
799
+ __uint16_t
800
+ __uint32_t
801
+ __uint64_t
802
+ __uint8_t
803
+ __uint_fast16_t
804
+ __uint_fast32_t
805
+ __uint_fast64_t
806
+ __uint_fast8_t
807
+ __uint_least16_t
808
+ __uint_least32_t
809
+ __uint_least64_t
810
+ __uint_least8_t
811
+ __uintmax_t
812
+ __uintptr_t
813
+ __useconds_t
814
+ __vaddr_t
815
+ __vsize_t
816
+ __wchar_t
817
+ __wctrans_t
818
+ __wctype_t
819
+ __wint_t
820
+ caddr_t
821
+ clock_t
822
+ clockid_t
823
+ cpuid_t
824
+ daddr32_t
825
+ daddr64_t
826
+ daddr_t
827
+ dev_t
828
+ fixpt_t
829
+ gid_t
830
+ id_t
831
+ in_addr_t
832
+ in_port_t
833
+ ino_t
834
+ int16_t
835
+ int32_t
836
+ int64_t
837
+ int8_t
838
+ intptr_t
839
+ key_t
840
+ mode_t
841
+ nlink_t
842
+ off_t
843
+ paddr_t
844
+ pid_t
845
+ psize_t
846
+ qaddr_t
847
+ quad_t
848
+ register_t
849
+ rlim_t
850
+ sa_family_t
851
+ segsz_t
852
+ size_t
853
+ socklen_t
854
+ ssize_t
855
+ suseconds_t
856
+ swblk_t
857
+ time_t
858
+ timer_t
859
+ u_char
860
+ u_int
861
+ u_int16_t
862
+ u_int32_t
863
+ u_int64_t
864
+ u_int8_t
865
+ u_long
866
+ u_quad_t
867
+ u_short
868
+ uid_t
869
+ uint
870
+ uint16_t
871
+ uint32_t
872
+ uint64_t
873
+ uint8_t
874
+ uintptr_t
875
+ ulong
876
+ unchar
877
+ useconds_t
878
+ ushort
879
+ vaddr_t
880
+ vsize_t
881
+ ```
882
+
883
+ ## EXAMPLES
884
+
885
+ Packs a single value and print it to stdout:
886
+
887
+ $ ronin pack uint32:1337 | hexdump -C
888
+
889
+ Packs multiple values and prints them to stdout:
890
+
891
+ $ ronin pack uint32:1337 int32:-2 char:A string:hello | hexdump -C
892
+ 00000000 39 05 00 00 fe ff ff ff 41 68 65 6c 6c 6f 00 |9.......Ahello.|
893
+ 0000000f
894
+
895
+ Packs multiple values and write them to an output file:
896
+
897
+ $ ronin pack -o file.bin uint32:1337 int32:-2 char:A --string hello
898
+
899
+ Packs values in big endian:
900
+
901
+ $ ronin pack --endian big uint32:1337 int32:-2 | hexdump -C
902
+ 00000000 00 00 05 39 ff ff ff fe |...9....|
903
+ 00000008
904
+
905
+ Packs values for the ARM (big-endian) architecture:
906
+
907
+ $ ronin pack --arch arm_be uint32:0x12345678 | hexdump -C
908
+ 00000000 12 34 56 78 |.4Vx|
909
+ 00000004
910
+
911
+ Packs values for the ARM (little-endian) architecture:
912
+
913
+ $ ronin pack --arch arm_le uint32:0x12345678 | hexdump -C
914
+ 00000000 78 56 34 12 |xV4.|
915
+ 00000004
916
+
917
+ Packs values for Windows (x86-64):
918
+
919
+ $ ronin pack --arch x86_64 --os windows uint:0x11223344 | hexdump -C
920
+ 00000000 44 33 22 11 |D3".|
921
+ 00000004
922
+
923
+ ## AUTHOR
924
+
925
+ Postmodern <postmodern.mod3@gmail.com>
926
+
927
+ ## SEE ALSO
928
+
929
+ [ronin-unpack](ronin-unpack.1.md)