Package ghidra.program.util
Class DefinedStringIterator
java.lang.Object
ghidra.program.util.DefinedStringIterator
- All Implemented Interfaces:
DataIterator,Iterable<Data>,Iterator<Data>
Iterator that visits each defined string instance in the initialized memory of a Program
or in the footprint of a specified data element.
Strings that are nested inside of composites or arrays are visited, not just the parent/containing data element.
Not thread safe.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.program.model.listing.DataIterator
DataIterator.IteratorWrapper -
Field Summary
Fields inherited from interface ghidra.program.model.listing.DataIterator
EMPTY -
Method Summary
Modifier and TypeMethodDescriptionstatic DefinedStringIteratorforDataInstance(Data singleDataInstance) Creates a new iterator that traverses the address space of a single data item (ie.static DefinedStringIteratorforProgram(Program program) Creates a new iterator that traverses the entire Program's address space returning data instances that are strings.static DefinedStringIteratorforProgram(Program program, AddressSetView addrs) Creates a new iterator that traverses a portion of the Program's address space returning data instances that are strings.intbooleanhasNext()next()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.program.model.listing.DataIterator
iteratorMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface java.util.Iterator
forEachRemaining, remove
-
Method Details
-
forProgram
Creates a new iterator that traverses the entire Program's address space returning data instances that are strings.- Parameters:
program- GhidraProgramto search- Returns:
- new iterator
-
forProgram
Creates a new iterator that traverses a portion of the Program's address space returning data instances that are strings.- Parameters:
program- GhidraProgramto searchaddrs- addresses to limit the iteration to- Returns:
- new iterator
-
forDataInstance
Creates a new iterator that traverses the address space of a single data item (ie. a composite or array data instance that needs to be recursed into).- Parameters:
singleDataInstance- Data instance- Returns:
- new iterator
-
hasNext
public boolean hasNext()- Specified by:
hasNextin interfaceDataIterator- Specified by:
hasNextin interfaceIterator<Data>
-
next
- Specified by:
nextin interfaceDataIterator- Specified by:
nextin interfaceIterator<Data>
-
getDataCandidateCount
public int getDataCandidateCount()
-