binary-refinery 0.7.0__tar.gz → 0.7.2__tar.gz

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.
Files changed (383) hide show
  1. {binary_refinery-0.7.0/binary_refinery.egg-info → binary_refinery-0.7.2}/PKG-INFO +76 -76
  2. {binary_refinery-0.7.0 → binary_refinery-0.7.2/binary_refinery.egg-info}/PKG-INFO +76 -76
  3. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/binary_refinery.egg-info/SOURCES.txt +2 -1
  4. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/binary_refinery.egg-info/entry_points.txt +7 -1
  5. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/__init__.pkl +0 -0
  6. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/__init__.py +1 -1
  7. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/argformats.py +34 -9
  8. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/argparser.py +4 -4
  9. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/frame.py +4 -4
  10. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/meta.py +12 -3
  11. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/types.py +1 -0
  12. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/__init__.py +85 -58
  13. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/b64.py +26 -1
  14. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/a3x.py +21 -5
  15. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtpyi.py +55 -31
  16. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/exe/vstack.py +14 -1
  17. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/ifps.py +5 -1
  18. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/msi.py +58 -1
  19. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnfields.py +4 -3
  20. binary_refinery-0.7.2/refinery/units/malware/kramer.py +111 -0
  21. binary_refinery-0.7.2/refinery/units/meta/__init__.py +48 -0
  22. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/cm.py +1 -1
  23. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/iff.py +2 -4
  24. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/iffp.py +2 -3
  25. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/iffs.py +2 -4
  26. binary_refinery-0.7.2/refinery/units/meta/iffx.py +13 -0
  27. binary_refinery-0.7.2/refinery/units/meta/loop.py +78 -0
  28. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/pick.py +21 -0
  29. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/queue.py +3 -2
  30. binary_refinery-0.7.2/refinery/units/meta/reduce.py +45 -0
  31. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/__init__.py +49 -12
  32. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve.py +30 -0
  33. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/resplit.py +2 -2
  34. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/resub.py +2 -2
  35. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/rex.py +2 -2
  36. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/struct_parser.py +3 -1
  37. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/xtp.py +2 -1
  38. binary_refinery-0.7.0/refinery/units/meta/__init__.py +0 -57
  39. binary_refinery-0.7.0/refinery/units/meta/cull.py +0 -19
  40. binary_refinery-0.7.0/refinery/units/meta/iffx.py +0 -31
  41. binary_refinery-0.7.0/refinery/units/meta/reduce.py +0 -50
  42. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/LICENSE +0 -0
  43. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/MANIFEST.in +0 -0
  44. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/README.md +0 -0
  45. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/binary_refinery.egg-info/dependency_links.txt +0 -0
  46. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/binary_refinery.egg-info/requires.txt +75 -75
  47. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/binary_refinery.egg-info/top_level.txt +0 -0
  48. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/pyproject.toml +0 -0
  49. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/data/__init__.py +0 -0
  50. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/data/rich.json +0 -0
  51. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/explore.py +0 -0
  52. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/__init__.py +0 -0
  53. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/chunks.py +0 -0
  54. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/crypto.py +0 -0
  55. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/decompression.py +0 -0
  56. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/decorators.py +0 -0
  57. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/deobfuscation.py +0 -0
  58. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/dex.py +0 -0
  59. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/dotnet/__init__.py +0 -0
  60. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/dotnet/deserialize.py +0 -0
  61. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/dotnet/header.py +0 -0
  62. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/dotnet/resources.py +0 -0
  63. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/dotnet/types.py +0 -0
  64. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/environment.py +0 -0
  65. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/executable.py +0 -0
  66. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/inline.py +0 -0
  67. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/java.py +0 -0
  68. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/json.py +0 -0
  69. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/loader.py +0 -0
  70. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/magic.py +0 -0
  71. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/mime.py +0 -0
  72. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/mscrypto.py +0 -0
  73. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/murmur.py +0 -0
  74. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/patterns/__init__.py +0 -0
  75. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/patterns/tlds.py +0 -0
  76. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/powershell.py +0 -0
  77. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/ripemd128.py +0 -0
  78. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/serpent.py +0 -0
  79. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/structures.py +0 -0
  80. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/suffixtree.py +0 -0
  81. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/thirdparty/__init__.py +0 -0
  82. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/thirdparty/acefile.py +0 -0
  83. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/thirdparty/batch_interpreter.py +0 -0
  84. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/thirdparty/pcode2code.py +0 -0
  85. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/thirdparty/pyflate.py +0 -0
  86. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/thirdparty/xxhash.py +0 -0
  87. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/tools.py +0 -0
  88. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/vfs.py +0 -0
  89. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/winclip.py +0 -0
  90. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/lib/xml.py +0 -0
  91. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/shell.py +0 -0
  92. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/__init__.py +0 -0
  93. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/add.py +0 -0
  94. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/alu.py +0 -0
  95. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/bitrev.py +0 -0
  96. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/bitsnip.py +0 -0
  97. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/byteswap.py +0 -0
  98. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/map.py +0 -0
  99. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/neg.py +0 -0
  100. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/pack.py +0 -0
  101. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/rev.py +0 -0
  102. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/rotl.py +0 -0
  103. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/rotr.py +0 -0
  104. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/shl.py +0 -0
  105. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/shr.py +0 -0
  106. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/sub.py +0 -0
  107. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/terminate.py +0 -0
  108. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/blockwise/xor.py +0 -0
  109. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/__init__.py +0 -0
  110. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/ap.py +0 -0
  111. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/blz.py +0 -0
  112. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/bz2.py +0 -0
  113. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/decompress.py +0 -0
  114. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/jcalg.py +0 -0
  115. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lz.py +0 -0
  116. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lz4.py +0 -0
  117. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lzf.py +0 -0
  118. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lzg.py +0 -0
  119. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lzip.py +0 -0
  120. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lzjb.py +0 -0
  121. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lznt1.py +0 -0
  122. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lzo.py +0 -0
  123. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/lzw.py +0 -0
  124. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/mscf.py +0 -0
  125. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/nrv.py +0 -0
  126. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/qlz.py +0 -0
  127. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/szdd.py +0 -0
  128. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/zl.py +0 -0
  129. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/compression/zstd.py +0 -0
  130. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/__init__.py +0 -0
  131. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/__init__.py +0 -0
  132. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/aes.py +0 -0
  133. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/blabla.py +0 -0
  134. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/blowfish.py +0 -0
  135. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/camellia.py +0 -0
  136. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/cast.py +0 -0
  137. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/chacha.py +0 -0
  138. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/chaskey.py +0 -0
  139. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/des.py +0 -0
  140. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/des3.py +0 -0
  141. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/fernet.py +0 -0
  142. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/gost.py +0 -0
  143. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/hc128.py +0 -0
  144. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/hc256.py +0 -0
  145. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/isaac.py +0 -0
  146. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rabbit.py +0 -0
  147. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rc2.py +0 -0
  148. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rc4.py +0 -0
  149. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rc4mod.py +0 -0
  150. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rc5.py +0 -0
  151. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rc6.py +0 -0
  152. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rijndael.py +0 -0
  153. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rncrypt.py +0 -0
  154. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rot.py +0 -0
  155. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rsa.py +0 -0
  156. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/rsakey.py +0 -0
  157. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/salsa.py +0 -0
  158. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/seal.py +0 -0
  159. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/secstr.py +0 -0
  160. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/serpent.py +0 -0
  161. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/sm4.py +0 -0
  162. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/sosemanuk.py +0 -0
  163. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/tea.py +0 -0
  164. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/vigenere.py +0 -0
  165. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/xtea.py +0 -0
  166. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/cipher/xxtea.py +0 -0
  167. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/hash/__init__.py +0 -0
  168. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/hash/checksums.py +0 -0
  169. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/hash/cryptographic.py +0 -0
  170. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/hash/imphash.py +0 -0
  171. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/hash/murmur.py +0 -0
  172. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/hash/password_hashes.py +0 -0
  173. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/hash/xxhash.py +0 -0
  174. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/__init__.py +0 -0
  175. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/deskd.py +0 -0
  176. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/hkdf.py +0 -0
  177. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/hmac.py +0 -0
  178. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/kblob.py +0 -0
  179. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/mscdk.py +0 -0
  180. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/mspdb.py +0 -0
  181. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/pbkdf1.py +0 -0
  182. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/pbkdf2.py +0 -0
  183. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/crypto/keyderive/unixcrypt.py +0 -0
  184. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/__init__.py +0 -0
  185. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/atbash.py +0 -0
  186. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/b32.py +0 -0
  187. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/b58.py +0 -0
  188. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/b85.py +0 -0
  189. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/b92.py +0 -0
  190. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/base.py +0 -0
  191. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/cp1252.py +0 -0
  192. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/esc.py +0 -0
  193. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/hex.py +0 -0
  194. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/htmlesc.py +0 -0
  195. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/netbios.py +0 -0
  196. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/ps1str.py +0 -0
  197. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/recode.py +0 -0
  198. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/u16.py +0 -0
  199. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/url.py +0 -0
  200. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/uuenc.py +0 -0
  201. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/encoding/wshenc.py +0 -0
  202. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/__init__.py +0 -0
  203. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/__init__.py +0 -0
  204. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xt.py +0 -0
  205. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xt7z.py +0 -0
  206. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtace.py +0 -0
  207. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtasar.py +0 -0
  208. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtcab.py +0 -0
  209. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtcpio.py +0 -0
  210. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtgz.py +0 -0
  211. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtiso.py +0 -0
  212. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtiss.py +0 -0
  213. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtmacho.py +0 -0
  214. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtmagtape.py +0 -0
  215. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtnode.py +0 -0
  216. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtnsis.py +0 -0
  217. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtnuitka.py +0 -0
  218. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xttar.py +0 -0
  219. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtzip.py +0 -0
  220. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/archive/xtzpaq.py +0 -0
  221. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/bat.py +0 -0
  222. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/csv.py +0 -0
  223. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/deserialize_php.py +0 -0
  224. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/dexstr.py +0 -0
  225. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/email.py +0 -0
  226. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/evtx.py +0 -0
  227. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/exe/__init__.py +0 -0
  228. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/exe/opc.py +0 -0
  229. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/exe/vaddr.py +0 -0
  230. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/exe/vmemref.py +0 -0
  231. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/exe/vsect.py +0 -0
  232. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/exe/vsnip.py +0 -0
  233. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/hexload.py +0 -0
  234. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/html.py +0 -0
  235. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/httpresponse.py +0 -0
  236. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/ifpsstr.py +0 -0
  237. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/java/__init__.py +0 -0
  238. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/java/deserialize.py +0 -0
  239. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/java/jvdasm.py +0 -0
  240. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/java/jvstr.py +0 -0
  241. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/json.py +0 -0
  242. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/lnk.py +0 -0
  243. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/macho/__init__.py +0 -0
  244. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/macho/machometa.py +0 -0
  245. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/msgpack.py +0 -0
  246. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/__init__.py +0 -0
  247. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/doctxt.py +0 -0
  248. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/officecrypt.py +0 -0
  249. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/vbapc.py +0 -0
  250. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/vbastr.py +0 -0
  251. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/xlmdeobf.py +0 -0
  252. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/xlxtr.py +0 -0
  253. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/xtdoc.py +0 -0
  254. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/xtone.py +0 -0
  255. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/xtrtf.py +0 -0
  256. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/office/xtvba.py +0 -0
  257. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pcap.py +0 -0
  258. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pcap_http.py +0 -0
  259. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pdf.py +0 -0
  260. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/__init__.py +0 -0
  261. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/__init__.py +0 -0
  262. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnblob.py +0 -0
  263. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dncfx.py +0 -0
  264. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnds.py +0 -0
  265. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnhdr.py +0 -0
  266. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnmr.py +0 -0
  267. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnrc.py +0 -0
  268. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnsfx.py +0 -0
  269. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/dotnet/dnstr.py +0 -0
  270. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/pedebloat.py +0 -0
  271. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/pemeta.py +0 -0
  272. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/peoverlay.py +0 -0
  273. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/perc.py +0 -0
  274. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/pesig.py +0 -0
  275. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pe/pestrip.py +0 -0
  276. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pkcs7.py +0 -0
  277. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pkcs7sig.py +0 -0
  278. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/pyc.py +0 -0
  279. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/stego.py +0 -0
  280. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/tnetmtm.py +0 -0
  281. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/winreg.py +0 -0
  282. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/formats/xml.py +0 -0
  283. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/malware/__init__.py +0 -0
  284. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/malware/n40.py +0 -0
  285. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/chop.py +0 -0
  286. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/dedup.py +0 -0
  287. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/eat.py +0 -0
  288. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/ef.py +0 -0
  289. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/emit.py +0 -0
  290. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/group.py +0 -0
  291. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/groupby.py +0 -0
  292. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/max.py +0 -0
  293. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/min.py +0 -0
  294. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/mvg.py +0 -0
  295. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/pad.py +0 -0
  296. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/pop.py +0 -0
  297. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/push.py +0 -0
  298. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/put.py +0 -0
  299. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/rmv.py +0 -0
  300. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/scope.py +0 -0
  301. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/sep.py +0 -0
  302. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/sorted.py +0 -0
  303. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/swap.py +0 -0
  304. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/transpose.py +0 -0
  305. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/urn.py +0 -0
  306. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/meta/xfcc.py +0 -0
  307. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/__init__.py +0 -0
  308. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/autoxor.py +0 -0
  309. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/couple.py +0 -0
  310. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/datefix.py +0 -0
  311. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/drp.py +0 -0
  312. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/nop.py +0 -0
  313. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/urlfix.py +0 -0
  314. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/misc/xkey.py +0 -0
  315. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/__init__.py +0 -0
  316. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/js/__init__.py +0 -0
  317. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/js/arrays.py +0 -0
  318. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/js/getattr.py +0 -0
  319. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/js/tuples.py +0 -0
  320. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/__init__.py +0 -0
  321. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/all.py +0 -0
  322. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/b64convert.py +0 -0
  323. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/brackets.py +0 -0
  324. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/cases.py +0 -0
  325. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/concat.py +0 -0
  326. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/encodings.py +0 -0
  327. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/escape.py +0 -0
  328. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/format.py +0 -0
  329. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/invoke.py +0 -0
  330. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/securestring.py +0 -0
  331. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/stringreplace.py +0 -0
  332. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/typecast.py +0 -0
  333. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/ps1/uncurly.py +0 -0
  334. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/__init__.py +0 -0
  335. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/all.py +0 -0
  336. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/arithmetic.py +0 -0
  337. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/brackets.py +0 -0
  338. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/char.py +0 -0
  339. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/comments.py +0 -0
  340. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/concat.py +0 -0
  341. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/constants.py +0 -0
  342. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/dummies.py +0 -0
  343. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/stringreplace.py +0 -0
  344. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/stringreverse.py +0 -0
  345. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/obfuscation/vba/vba.py +0 -0
  346. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve_7z.py +0 -0
  347. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve_json.py +0 -0
  348. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve_lnk.py +0 -0
  349. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve_pe.py +0 -0
  350. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve_rtf.py +0 -0
  351. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve_xml.py +0 -0
  352. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/carve_zip.py +0 -0
  353. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/defang.py +0 -0
  354. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/dnsdomain.py +0 -0
  355. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/mimewords.py +0 -0
  356. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/subfiles.py +0 -0
  357. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/urlguards.py +0 -0
  358. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/pattern/xtw.py +0 -0
  359. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/__init__.py +0 -0
  360. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/asm.py +0 -0
  361. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/dump.py +0 -0
  362. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/iemap.py +0 -0
  363. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/peek.py +0 -0
  364. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/ppjscript.py +0 -0
  365. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/ppjson.py +0 -0
  366. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/sinks/ppxml.py +0 -0
  367. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/__init__.py +0 -0
  368. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/bruteforce.py +0 -0
  369. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/cca.py +0 -0
  370. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/ccp.py +0 -0
  371. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/cfmt.py +0 -0
  372. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/clower.py +0 -0
  373. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/cswap.py +0 -0
  374. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/cupper.py +0 -0
  375. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/ngrams.py +0 -0
  376. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/rep.py +0 -0
  377. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/repl.py +0 -0
  378. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/snip.py +0 -0
  379. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/stretch.py +0 -0
  380. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/termfit.py +0 -0
  381. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/refinery/units/strings/trim.py +0 -0
  382. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/setup.cfg +0 -0
  383. {binary_refinery-0.7.0 → binary_refinery-0.7.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: binary-refinery
3
- Version: 0.7.0
3
+ Version: 0.7.2
4
4
  Summary: A toolkit to transform and refine (mostly) binary data.
5
5
  Home-page: https://github.com/binref/refinery/
6
6
  Author: Jesko Huettenhain
@@ -27,126 +27,126 @@ Requires-Dist: setuptools
27
27
  Requires-Dist: toml
28
28
  Requires-Dist: wheel
29
29
  Requires-Dist: python-magic
30
- Requires-Dist: pyperclip
31
30
  Requires-Dist: capstone
31
+ Requires-Dist: pyperclip
32
32
  Provides-Extra: all
33
- Requires-Dist: asn1crypto; extra == "all"
34
- Requires-Dist: pycdlib; extra == "all"
35
- Requires-Dist: oletools; extra == "all"
36
- Requires-Dist: pyzstd; extra == "all"
37
- Requires-Dist: uncompyle6; extra == "all"
38
- Requires-Dist: openpyxl; extra == "all"
39
- Requires-Dist: py7zr; extra == "all"
40
- Requires-Dist: chardet; extra == "all"
41
- Requires-Dist: xdis; extra == "all"
42
- Requires-Dist: msoffcrypto-tool; extra == "all"
43
- Requires-Dist: pyonenote; extra == "all"
44
- Requires-Dist: colorama; extra == "all"
45
- Requires-Dist: angr; extra == "all"
46
- Requires-Dist: pyxlsb2; extra == "all"
47
- Requires-Dist: capstone; extra == "all"
48
- Requires-Dist: jsbeautifier; extra == "all"
49
- Requires-Dist: phpserialize; extra == "all"
50
- Requires-Dist: unicorn; extra == "all"
51
33
  Requires-Dist: k2l>=2.0; extra == "all"
52
- Requires-Dist: intervaltree; extra == "all"
34
+ Requires-Dist: unicorn; extra == "all"
35
+ Requires-Dist: cabarchive; extra == "all"
36
+ Requires-Dist: Pillow; extra == "all"
37
+ Requires-Dist: decompyle3; extra == "all"
53
38
  Requires-Dist: python-evtx; extra == "all"
54
- Requires-Dist: javaobj-py3>=0.4.0.1; extra == "all"
55
- Requires-Dist: LnkParse3>=1.4.0; extra == "all"
56
- Requires-Dist: pypdf>=3.1.0; extra == "all"
57
- Requires-Dist: olefile; extra == "all"
39
+ Requires-Dist: oletools; extra == "all"
58
40
  Requires-Dist: xlrd2; extra == "all"
59
- Requires-Dist: Pillow; extra == "all"
41
+ Requires-Dist: colorama; extra == "all"
42
+ Requires-Dist: chardet; extra == "all"
43
+ Requires-Dist: extract-msg<=0.41.0; extra == "all"
44
+ Requires-Dist: pypcapkit[scapy]>=1.3; extra == "all"
60
45
  Requires-Dist: pyzipper; extra == "all"
46
+ Requires-Dist: openpyxl; extra == "all"
47
+ Requires-Dist: javaobj-py3>=0.4.0.1; extra == "all"
48
+ Requires-Dist: asn1crypto; extra == "all"
49
+ Requires-Dist: intervaltree; extra == "all"
61
50
  Requires-Dist: XLMMacroDeobfuscator; extra == "all"
62
- Requires-Dist: pypcapkit[scapy]>=1.3; extra == "all"
63
- Requires-Dist: cabarchive; extra == "all"
64
- Requires-Dist: decompyle3; extra == "all"
51
+ Requires-Dist: LnkParse3>=1.4.0; extra == "all"
52
+ Requires-Dist: pyxlsb2; extra == "all"
65
53
  Requires-Dist: mitmproxy; extra == "all"
66
- Requires-Dist: extract-msg<=0.41.0; extra == "all"
67
- Requires-Dist: numpy; extra == "all"
54
+ Requires-Dist: py7zr; extra == "all"
55
+ Requires-Dist: angr; extra == "all"
56
+ Requires-Dist: pyzstd; extra == "all"
57
+ Requires-Dist: uncompyle6; extra == "all"
68
58
  Requires-Dist: python-registry; extra == "all"
59
+ Requires-Dist: olefile; extra == "all"
60
+ Requires-Dist: phpserialize; extra == "all"
61
+ Requires-Dist: msoffcrypto-tool; extra == "all"
62
+ Requires-Dist: numpy; extra == "all"
63
+ Requires-Dist: pyonenote; extra == "all"
64
+ Requires-Dist: pycdlib; extra == "all"
65
+ Requires-Dist: capstone; extra == "all"
66
+ Requires-Dist: xdis; extra == "all"
67
+ Requires-Dist: pypdf>=3.1.0; extra == "all"
68
+ Requires-Dist: jsbeautifier; extra == "all"
69
69
  Provides-Extra: speed
70
70
  Requires-Dist: numpy; extra == "speed"
71
71
  Provides-Extra: default
72
- Requires-Dist: asn1crypto; extra == "default"
73
- Requires-Dist: pycdlib; extra == "default"
74
72
  Requires-Dist: unicorn; extra == "default"
75
- Requires-Dist: intervaltree; extra == "default"
73
+ Requires-Dist: cabarchive; extra == "default"
76
74
  Requires-Dist: LnkParse3>=1.4.0; extra == "default"
77
- Requires-Dist: pypdf>=3.1.0; extra == "default"
78
75
  Requires-Dist: py7zr; extra == "default"
79
- Requires-Dist: pyzipper; extra == "default"
80
- Requires-Dist: chardet; extra == "default"
76
+ Requires-Dist: asn1crypto; extra == "default"
81
77
  Requires-Dist: colorama; extra == "default"
82
- Requires-Dist: cabarchive; extra == "default"
83
- Requires-Dist: extract-msg<=0.41.0; extra == "default"
78
+ Requires-Dist: chardet; extra == "default"
84
79
  Requires-Dist: numpy; extra == "default"
80
+ Requires-Dist: extract-msg<=0.41.0; extra == "default"
81
+ Requires-Dist: pycdlib; extra == "default"
85
82
  Requires-Dist: capstone; extra == "default"
83
+ Requires-Dist: pypdf>=3.1.0; extra == "default"
84
+ Requires-Dist: pyzipper; extra == "default"
85
+ Requires-Dist: intervaltree; extra == "default"
86
86
  Provides-Extra: extended
87
- Requires-Dist: asn1crypto; extra == "extended"
88
- Requires-Dist: pycdlib; extra == "extended"
87
+ Requires-Dist: unicorn; extra == "extended"
88
+ Requires-Dist: cabarchive; extra == "extended"
89
89
  Requires-Dist: oletools; extra == "extended"
90
- Requires-Dist: uncompyle6; extra == "extended"
91
- Requires-Dist: openpyxl; extra == "extended"
92
- Requires-Dist: py7zr; extra == "extended"
93
- Requires-Dist: chardet; extra == "extended"
94
- Requires-Dist: xdis; extra == "extended"
95
- Requires-Dist: pyonenote; extra == "extended"
90
+ Requires-Dist: xlrd2; extra == "extended"
96
91
  Requires-Dist: colorama; extra == "extended"
97
- Requires-Dist: pyxlsb2; extra == "extended"
98
- Requires-Dist: capstone; extra == "extended"
99
- Requires-Dist: jsbeautifier; extra == "extended"
100
- Requires-Dist: unicorn; extra == "extended"
92
+ Requires-Dist: chardet; extra == "extended"
93
+ Requires-Dist: extract-msg<=0.41.0; extra == "extended"
94
+ Requires-Dist: openpyxl; extra == "extended"
95
+ Requires-Dist: pyzipper; extra == "extended"
96
+ Requires-Dist: asn1crypto; extra == "extended"
101
97
  Requires-Dist: intervaltree; extra == "extended"
98
+ Requires-Dist: pyxlsb2; extra == "extended"
102
99
  Requires-Dist: LnkParse3>=1.4.0; extra == "extended"
103
- Requires-Dist: pypdf>=3.1.0; extra == "extended"
100
+ Requires-Dist: py7zr; extra == "extended"
101
+ Requires-Dist: uncompyle6; extra == "extended"
104
102
  Requires-Dist: olefile; extra == "extended"
105
- Requires-Dist: xlrd2; extra == "extended"
106
- Requires-Dist: pyzipper; extra == "extended"
107
- Requires-Dist: cabarchive; extra == "extended"
108
- Requires-Dist: extract-msg<=0.41.0; extra == "extended"
103
+ Requires-Dist: pyonenote; extra == "extended"
104
+ Requires-Dist: pypdf>=3.1.0; extra == "extended"
109
105
  Requires-Dist: numpy; extra == "extended"
106
+ Requires-Dist: pycdlib; extra == "extended"
107
+ Requires-Dist: capstone; extra == "extended"
108
+ Requires-Dist: xdis; extra == "extended"
109
+ Requires-Dist: jsbeautifier; extra == "extended"
110
110
  Provides-Extra: arc
111
+ Requires-Dist: cabarchive; extra == "arc"
112
+ Requires-Dist: py7zr; extra == "arc"
111
113
  Requires-Dist: pyzstd; extra == "arc"
112
114
  Requires-Dist: uncompyle6; extra == "arc"
113
- Requires-Dist: py7zr; extra == "arc"
114
- Requires-Dist: pyzipper; extra == "arc"
115
- Requires-Dist: xdis; extra == "arc"
116
- Requires-Dist: cabarchive; extra == "arc"
117
115
  Requires-Dist: decompyle3; extra == "arc"
118
116
  Requires-Dist: pycdlib; extra == "arc"
117
+ Requires-Dist: xdis; extra == "arc"
118
+ Requires-Dist: pyzipper; extra == "arc"
119
119
  Provides-Extra: python
120
120
  Requires-Dist: uncompyle6; extra == "python"
121
121
  Requires-Dist: xdis; extra == "python"
122
122
  Requires-Dist: decompyle3; extra == "python"
123
123
  Provides-Extra: formats
124
- Requires-Dist: phpserialize; extra == "formats"
125
- Requires-Dist: oletools; extra == "formats"
124
+ Requires-Dist: XLMMacroDeobfuscator; extra == "formats"
126
125
  Requires-Dist: LnkParse3>=1.4.0; extra == "formats"
126
+ Requires-Dist: pyxlsb2; extra == "formats"
127
+ Requires-Dist: Pillow; extra == "formats"
128
+ Requires-Dist: python-registry; extra == "formats"
129
+ Requires-Dist: oletools; extra == "formats"
127
130
  Requires-Dist: python-evtx; extra == "formats"
128
- Requires-Dist: javaobj-py3>=0.4.0.1; extra == "formats"
129
- Requires-Dist: openpyxl; extra == "formats"
130
- Requires-Dist: pypdf>=3.1.0; extra == "formats"
131
+ Requires-Dist: msoffcrypto-tool; extra == "formats"
132
+ Requires-Dist: phpserialize; extra == "formats"
133
+ Requires-Dist: extract-msg<=0.41.0; extra == "formats"
131
134
  Requires-Dist: olefile; extra == "formats"
132
135
  Requires-Dist: xlrd2; extra == "formats"
133
- Requires-Dist: Pillow; extra == "formats"
134
- Requires-Dist: XLMMacroDeobfuscator; extra == "formats"
135
136
  Requires-Dist: pyonenote; extra == "formats"
136
- Requires-Dist: msoffcrypto-tool; extra == "formats"
137
- Requires-Dist: extract-msg<=0.41.0; extra == "formats"
138
- Requires-Dist: pyxlsb2; extra == "formats"
139
- Requires-Dist: python-registry; extra == "formats"
137
+ Requires-Dist: pypdf>=3.1.0; extra == "formats"
138
+ Requires-Dist: openpyxl; extra == "formats"
139
+ Requires-Dist: javaobj-py3>=0.4.0.1; extra == "formats"
140
140
  Provides-Extra: office
141
+ Requires-Dist: XLMMacroDeobfuscator; extra == "office"
142
+ Requires-Dist: pyxlsb2; extra == "office"
143
+ Requires-Dist: xlrd2; extra == "office"
141
144
  Requires-Dist: oletools; extra == "office"
142
- Requires-Dist: openpyxl; extra == "office"
143
145
  Requires-Dist: olefile; extra == "office"
144
- Requires-Dist: xlrd2; extra == "office"
145
- Requires-Dist: XLMMacroDeobfuscator; extra == "office"
146
- Requires-Dist: pyonenote; extra == "office"
147
146
  Requires-Dist: msoffcrypto-tool; extra == "office"
148
147
  Requires-Dist: extract-msg<=0.41.0; extra == "office"
149
- Requires-Dist: pyxlsb2; extra == "office"
148
+ Requires-Dist: pyonenote; extra == "office"
149
+ Requires-Dist: openpyxl; extra == "office"
150
150
  Provides-Extra: display
151
151
  Requires-Dist: colorama; extra == "display"
152
152
  Requires-Dist: jsbeautifier; extra == "display"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: binary-refinery
3
- Version: 0.7.0
3
+ Version: 0.7.2
4
4
  Summary: A toolkit to transform and refine (mostly) binary data.
5
5
  Home-page: https://github.com/binref/refinery/
6
6
  Author: Jesko Huettenhain
@@ -27,126 +27,126 @@ Requires-Dist: setuptools
27
27
  Requires-Dist: toml
28
28
  Requires-Dist: wheel
29
29
  Requires-Dist: python-magic
30
- Requires-Dist: pyperclip
31
30
  Requires-Dist: capstone
31
+ Requires-Dist: pyperclip
32
32
  Provides-Extra: all
33
- Requires-Dist: asn1crypto; extra == "all"
34
- Requires-Dist: pycdlib; extra == "all"
35
- Requires-Dist: oletools; extra == "all"
36
- Requires-Dist: pyzstd; extra == "all"
37
- Requires-Dist: uncompyle6; extra == "all"
38
- Requires-Dist: openpyxl; extra == "all"
39
- Requires-Dist: py7zr; extra == "all"
40
- Requires-Dist: chardet; extra == "all"
41
- Requires-Dist: xdis; extra == "all"
42
- Requires-Dist: msoffcrypto-tool; extra == "all"
43
- Requires-Dist: pyonenote; extra == "all"
44
- Requires-Dist: colorama; extra == "all"
45
- Requires-Dist: angr; extra == "all"
46
- Requires-Dist: pyxlsb2; extra == "all"
47
- Requires-Dist: capstone; extra == "all"
48
- Requires-Dist: jsbeautifier; extra == "all"
49
- Requires-Dist: phpserialize; extra == "all"
50
- Requires-Dist: unicorn; extra == "all"
51
33
  Requires-Dist: k2l>=2.0; extra == "all"
52
- Requires-Dist: intervaltree; extra == "all"
34
+ Requires-Dist: unicorn; extra == "all"
35
+ Requires-Dist: cabarchive; extra == "all"
36
+ Requires-Dist: Pillow; extra == "all"
37
+ Requires-Dist: decompyle3; extra == "all"
53
38
  Requires-Dist: python-evtx; extra == "all"
54
- Requires-Dist: javaobj-py3>=0.4.0.1; extra == "all"
55
- Requires-Dist: LnkParse3>=1.4.0; extra == "all"
56
- Requires-Dist: pypdf>=3.1.0; extra == "all"
57
- Requires-Dist: olefile; extra == "all"
39
+ Requires-Dist: oletools; extra == "all"
58
40
  Requires-Dist: xlrd2; extra == "all"
59
- Requires-Dist: Pillow; extra == "all"
41
+ Requires-Dist: colorama; extra == "all"
42
+ Requires-Dist: chardet; extra == "all"
43
+ Requires-Dist: extract-msg<=0.41.0; extra == "all"
44
+ Requires-Dist: pypcapkit[scapy]>=1.3; extra == "all"
60
45
  Requires-Dist: pyzipper; extra == "all"
46
+ Requires-Dist: openpyxl; extra == "all"
47
+ Requires-Dist: javaobj-py3>=0.4.0.1; extra == "all"
48
+ Requires-Dist: asn1crypto; extra == "all"
49
+ Requires-Dist: intervaltree; extra == "all"
61
50
  Requires-Dist: XLMMacroDeobfuscator; extra == "all"
62
- Requires-Dist: pypcapkit[scapy]>=1.3; extra == "all"
63
- Requires-Dist: cabarchive; extra == "all"
64
- Requires-Dist: decompyle3; extra == "all"
51
+ Requires-Dist: LnkParse3>=1.4.0; extra == "all"
52
+ Requires-Dist: pyxlsb2; extra == "all"
65
53
  Requires-Dist: mitmproxy; extra == "all"
66
- Requires-Dist: extract-msg<=0.41.0; extra == "all"
67
- Requires-Dist: numpy; extra == "all"
54
+ Requires-Dist: py7zr; extra == "all"
55
+ Requires-Dist: angr; extra == "all"
56
+ Requires-Dist: pyzstd; extra == "all"
57
+ Requires-Dist: uncompyle6; extra == "all"
68
58
  Requires-Dist: python-registry; extra == "all"
59
+ Requires-Dist: olefile; extra == "all"
60
+ Requires-Dist: phpserialize; extra == "all"
61
+ Requires-Dist: msoffcrypto-tool; extra == "all"
62
+ Requires-Dist: numpy; extra == "all"
63
+ Requires-Dist: pyonenote; extra == "all"
64
+ Requires-Dist: pycdlib; extra == "all"
65
+ Requires-Dist: capstone; extra == "all"
66
+ Requires-Dist: xdis; extra == "all"
67
+ Requires-Dist: pypdf>=3.1.0; extra == "all"
68
+ Requires-Dist: jsbeautifier; extra == "all"
69
69
  Provides-Extra: speed
70
70
  Requires-Dist: numpy; extra == "speed"
71
71
  Provides-Extra: default
72
- Requires-Dist: asn1crypto; extra == "default"
73
- Requires-Dist: pycdlib; extra == "default"
74
72
  Requires-Dist: unicorn; extra == "default"
75
- Requires-Dist: intervaltree; extra == "default"
73
+ Requires-Dist: cabarchive; extra == "default"
76
74
  Requires-Dist: LnkParse3>=1.4.0; extra == "default"
77
- Requires-Dist: pypdf>=3.1.0; extra == "default"
78
75
  Requires-Dist: py7zr; extra == "default"
79
- Requires-Dist: pyzipper; extra == "default"
80
- Requires-Dist: chardet; extra == "default"
76
+ Requires-Dist: asn1crypto; extra == "default"
81
77
  Requires-Dist: colorama; extra == "default"
82
- Requires-Dist: cabarchive; extra == "default"
83
- Requires-Dist: extract-msg<=0.41.0; extra == "default"
78
+ Requires-Dist: chardet; extra == "default"
84
79
  Requires-Dist: numpy; extra == "default"
80
+ Requires-Dist: extract-msg<=0.41.0; extra == "default"
81
+ Requires-Dist: pycdlib; extra == "default"
85
82
  Requires-Dist: capstone; extra == "default"
83
+ Requires-Dist: pypdf>=3.1.0; extra == "default"
84
+ Requires-Dist: pyzipper; extra == "default"
85
+ Requires-Dist: intervaltree; extra == "default"
86
86
  Provides-Extra: extended
87
- Requires-Dist: asn1crypto; extra == "extended"
88
- Requires-Dist: pycdlib; extra == "extended"
87
+ Requires-Dist: unicorn; extra == "extended"
88
+ Requires-Dist: cabarchive; extra == "extended"
89
89
  Requires-Dist: oletools; extra == "extended"
90
- Requires-Dist: uncompyle6; extra == "extended"
91
- Requires-Dist: openpyxl; extra == "extended"
92
- Requires-Dist: py7zr; extra == "extended"
93
- Requires-Dist: chardet; extra == "extended"
94
- Requires-Dist: xdis; extra == "extended"
95
- Requires-Dist: pyonenote; extra == "extended"
90
+ Requires-Dist: xlrd2; extra == "extended"
96
91
  Requires-Dist: colorama; extra == "extended"
97
- Requires-Dist: pyxlsb2; extra == "extended"
98
- Requires-Dist: capstone; extra == "extended"
99
- Requires-Dist: jsbeautifier; extra == "extended"
100
- Requires-Dist: unicorn; extra == "extended"
92
+ Requires-Dist: chardet; extra == "extended"
93
+ Requires-Dist: extract-msg<=0.41.0; extra == "extended"
94
+ Requires-Dist: openpyxl; extra == "extended"
95
+ Requires-Dist: pyzipper; extra == "extended"
96
+ Requires-Dist: asn1crypto; extra == "extended"
101
97
  Requires-Dist: intervaltree; extra == "extended"
98
+ Requires-Dist: pyxlsb2; extra == "extended"
102
99
  Requires-Dist: LnkParse3>=1.4.0; extra == "extended"
103
- Requires-Dist: pypdf>=3.1.0; extra == "extended"
100
+ Requires-Dist: py7zr; extra == "extended"
101
+ Requires-Dist: uncompyle6; extra == "extended"
104
102
  Requires-Dist: olefile; extra == "extended"
105
- Requires-Dist: xlrd2; extra == "extended"
106
- Requires-Dist: pyzipper; extra == "extended"
107
- Requires-Dist: cabarchive; extra == "extended"
108
- Requires-Dist: extract-msg<=0.41.0; extra == "extended"
103
+ Requires-Dist: pyonenote; extra == "extended"
104
+ Requires-Dist: pypdf>=3.1.0; extra == "extended"
109
105
  Requires-Dist: numpy; extra == "extended"
106
+ Requires-Dist: pycdlib; extra == "extended"
107
+ Requires-Dist: capstone; extra == "extended"
108
+ Requires-Dist: xdis; extra == "extended"
109
+ Requires-Dist: jsbeautifier; extra == "extended"
110
110
  Provides-Extra: arc
111
+ Requires-Dist: cabarchive; extra == "arc"
112
+ Requires-Dist: py7zr; extra == "arc"
111
113
  Requires-Dist: pyzstd; extra == "arc"
112
114
  Requires-Dist: uncompyle6; extra == "arc"
113
- Requires-Dist: py7zr; extra == "arc"
114
- Requires-Dist: pyzipper; extra == "arc"
115
- Requires-Dist: xdis; extra == "arc"
116
- Requires-Dist: cabarchive; extra == "arc"
117
115
  Requires-Dist: decompyle3; extra == "arc"
118
116
  Requires-Dist: pycdlib; extra == "arc"
117
+ Requires-Dist: xdis; extra == "arc"
118
+ Requires-Dist: pyzipper; extra == "arc"
119
119
  Provides-Extra: python
120
120
  Requires-Dist: uncompyle6; extra == "python"
121
121
  Requires-Dist: xdis; extra == "python"
122
122
  Requires-Dist: decompyle3; extra == "python"
123
123
  Provides-Extra: formats
124
- Requires-Dist: phpserialize; extra == "formats"
125
- Requires-Dist: oletools; extra == "formats"
124
+ Requires-Dist: XLMMacroDeobfuscator; extra == "formats"
126
125
  Requires-Dist: LnkParse3>=1.4.0; extra == "formats"
126
+ Requires-Dist: pyxlsb2; extra == "formats"
127
+ Requires-Dist: Pillow; extra == "formats"
128
+ Requires-Dist: python-registry; extra == "formats"
129
+ Requires-Dist: oletools; extra == "formats"
127
130
  Requires-Dist: python-evtx; extra == "formats"
128
- Requires-Dist: javaobj-py3>=0.4.0.1; extra == "formats"
129
- Requires-Dist: openpyxl; extra == "formats"
130
- Requires-Dist: pypdf>=3.1.0; extra == "formats"
131
+ Requires-Dist: msoffcrypto-tool; extra == "formats"
132
+ Requires-Dist: phpserialize; extra == "formats"
133
+ Requires-Dist: extract-msg<=0.41.0; extra == "formats"
131
134
  Requires-Dist: olefile; extra == "formats"
132
135
  Requires-Dist: xlrd2; extra == "formats"
133
- Requires-Dist: Pillow; extra == "formats"
134
- Requires-Dist: XLMMacroDeobfuscator; extra == "formats"
135
136
  Requires-Dist: pyonenote; extra == "formats"
136
- Requires-Dist: msoffcrypto-tool; extra == "formats"
137
- Requires-Dist: extract-msg<=0.41.0; extra == "formats"
138
- Requires-Dist: pyxlsb2; extra == "formats"
139
- Requires-Dist: python-registry; extra == "formats"
137
+ Requires-Dist: pypdf>=3.1.0; extra == "formats"
138
+ Requires-Dist: openpyxl; extra == "formats"
139
+ Requires-Dist: javaobj-py3>=0.4.0.1; extra == "formats"
140
140
  Provides-Extra: office
141
+ Requires-Dist: XLMMacroDeobfuscator; extra == "office"
142
+ Requires-Dist: pyxlsb2; extra == "office"
143
+ Requires-Dist: xlrd2; extra == "office"
141
144
  Requires-Dist: oletools; extra == "office"
142
- Requires-Dist: openpyxl; extra == "office"
143
145
  Requires-Dist: olefile; extra == "office"
144
- Requires-Dist: xlrd2; extra == "office"
145
- Requires-Dist: XLMMacroDeobfuscator; extra == "office"
146
- Requires-Dist: pyonenote; extra == "office"
147
146
  Requires-Dist: msoffcrypto-tool; extra == "office"
148
147
  Requires-Dist: extract-msg<=0.41.0; extra == "office"
149
- Requires-Dist: pyxlsb2; extra == "office"
148
+ Requires-Dist: pyonenote; extra == "office"
149
+ Requires-Dist: openpyxl; extra == "office"
150
150
  Provides-Extra: display
151
151
  Requires-Dist: colorama; extra == "display"
152
152
  Requires-Dist: jsbeautifier; extra == "display"
@@ -260,11 +260,11 @@ refinery/units/formats/pe/dotnet/dnrc.py
260
260
  refinery/units/formats/pe/dotnet/dnsfx.py
261
261
  refinery/units/formats/pe/dotnet/dnstr.py
262
262
  refinery/units/malware/__init__.py
263
+ refinery/units/malware/kramer.py
263
264
  refinery/units/malware/n40.py
264
265
  refinery/units/meta/__init__.py
265
266
  refinery/units/meta/chop.py
266
267
  refinery/units/meta/cm.py
267
- refinery/units/meta/cull.py
268
268
  refinery/units/meta/dedup.py
269
269
  refinery/units/meta/eat.py
270
270
  refinery/units/meta/ef.py
@@ -275,6 +275,7 @@ refinery/units/meta/iff.py
275
275
  refinery/units/meta/iffp.py
276
276
  refinery/units/meta/iffs.py
277
277
  refinery/units/meta/iffx.py
278
+ refinery/units/meta/loop.py
278
279
  refinery/units/meta/max.py
279
280
  refinery/units/meta/min.py
280
281
  refinery/units/meta/mvg.py
@@ -51,9 +51,10 @@ cm = refinery.units.meta.cm:cm.run
51
51
  couple = refinery.units.misc.couple:couple.run
52
52
  cp1252 = refinery.units.encoding.cp1252:cp1252.run
53
53
  crc32 = refinery.units.crypto.hash.checksums:crc32.run
54
+ csb = refinery.units.pattern.carve:csb.run
55
+ csd = refinery.units.pattern.carve:csd.run
54
56
  csv = refinery.units.formats.csv:csv.run
55
57
  cswap = refinery.units.strings.cswap:cswap.run
56
- cull = refinery.units.meta.cull:cull.run
57
58
  cupper = refinery.units.strings.cupper:cupper.run
58
59
  datefix = refinery.units.misc.datefix:datefix.run
59
60
  decompress = refinery.units.compression.decompress:decompress.run
@@ -135,7 +136,9 @@ jvdasm = refinery.units.formats.java.jvdasm:jvdasm.run
135
136
  jvstr = refinery.units.formats.java.jvstr:jvstr.run
136
137
  kblob = refinery.units.crypto.keyderive.kblob:kblob.run
137
138
  keccak256 = refinery.units.crypto.hash.cryptographic:keccak256.run
139
+ kramer = refinery.units.malware.kramer:kramer.run
138
140
  lnk = refinery.units.formats.lnk:lnk.run
141
+ loop = refinery.units.meta.loop:loop.run
139
142
  lz4 = refinery.units.compression.lz4:lz4.run
140
143
  lzf = refinery.units.compression.lzf:lzf.run
141
144
  lzg = refinery.units.compression.lzg:lzg.run
@@ -172,6 +175,9 @@ nrv2e = refinery.units.compression.nrv:nrv2e.run
172
175
  ntlm = refinery.units.crypto.hash.password_hashes:ntlm.run
173
176
  officecrypt = refinery.units.formats.office.officecrypt:officecrypt.run
174
177
  opc = refinery.units.formats.exe.opc:opc.run
178
+ p1 = refinery.units.meta.pick:p1.run
179
+ p2 = refinery.units.meta.pick:p2.run
180
+ p3 = refinery.units.meta.pick:p3.run
175
181
  pack = refinery.units.blockwise.pack:pack.run
176
182
  pad = refinery.units.meta.pad:pad.run
177
183
  pbkdf1 = refinery.units.crypto.keyderive.pbkdf1:pbkdf1.run
@@ -34,7 +34,7 @@ various `refinery.units.Unit`s can be combined.
34
34
  4. `refinery.units`: writing custom units, add command-line arguments, and how to use refinery
35
35
  units within Python code.
36
36
  """
37
- __version__ = '0.7.0'
37
+ __version__ = '0.7.2'
38
38
  __distribution__ = 'binary-refinery'
39
39
 
40
40
  from typing import Dict, List, Optional, Type, TypeVar, Iterable
@@ -127,6 +127,7 @@ DelayedType = Callable[[ByteString], FinalType]
127
127
  MaybeDelayedType = Union[DelayedType[FinalType], FinalType]
128
128
 
129
129
  _DEFAULT_BITS = 64
130
+ _REVERSE_SIGN = '!'
130
131
 
131
132
 
132
133
  class ParserError(ArgumentTypeError):
@@ -430,36 +431,45 @@ class DelayedArgumentDispatch:
430
431
  self.final = {}
431
432
  self.units = {}
432
433
 
433
- def _get_unit(self, name: str, *args) -> Unit:
434
- name = normalize_to_identifier(name)
434
+ def _get_unit(self, name: str, *args) -> Optional[Unit]:
435
+ name, rev, empty = normalize_to_identifier(name).partition(_REVERSE_SIGN)
436
+ if empty:
437
+ return None
435
438
  uhash = hash((name,) + args)
436
439
  if uhash in self.units:
437
440
  return self.units[uhash]
438
441
  from refinery import load
439
442
  unit = load(name)
440
443
  unit = unit and unit.assemble(*args).log_detach()
444
+ if rev == _REVERSE_SIGN:
445
+ unit = -unit
441
446
  self.units[uhash] = unit
442
447
  return unit
443
448
 
444
449
  def __get__(self, instance, t=None):
445
450
  return self.Wrapper(self, instance)
446
451
 
447
- def __call__(self, instance, data, modifier=None, *args):
452
+ def __call__(self, instance: DelayedArgument, data, modifier=None, *args):
448
453
  try:
449
454
  handler = self.default if modifier is None else self.handlers[modifier]
455
+ except KeyError:
456
+ unit = self._get_unit(modifier, *args)
457
+ if not unit:
458
+ raise ArgumentTypeError(F'failed to build unit {modifier}')
459
+ result = list(unit.act(data))
460
+ if not result:
461
+ return B''
462
+ return B''.join(result) if len(result) > 1 else result[0]
463
+ else:
450
464
  name = next(itertools.islice(inspect.signature(handler).parameters.values(), 1, None)).name
451
465
  hint = get_type_hints(handler).get(name, None)
452
466
  if hint == Iterable[type(data)]:
453
467
  data = (data,)
454
468
  if hint == str and isbuffer(data):
469
+ if not isinstance(data, (bytes, bytearray)):
470
+ data = bytes(data)
455
471
  data = data.decode('utf8')
456
472
  return handler(instance, data, *args)
457
- except KeyError:
458
- unit = self._get_unit(modifier, *args)
459
- if not unit:
460
- raise ArgumentTypeError(F'failed to build unit {modifier}')
461
- result = unit.act(data)
462
- return result if isbuffer(result) else B''.join(result)
463
473
 
464
474
  def can_handle(self, modifier, *args):
465
475
  return modifier in self.handlers or bool(self._get_unit(modifier, *args))
@@ -1390,6 +1400,21 @@ class DelayedRegexpArgument(DelayedArgument):
1390
1400
 
1391
1401
  return expression.encode('latin-1')
1392
1402
 
1403
+ @handler.register('f', final=True)
1404
+ def format(self, name: str) -> bytes:
1405
+ """
1406
+ The handler `f:[name]` returns a regular expression for to one of the format types
1407
+ supported by `refinery.carve` unit.
1408
+ """
1409
+ from refinery.lib.patterns import formats
1410
+ try:
1411
+ return formats[name]
1412
+ except LookupError:
1413
+ raise ArgumentTypeError(
1414
+ F'Based on the prefix "f:", the parser looked for a carve format named "{name}".'
1415
+ U' No such format is known; prefix the entire expression with "s:" if this was '
1416
+ U'unintended, otherwise correct the format name spelling.')
1417
+
1393
1418
  @handler.register('yara', 'Y')
1394
1419
  def yara(self, pattern: bytes) -> bytes:
1395
1420
  """
@@ -6,7 +6,7 @@ Provides a customized argument parser that is used by all refinery `refinery.uni
6
6
  from __future__ import annotations
7
7
 
8
8
  from typing import IO, Optional, List, Dict, Any
9
- from argparse import ArgumentParser, ArgumentError, Action, RawDescriptionHelpFormatter
9
+ from argparse import ArgumentParser, ArgumentError, ArgumentTypeError, Action, RawDescriptionHelpFormatter
10
10
 
11
11
  import sys
12
12
 
@@ -136,10 +136,10 @@ class ArgumentParserWithKeywordHooks(ArgumentParser):
136
136
  self.set_defaults(**self.keywords)
137
137
  try:
138
138
  parsed = self.parse_args(args=args, namespace=namespace)
139
- except ArgumentError as e:
139
+ except (ArgumentError, ArgumentTypeError, ArgparseError) as e:
140
140
  self.error(str(e))
141
- except Exception:
142
- self.error(F'Failed to parse arguments: {args!r}')
141
+ except Exception as e:
142
+ self.error(F'Failed to parse arguments: {args!r}, {e}, {type(e).__name__}')
143
143
  for name in keywords:
144
144
  param = getattr(parsed, name, None)
145
145
  if param != keywords[name]:
@@ -120,6 +120,7 @@ import json
120
120
  import base64
121
121
  import itertools
122
122
  import zlib
123
+ import uuid
123
124
 
124
125
  from typing import Generator, Iterable, BinaryIO, Callable, Optional, List, Dict, ByteString, Any
125
126
  from typing import TYPE_CHECKING
@@ -175,6 +176,7 @@ class Chunk(bytearray):
175
176
  """
176
177
  temp: Any = None
177
178
  meta: LazyMetaOracle
179
+ uuid: uuid.UUID
178
180
 
179
181
  def __init__(
180
182
  self,
@@ -191,6 +193,8 @@ class Chunk(bytearray):
191
193
  else:
192
194
  bytearray.__init__(self, data)
193
195
 
196
+ self.uuid = uuid.uuid4()
197
+
194
198
  if path is None:
195
199
  path = []
196
200
  if view is None:
@@ -220,10 +224,6 @@ class Chunk(bytearray):
220
224
  return data
221
225
  return cls(data)
222
226
 
223
- @property
224
- def guid(self) -> int:
225
- return hash((id(self), *(id(v) for v in self.meta.values())))
226
-
227
227
  def set_next_scope(self, visible: bool) -> None:
228
228
  self._fill_scope = visible
229
229