# Package ghidra.app.util.bin

package ghidra.app.util.bin

- Related Packages
  Package
  Description
  ghidra.app.util
  ghidra.app.util.bin.format
- Class
  Description
  BinaryReader
  A class for reading data from a generic byte provider in either big-endian or little-endian.
  BinaryReader.InputStreamReaderFunction<T>
  Reads and returns an object from the current position in the specified input stream.
  BinaryReader.ReaderFunction<T>
  Reads and returns an object from the current position in the specified BinaryReader.
  ByteArrayConverter
  An interface to convert from a object to a byte array.
  ByteArrayProvider
  An implementation of `ByteProvider` where the underlying bytes are supplied by a byte array.
  ByteProvider
  An interface for a generic random-access byte provider.
  ByteProviderInputStream
  An `InputStream` that reads from a `ByteProvider`.
  ByteProviderInputStream.ClosingInputStream
  An `InputStream` that reads from a `ByteProvider`, and DOES `close()` the underlying ByteProvider when closed itself.
  ByteProviderPaddedInputStream
  Wraps a `ByteProvider` and presents it as an `InputStream`.
  ByteProviderWrapper
  A `ByteProvider` constrained to a sub-section of an existing `ByteProvider`.
  EmptyByteProvider
  A `ByteProvider` that has no contents.
  FaultTolerantInputStream
  An InputStream wrapper that suppresses any `IOException`s thrown by the wrapped stream and starts returning 0 value bytes for all subsequent reads.
  FileByteProvider
  A `ByteProvider` that reads its bytes from a file.
  FileBytesProvider
  `FileBytesProvider` provides a `ByteProvider` implementation for `FileBytes` object.
  GhidraRandomAccessFile
  Instances of this class support both reading and writing to a random access file.
  InputStreamByteProvider
  A `ByteProvider` implementation that wraps an `InputStream`, allowing data to be read, as long as there are no operations that request data from a previous offset.
  InvalidDataException
  An `IOException` that indicates that the data being transmitted was invalid or bad format.
  LEB128Info
  Class to hold result of reading a `LEB128` value, along with size and position metadata.
  MemBufferByteProvider
  `MemBufferByteProvider` provide a `ByteProvider` backed by a `MemBuffer`.
  MemoryByteProvider
  A `ByteProvider` implementation based on `Memory`.
  MemoryMutableByteProvider
  A Byte Provider implementation based on Memory.
  MutableByteProvider
  An interface for a generic random-access byte provider, plus mutation methods.
  ObfuscatedFileByteProvider
  A `ByteProvider` that reads from an on-disk file, but obfuscates / de-obfuscates the contents of the file when reading / writing.
  ObfuscatedInputStream
  An `InputStream` wrapper that de-obfuscates the bytes being read from the underlying stream.
  ObfuscatedOutputStream
  An `OutputStream` wrapper that obfuscates the bytes being written to the underlying stream.
  RandomAccessByteProvider
  Deprecated, for removal: This API element is subject to removal in a future version.
  See `FileByteProvider` as replacement ByteProvider.
  RandomAccessMutableByteProvider
  An implementation of ByteProvider where the underlying bytes are supplied by a random access file.
  RangeMappedByteProvider
  A `ByteProvider` that is a concatenation of sub-ranges of another ByteProvider, also allowing for non-initialized (sparse) regions.
  StructConverter
  Allows a class to create a structure datatype equivalent to its class members.
  StructConverterUtil
  SynchronizedByteProvider
  Creates a thread-safe pass-through `ByteProvider`.
  UnlimitedByteProviderWrapper
  A `ByteProvider` constrained to a sub-section of an existing `ByteProvider` although reads beyond the specified sub-section are permitted but will return zero byte values.